在K8s集群中,当Pod处于运行状态时,kubelet通过使用探针(Probe)对容器的健康状态执行检查和诊断。Kubernetes支持的三种类型的探针。视频讲解如下:
下面分别进行介绍。
- livenessProbe(存活探针)
该类型的探针将检查Pod中的容器是否正在运行。如果检查失败,kubelet将杀死容器,并根据Pod的restartPolicy重启策略操作。如果容器不提供存活探针, 则默认状态为 Success。
- readinessProbe(就绪探针)
该类型的探针将检查Pod中的容器是否准备好为请求提供服务。如果就绪探针检查失败,Kubernetes会把Pod从Service endpoints中剔除,从而让外部无法进行访问。如果容器不提供就绪态探针,则默认状态为Success。
- startupProbe(启动探针)
该类型的探针将检查Pod的容器中部署的应用程序是否已经启动。如果启动探针检查失败,kubelet 将杀死对应的容器,并且根据重启策略进行容器的重启。如果容器没有提供启动探针,则默认状态为Success。需要注意的是:如果提供了启动探针,则其他类型的探针都会被禁用,直到启动探针成功执行为止。
不同类型的探针都支持三种方式检查方法,分别是:HTTPGetAction、ExecAction和TCPSocketAction。