azure - Kubernetes - 在任何容器停止后删除 pod

我正在部署一个将 restartPolicy 设置为 Never 的 pod,如果容器死亡,我希望它会删除该 pod。唯一发生的事情是 pod 进入 NotReady 状态(因为有一个侧面的小容器仍在运行),但即使我杀死了那个容器,它也会进入错误状态但会停留很长时间......如何如果容器崩溃,我可以强制 kube 删除 pod 吗?

回答1

感谢您https://stackoverflow.com/users/6309601/p 的建议,添加更多点并将其发布为帮助其他社区成员的解决方案。

默认情况下,它不会删除崩溃 pod(容器失败)。您必须手动删除它。或者您可以有一个 cronjob 来负责在您的命名空间/集群中每 X 分钟进行一次清理。

您可以使用下面的 kubectl 命令删除特定命名空间的失败/崩溃 pod。

kubectl --namespace=production get pods -a | grep Evicted | awk '{print $1}' | xargs kubectl --namespace=production delete pod -o name

或尽管删除,您仍可以使用 https://kubernetes.io/docs/concepts/workloads/controllers/replicationcontroller/。如果使用 RC 创建的 Pod 在崩溃、失败或终止时将被自动替换。

如果您只想确保 pod 始终在系统重新启动后运行,建议使用 RC。

相似文章