Kubernetes livenessProbe:重新启动与销毁 Pod

Nic*_*mar 5 kubernetes kubectl

如果活性探测失败,有没有办法告诉 Kubernetes 只销毁一个 pod 并创建一个新的 pod?我现在从日志中看到:我的 node js 应用程序刚刚重新启动并在同一个 pod 中运行。

活性探针在我的 YAML 规范中定义如下:

livenessProbe:
 httpGet:
 path: /app/check/status
 port: 3000
 httpHeaders:
 - name: Accept
   value: application/x-www-form-urlencoded
 initialDelaySeconds: 60
 periodSeconds: 60
Run Code Online (Sandbox Code Playgroud)

免责声明:

我完全意识到,如果活性证明失败,则重新创建一个 Pod 可能不是最好的主意,正确的方法是收到有关正在发生的事情的通知。

Ric*_*ico 6

因此,活性和就绪探针是在容器而不是 pod中定义的,因此如果您的 pod 中有 1 个容器并且指定restartPolicyNever. 然后你的 Pod 将进入一种Failed状态,并根据terminated-pod-gc-threshold值在某个时刻被废弃。

如果你的 pod 中有多个容器,那么它就会变得很棘手,因为你的其他容器正在运行,使得 pod 仍然处于Running状态。您可以构建自己的自动化或尝试Pod Readiness,在撰写本文时该功能仍处于 alpha 阶段。