「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 许可协议。转载请注明来自 小下同学!
评论