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

时间:2018-12-18 06:28:35

标签: kubernetes

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

我可以找到该文档,其中提到了如何添加自定义探针以及如何更改探针参数(例如初始延迟等)。但是找不到k8s使用的默认探针方法。

3 个答案:

答案 0 :(得分:0)

默认情况下,当容器内的所有容器启动时,Kubernetes开始将流量发送到容器,并在容器崩溃时重新启动容器。刚开始时可以是good enough,但是可以通过创建自定义运行状况检查来使部署更强大。

  

默认情况下,Kubernetes只检查Pod内的容器是否已启动并开始发送流量。默认情况下,kubernetes不提供准备情况或活动检查。

准备情况调查

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

活力探针

让我们想象一下另一种情况,您的应用程序遇到令人讨厌的死锁情况,导致其无限期挂起并停止提供请求。由于该进程继续运行,因此默认情况下,Kubernetes认为一切都很好,并继续将请求发送到损坏的Pod。通过使用活动性探针,Kubernetes可以检测到该应用不再服务于请求并重新启动有问题的Pod。

答案 1 :(得分:0)

TL / DR:没有默认的就绪探针(“我应该发送此Pod通信吗?”),默认的活动性探针(“我是否应该杀死此Pod?”)只是容器是否仍在运行。

答案 2 :(得分:0)

Kubernetes不会自己做任何事情。您将必须决定活力和准备就绪对您而言意味着什么。您可以执行多种操作,例如,HTTP get请求,发出命令或在端口上连接。我要由您决定要如何确保用户满意并一切正常运行。