更新时间:2024-05-21 GMT+08:00
概述
健康检查用于检测您的应用实例是否正常工作,是用来保障业务正常运行的一种机制。CAE提供三种健康检查机制:存活探针、就绪探针和启动探针。
- 存活探针用于检测应用程序是否存活。如果检测实例异常,k8s将会删除当前运行的实例并重新检测,直到检测返回实例正常。
- 单独使用存活探针时,如出现网络波动或程序启动过慢的情况,会导致实例持续被重启,且实例一直处于未就绪的状态。
- 检查成功:对于在健康检查中设置的请求返回状态码200。
- 检查失败:对于在健康检查中设置的请求返回状态码非200,且连续失败次数达到设置的“最大失败次数”。
- 就绪探针用于检测应用是否完成启动,并准备好开始接受请求。如果检查到实例已经健康,则进行流量的切换。
例如:以组件的实例从2个伸缩到3个为例,说明设置就绪探针前后对比。
- 未设置就绪探针时,实例已创建完成,但由于程序原因,并未准备好开始接受流量,此时如图1所示,部分流量仍然会进入实例3中。
- 设置就绪探针后,就绪探针会进行检测,发现实例3并未启动完成或就绪,则使实例3不接收流量,保证所有流量都会流入健康的实例1和实例2中。
图2 就绪探针检测健康前,流量不放通
- 当就绪探针检查到实例3为健康时,则放通流量,停止本次检测。
图3 就绪探针健康后,放通流量
- 启动探针在运行时会禁用其他探测(就绪探针以及存活探针),如果启动探针检查失败,则实例会被重启。
父主题: 健康检查