两者作用不一样,
存活探针是将检查失败的容器杀死,创建新的启动容器来保持pod正常工作;
就绪探针是,当就绪探针检查失败,并不重启容器,而是将pod移出endpoint,就绪探针确保了service中的pod都是可用的,确保客户端只与正常的pod交互并且客户端永远不会知道系统存在问题。
在Kubernetes中,就绪探针(Readiness Probe)和存活探针(Liveness Probe)是用于监测容器的健康状态的两种探针机制。它们的区别在于它们监测的方面和对容器的影响:
就绪探针(Readiness Probe):
- 就绪探针用于检查容器是否已准备好接收流量,以确定容器是否能够正常处理请求。
- 当就绪探针返回成功的状态码时,Kubernetes认为容器已准备好,并将其加入到负载均衡器中,开始将流量转发给该容器。
- 如果就绪探针失败或未定义,则Kubernetes会认为容器尚未准备好,不会将流量转发给该容器。
- 就绪探针主要用于确保容器在启动后能够正常运行,并在接收流量之前进行必要的初始化操作,以避免将流量发送到未完全启动的容器上。
存活探针(Liveness Probe):
- 存活探针用于检查容器是否仍然存活和正常运行。它定期检测容器的状态,如果探测失败,则Kubernetes会认为容器不健康,并尝试重新启动该容器。
- 存活探针的目的是确保容器在运行时保持活动状态,如果容器发生故障或进入无响应状态,Kubernetes会尝试通过重新启动容器来恢复应用程序的可用性。
- 存活探针可以根据应用程序的特定需求进行配置,例如通过发送HTTP请求、执行命令或检查容器的文件系统来判断容器是否存活。
综上所述,就绪探针用于确定容器是否准备好接收流量,而存活探针用于检测容器是否存活和正常运行。这两种探针机制在Kubernetes中用于监测容器的健康状态,并根据情况进行负载均衡和故障恢复。