探针是由每个Node上的kubelet定期执行的诊断
(这里复习下,每个Node上有一个kubelet和kube-proxy,kubelet用于管理pod等等组件
)
通过kubelet调用container实现的handler来执行诊断,有三种类型的handler:
- cmd.如果命令以0执行完毕视为成功
- tcp.端口打开视为成功
- httpget.响应>=200并且小于400视为成功
每个探针有3个可能的结果:
- success
- failure
- unknown:诊断失败,不做行动
可以选择性的执行三种类型的探针:
-
livenessProbe:反应容器是否在运行。如果探针失败,kubelet杀死容器,容器受restart policy影响。
(复习下restart policy。restartpolicy在podspec中,有always/onfailure/never,默认值是always。三种控制器job/replicationControll