kubernetes探针及应用场景

发布时间 2023-06-27 23:34:36作者: 逆风飞翔的博客

kubernetes 提供了哪几种探针?分别有什么功能?应用场景有哪些?

LivenessProbe:容器存活性检查,用于判断容器是否健康。

功能:
  如果 LivenessProbe 探针探测到容器不健康,则 kubelet 将删除该容器,并根据容器的重启策略做相应的处理。
如果一个容器不包含 LivenessProbe 探针,那么 kubelet 认为该容器的 LivenessProbe探针返回的值永远是 Success;
应用场景:
1.用于检测容器崩溃或假死等故障情况,以便 Kubernetes 能够及时重新启动容器并保证应用程序可靠性。
2.在容器内部启动初始化脚本。
3.等待其他进程启动完成之后再开始启动应用程序。

ReadinessProbe:容器就绪性检查,用于判断容器是否启动完成且准备接收请求。

功能:
  1.如果ReadinessProbe探针探测到失败,Endpoint Controller 将从 Service 的 Endpoint中删除包含该容器所在 Pod 的 IP 地址的Endpoint条目。
  2.如果容器不提供就绪态探针,则默认状态为 Success。
应用场景:
  用于防止容器服务未就绪,处理请求就到达容器上。

startupProbe:容器启动检查

探测容器中的应用是否已经启动。如果提供了启动探针,则所有其他探针都会被禁用,直到此探针成功为止。
功能:
  1.如果启动探测失败,kubelet 将杀死容器,而容器按照重启策略进行重启。
  2.如果容器没有提供启动探测,则默认状态为 Success。
应用场景:
  用于检测容器启动过程中的问题,例如加载配置文件、初始化数据库等操作是否成功完成。