如果活性探测失败,有没有办法告诉 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
免责声明:
我完全意识到,如果活性证明失败,则重新创建一个 Pod 可能不是最好的主意,正确的方法是收到有关正在发生的事情的通知。
最佳答案
所以活性和就绪探针在 containers not pods 中定义因此,如果您的 pod 中有 1 个容器并且您指定 restartPolicy
至 Never
.然后你的 pod 将进入 Failed
状态并将在某个时候根据 terminated-pod-gc-threshold
报废值(value)。
如果您的 pod 中有多个容器,它会变得更加棘手,因为您的其他容器正在运行,使 pod 仍在 Running
中。地位。您可以构建自己的自动化或尝试 Pod Readiness在撰写本文时仍处于 alpha 阶段。
关于Kubernetes livenessProbe : restarting vs destroying of the pod,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52315805/