k8s学习笔记-探针
容器探针probe是kubelet对容器是否运行正常的一种诊断手段,kubelet既可以在容器内执行代码,也可以向服务发起一个请求。
探针类型
k8s提供三种类型的探针,分别是
livenessProbe
检查容器运行状态,如果容器发生错误,则kubelet会杀死容器。如果没有设置该探针,默认状态为success。
readinessProbe
就绪探针,顾名思义就是检查容器是否准备好提供服务了,如果诊断失败,端点控制器会将所有与之匹配的服务端点中删除该Pod的IP地址。如果没有设置该探针,默认状态为success。
startupProbe
这个探针我们比较常用,探测容器内的应用是否正常启动的。如果提供了启动探针,则其他所有探针都会被禁用,知道此探针成功为止。如果探测失败,kubelet也会杀死容器。如果没有设置该探针。默认状态为success。
那什么时候该用启动探针(startupProbe)呢?
对于pod中的容器需要花费较长时间才能启动,启动探针是需要的。
如果容器的启动时间超过了initialDelaySeconds + failureThreshold * periodSeconds的总值,那么就应该设置一个启动探针。并且应该将failureThreshold设置的足够高,为了有充足的时间让容器启动。