首页 > 解决方案 > 如何避免 K8s 在启动时杀死 pod

问题描述

我有一个后端 pod 在启动时运行一个相当迁移脚本(1 分钟或更长时间)。如何避免 K8s 认为 Pod 启动失败并尝试重新启动它?

标签: kubernetes

解决方案


我假设您在 Pod 上设置了活性探针。这就是 k8s 在决定是否需要重新启动 pod 时所关注的内容。您可以通过将initialDelaySeconds脚本上的属性设置为超出迁移脚本需要运行的时间长度来解决此问题。 https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/

另一种方法是为运行迁移脚本的 Pod 使用 initContainer。这就是 init 容器的用途。 https://kubernetes.io/docs/concepts/workloads/pods/init-containers/


推荐阅读