「Kubernetes 拾遗」之 Probe(探针)
Kubernetes 中的健康检查是使用存活性探针
和就绪性探针
来实现的,基于这两种探测机制,实现了 k8s 的自愈能力。可以做到:
- 异常节点(pod)自动剔除,并重建
- 安全的滚动升级策略
存活性探针
livenessProbe
用于判断当前容器是否存活(running)状态
,如果livenessProbe
探测到容器不健康,则kubectl
会杀掉该容器,并根据容器的重启策略做相应重启操作。
如果一个容器不包含
livenessProbe
,那么kubectl
会始终认为该容器的存活性探针返回的永远是success
状态。
就绪性探针
readinessProbe
用于判断当前容器是否完成启动(read状态)
,如果readinessProbe
探测到容器不健康,则判定该容器不可接收流量,Endpoint Controller
将从该服务对应的Service
的endpoints
中移除该容器的endpoint
。
探测方式
- HTTP
- TCP
- Exec 命令
实际在生产环境使用
livenessProbe
1 | livenessProbe: |
readinessProbe
1 | readinessProbe: |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 小下同学!
评论