本文将指导您完成容器健康检查(探针)的配置操作,核心涵盖「启动探针」「存活探针」「就绪探针」三类规则,通过定时检测容器健康状态,避免出现“Pod状态正常但业务异常”的情况,保障应用稳定性。操作以无状态应用为例,其他类型负载流程可参考。

一、前提条件

  • 已获取MCE容器引擎系统登录权限,且具备目标应用所在命名空间的编辑权限;
  • 明确应用的健康检查需求,提前规划探针类型、检查方式及参数;
  • 若应用处于运行状态,修改健康检查配置后会触发容器重启,建议在业务低峰期操作。

二、进入健康检查配置页面

  • 登录系统后,在系统主界面选择【MCE容器引擎】模块,点击进入;
  • 在左侧导航菜单中依次点击【容器云服务】→对应应用类型(如无状态应用),进入应用列表页;
  • 找到目标应用,点击名称进入详情页;
  • 在详情页选项卡区域,点击【更新长升】选项中更多设置,定位到【健康检查】配置项,进入配置界面(界面参考如下):

三、核心探针类型说明

健康检查包含三类探针,作用及适用场景如下:

  • 启动探针:验证容器是否启动完成。适用于启动耗时较长的应用,启动探针成功前,存活/就绪探针不会执行,避免容器未启动完成时被误判为异常;
  • 存活探针(对应“工作负载存活探针”):验证容器是否正常运行。若检查失败,集群会重启容器;成功则无操作;
  • 就绪探针(对应“工作负载业务探针”):验证容器是否可接收请求。若检查失败,集群会屏蔽该容器的请求;成功则开放访问,适用于启动后需加载资源的应用。

四、检查方式及配置步骤

支持HTTP请求、TCP端口、执行命令、gRPC(Kubernetes 1.24+支持)四种检查方式,各探针类型均可选择对应方式配置:

(一)HTTP请求检查

适用于提供HTTP/HTTPS服务的容器,通过GET请求返回码(200~399为成功)判断状态。

配置步骤(以存活探针为例):

  • 在目标探针模块中,选择“HTTP请求检查”;
  • 填写参数:
    • 协议:选择HTTP/HTTPS;
    • 端口:填写容器监听的服务端口(如80);
    • 路径:填写健康检查接口路径(如/health-check);
    • 主机(可选):默认使用容器IP,无需填写;
    • 请求头(可选):添加自定义请求头(如Token)。
  • 设置检查周期:
    • 初始延迟:容器启动后延迟多久开始检查(如30秒,适配启动耗时);
    • 检查周期:每隔多久检查一次(如10秒);
    • 超时时间:单次检查的超时阈值(如5秒);
    • 失败阈值:连续失败多少次判定为异常(如3次)。
  • 点击【确认】暂存配置。

(二)TCP端口检查

适用于提供TCP服务的容器,通过建立TCP连接是否成功判断状态。

配置步骤:

  • 在目标探针模块中,选择“TCP端口检查”;
  • 填写“端口”:容器监听的服务端口(如80);
  • 设置检查周期参数(同HTTP请求检查);
  • 点击【确认】暂存配置。

(三)执行命令检查

通用检查方式,通过容器内执行命令的返回码(0为成功)判断状态,可替代HTTP/TCP检查。

配置步骤:

  • 在目标探针模块中,选择“执行命令检查”;
  • 填写“命令”:容器内可执行的健康检查命令(如wget -qO- http://127.0.0.1:80/health-check);
  • 确保命令在容器内存在且具备执行权限;
  • 设置检查周期参数;
  • 点击【确认】暂存配置。

(四)gRPC检查(Kubernetes 1.24+支持)

适用于提供gRPC服务的容器,通过调用gRPC健康检查接口判断状态(需应用实现gRPC健康检查协议)。

**目前暂时不支持界面操作(可通过YAML编辑的方式进行操作**

配置步骤:

  • 在目标探针模块中,选择“gRPC检查”(仅Kubernetes 1.24及以上版本显示该选项);
  • 填写参数:
    • 端口:gRPC服务监听的端口;
    • 服务名称(可选):指定要检查的gRPC服务名称(默认检查整个应用)。
  • 设置检查周期参数;
  • 点击【确认】暂存配置。

五、示例配置方案(适配60秒启动时间项目)

针对启动时间为60秒的项目,推荐采用“启动探针+存活探针+就绪探针”组合配置,避免启动阶段误判,保障业务稳定,具体配置如下:

(一)启动探针配置(适配60秒启动耗时)

作用:确保容器启动完成(60秒内)后,再执行存活/就绪探针检查,避免未启动完成被误重启。

  • 检查方式:HTTP请求检查(假设项目为HTTP服务,端口8080,健康检查路径/start-check);
  • 参数配置:
  • 协议:HTTP;
  • 端口:8080;
  • 路径:/start-check;
  • 初始延迟:80秒(启动后立即开始检查,适配启动过程监控);
  • 检查周期:10秒(每10秒检查一次启动状态);
  • 超时时间:5秒;
  • 失败阈值:10次(允许最多失败10次,总容错时间10×10=100秒,覆盖60秒启动耗时+预留缓冲)。

(二)存活探针配置(监控运行状态)

作用:启动完成后,持续监控容器是否正常运行,异常则重启。

  • 检查方式:HTTP请求检查(复用业务健康检查接口);
  • 参数配置:
  • 协议:HTTP;
  • 端口:8080;
  • 路径:/health/live(业务存活检查接口);
  • 初始延迟:80秒(因启动探针成功后才执行,无需额外延迟);
  • 检查周期:15秒(降低检查频率,减少资源占用);
  • 超时时间:5秒;
  • 失败阈值:3次(连续3次失败判定异常,总容错时间45秒,避免偶发波动误重启)。

(三)就绪探针配置(确认业务可服务)

作用:确保容器启动完成且业务就绪后,才开放请求访问。

  • 检查方式:HTTP请求检查;
  • 参数配置:
  • 协议:HTTP;
  • 端口:8080;
  • 路径:/health/ready(业务就绪检查接口,需确保启动完成后返回200~399);
  • 初始延迟:80秒(启动探针成功后执行);
  • 检查周期:10秒;
  • 超时时间:5秒;
  • 失败阈值:3次;
  • 成功阈值:1次(只要1次检查成功,即判定为就绪,开放请求)。

说明:若项目为TCP服务或gRPC服务,可将检查方式替换为对应类型,仅调整“检查方式”及关联参数(如TCP端口、gRPC服务名),周期、延迟等时间参数保持不变即可。

六、完成配置提交

  • 核对所有探针的类型、检查方式及参数,确保配置符合应用需求;
  • 点击页面底部的【提交】按钮,提交健康检查配置;
  • 系统校验配置合法性,若通过则触发容器重启加载配置;若失败(如端口不存在),修正后重新提交;
  • 提交完成后,查看应用状态,可通过容器事件日志验证探针执行结果。

七、注意事项

  • 启动探针的“初始延迟”需适配应用实际启动耗时,避免过早检查导致误判;
  • 存活探针的“失败阈值”不宜设置过低,避免偶发网络波动导致容器频繁重启;
  • 就绪探针失败时,容器不会重启但会被屏蔽请求,需确保检查逻辑能准确反映业务就绪状态;
  • gRPC检查需应用提前实现gRPC健康检查协议,且集群Kubernetes版本需≥1.24;
  • 若健康检查配置错误导致容器反复重启,可临时关闭探针或修正配置后重新提交。
作者:吴升斌  创建时间:2026-01-05 16:30
最后编辑:吴升斌  更新时间:2026-01-30 18:08