kubernetes默认活动性和就绪性探针

Hem*_*ang 7 kubernetes

我想知道kubernetes在默认情况下会检查Pod和容器的活动性和就绪状态。

我可以找到说明如何添加自定义探针和更改探针参数(如初始延迟等)的文档。但是找不到k8s使用的默认探针方法。

Pra*_*dha 8

默认情况下,Kubernetes 会在 Pod 内的所有容器启动时开始向 Pod 发送流量,并在容器崩溃时重新启动容器。虽然这可能是good enough您刚开始时的情况,但您可以通过创建自定义运行状况检查来使您的部署更加健壮。

默认情况下,Kubernetes 只会检查 pod 内的容器是否已启动并开始发送流量。默认情况下,kubernetes 不提供就绪或活跃度检查。

准备探针

假设您的应用程序需要一分钟来预热和启动。您的服务在启动并运行之前不会工作,即使该过程已经开始。如果您想将此部署扩展为具有多个副本,您也会遇到问题。新副本在完全准备好之前不应接收流量,但默认情况下,一旦容器内的进程启动,Kubernetes 就会开始向其发送流量。通过使用readiness probe,Kubernetes 会等待应用程序完全启动,然后才允许服务将流量发送到新副本。

活性探针

让我们想象另一种情况,您的应用程序出现了令人讨厌的死锁情况,导致它无限期挂起并停止服务请求。由于进程继续运行,默认情况下 Kubernetes 认为一切正常,并继续向损坏的 pod 发送请求。通过使用活性探针,Kubernetes 检测到应用程序不再提供请求并重新启动有问题的 pod。

  • 虽然解释什么是健康探测器很棒 - 它实际上并没有回答这个问题。 (5认同)

小智 6

TL/DR:没有默认的就绪探针(“我应该发送这个 pod 流量吗?”),默认的活跃度探针(“我应该杀死这个 pod 吗?”)只是容器是否仍在运行。