kubernetes探针及应用场景
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。
应用场景:
用于检测容器启动过程中的问题,例如加载配置文件、初始化数据库等操作是否成功完成。