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 使其可调整。
当我们的容器注册表和整个 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 使其可调整。