1、存活探测
liveness probe(存活探测器):用来探测服务是否存活。如果存活,则正常运行;如果已经死了活着运行状态不正常,即存活检测失败,k8s就会杀死该服务后重启服务,直到正常运行为止。如果容器不提供存活探针,则默认状态为Success如果容器不提供存活探针,则默认状态为Success。
2、就绪探测
readiness probe(就绪探测器):用来探测容器内的服务是否全部准备好服务请求,即服务(应用)是否准备好接受访问。如果就绪检测通过,说明服务准备就绪,可以接收流量;如果就绪检测失败,说明服务没有就绪,不具备提供服务流量的能力,同时,会自动从Service的 EndPoint 列表中去除该pod的 IP:Port,停止接收流量,直到检测通过。如果容器不提供就绪探针,则默认状态为Success。
3、启动探测
startup probe(启动探测器):kubelet 使用启动探测器可以知道应用程序容器什么时候启动了。 如果配置了启动探测器,就可以控制容器在启动成功后再进行存活性和就绪检查,确保这些存活、就绪探测器不会影响应用程序的启动。这可以用于对慢启动容器进行存活性检测,避免它们在启动运行之前就被杀掉。
4、探针方式
- ExecAction:在容器中执行指定的命令,如果执行成功,退出码为 0 则探测成功。
- HTTPGetAction:通过容器的IP地址、端口号及路径调用 HTTP Get方法,如果响应的状态码大于等于200且小于400,则认为容器 健康。
- TCPSocketAction:通过容器的 IP 地址和端口号执行 TCP 检 查,如果能够建立 TCP 连接,则表明容器健康。