0%

K8S中镜像拉取卡住问题

问题描述

节点上已经存在某个镜像了,但是拉取镜像时卡住:Pulling image …

问题原因

kubelet的配置中,serializeImagePulls默认值true,被启用时会通知 kubelet 每次仅拉取一个镜像。
如果有一个镜像拉取时卡住,那么其他镜像拉取时会等待前一个镜像完成,因此也会卡住。

参考文档Kubelet 配置 (v1beta1)

解决办法一(推荐)

问题解决思路:找到拉取镜像卡住的pod,解决它

1
2
3
# kubectl get pod -A -owide | grep nodename
kubectl get pod -A -o wide --field-selector spec.nodeName=nodename
kubectl get pod -A --field-selector spec.nodeName=slave8 | egrep -v "Completed|Running"

解决办法二

问题解决思路:拉取镜像改成并行。

1、修改kubelet配置

1
vim /var/lib/kubelet/config.yaml

添加:

1
serializeImagePulls: false

2、重启kubelet

1
systemctl restart kubelet
  • 本文作者: 好好学习的郝
  • 本文链接: https://www.voidking.com/dev-k8s-image-pull-hang-up/
  • 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!源站会及时更新知识点及修正错误,阅读体验也更好。欢迎分享,欢迎收藏~