容器创建时无法拉取镜像报错,本地下载了对应镜像但依然报错(环境原因不能科学上网)

来源:8-2 cicd实践(1)

weixin_慕圣2119594

2022-03-23

我是用jenkins自动部署 在昨天jenkins自动部署时出现了问题。pod在重新生成时报错无法拉取k8s.gcr.io/pause:3.3镜像。
Failed to create pod sandbox: rpc error: code = Unknown desc = failed to get sandbox image “k8s.gcr.io/pause:3.3”: failed to pull image “k8s.gcr.io/pause:3.3”: failed to pull and unpack image “k8s.gcr.io/pause:3.3”: failed to resolve reference “k8s.gcr.io/pause:3.3”: failed to do request: Head “https://k8s.gcr.io/v2/pause/manifests/3.3”: dial tcp 108.177.125.82:443: i/o timeout
图片描述
在不考虑科学上网的情况下,我在国内的源下载了这个镜像。
因为当时使用的是 k8s+containerd 所以我认为这个镜像应该用 containerd拉取,并且修改了对应的tag

图片描述
但是重启pod 依然报这个错。尝试了很多次不知道问题出在哪里?
因为环境特殊不可能一直科学上网,所以求解是什么原因导致的 容器不在本地拉取镜像而是先去外网拉取?很着急。求老师给看一下

写回答

1回答

刘果国

2022-03-24

1、确认kubelet是否使用的是containerd

2、用crictl客户端测试镜像是否存在

0
1
weixin_慕圣2119594
镜像存在,使用的也是containerd。但是还是会去外网拉去。 我现在的解决办法是 在containerd的config文件中将“k8s.gcr.io/pause:3.3”替换成了 registry.cn-hangzhou.aliyuncs.com/google_containers 暂时解决了这个问题。 但是仍然无法解释 为什么本地有对应的镜像 依然会去外网拉取? 本地镜像我已经在提问中贴图出来了
2022-03-24
共1条回复

Kubernetes生产落地全程实践

一个互联网公司落地Kubernetes全过程点点滴滴

2293 学习 · 2216 问题

查看课程