工作负载的健康检查
工作负载的健康检查
创建工作负载时,支持设置容器的健康检查。
健康检查类别
存活检查:使用存活探测器来控制是否重启pod。检测容器是否正在运行,如果存活探测失败,则kubelet会重启容器;
就绪检查:使用就绪探测器可以知道容器何时准备好接受请求流量,当一个 Pod 内的所有容器都就绪时,才能认为该 Pod 就绪。 如果就绪探测失败,端点控制器将从与Pod匹配的所有Service的端点中删除该Pod的IP地址;
启动探测: 使用启动探针来了解应用容器何时启动。 如果配置了这类探针,你就可以控制容器在启动成功后再进行存活性和就绪态检查, 确保这些存活、就绪探针不会影响应用的启动。
健康检查方式
命令行:在容器内执行指定命令。如果命令退出时返回码为 0 则认为诊断成功;
TCP:对容器的指定端口尝试建立TCP链接。 如果能建立连接,证明探测成功;
HTTP:对指定的端口和路径发送HTTP Get请求,如果响应的状态码大于等于200 且小于 400,则诊断被认为是成功的。
通用参数配置
延迟探测时间(秒):容器启动后第一次执行探测时需要等待多少秒,默认为5秒;
执行探测频率(秒):指执行探测的时间间隔,默认为10秒,最小为1秒;
超时时间(秒):探测超时时间。默认1秒,最小1秒;
健康阈值:探测失败后,最少连续探测成功多少次才被认定为成功。默认是1,最小值是1。对于存活检查和就绪检查必须是1;
不健康阈值:探测成功后,最少连续探测失败多少次才被认定为失败。默认是3,最小值是1。