Controlling pod recovery from "Error: ImagePullBackOff" when Contrainer Registry is also inaccessible

Controlling pod recovery from "Error: ImagePullBackOff" when Contrainer Registry is also inaccessible

当我们的容器注册表和整个 K8S 集群都断电时,我们发生了一次重大中断。当集群恢复速度快于容器注册表时,我的 pod(statefulset 的一部分)卡在 Error: ImagePullBackOff.

是否有配置设置可以定期重试从 CR 下载图像或在没有人工干预的情况下恢复?

我查看了 imagePullPolicy,但这不适用于 CR 不可用的情况。

ImagePullBackOff 状态中的 BackOff 部分意味着 Kubernetes 一直在尝试从注册表中拉取镜像,延迟呈指数级 back-off(10 秒、20 秒、40 秒…… ).每次尝试之间的延迟都会增加,直到达到 compiled-in 300 秒(5 分钟)的限制 - Kubernetes docs 中有更多内容。

backOffPeriod 图像拉取参数是 Kuberenets 中的一个 hard-coded 常量,不幸的是现在不可调整,因为它会影响节点性能 - 否则,它可以在非常 code 用于您的自定义 kubelet 二进制文件。 仍在进行中 issue 使其可调整。