我使用 containerd 在我的 K8S 中启动 docker 映像。我无法在我的环境中放置代理,并且在节点 vm 上无法访问互联网。
我已经安装了一个 JCR,以便能够获取 docker 映像并将其作为镜像提供。这个 JCR 可以上网。
当我查看 K8S 内部时,我总是看到它无法提取沙盒图像“k8s.gcr.io/pause:3.1”,它总是会出现 i/o 超时
我在我的 Jcr 里面放了几个 docker repot 存储库
docker -remote https://registry-1.docker.io/ k8s.gcr.io https://k8s.gcr.io/
和一个名为 docker 的虚拟
我把我的 containerd.toml
...
[plugins.cri.registry]
[plugins.cri.registry.mirrors]
[plugins.cri.registry.mirrors."*"]
endpoint = ["https://docker.jcr.mydomain"]
[plugins.cri.registry.mirrors."docker.io"]
endpoint = ["https://docker.jcr.mydomain"]
[plugins.cri.registry.mirrors."k8s.gcr.io"]
endpoint = ["https://docker.jcr.mydomain"]
然后它能够拉出图像,但我真的不明白为什么它不能用“ ”通配符拉出这个图像。我无法为所有需要找到解决方案以使“ ”工作的 docker 注册表执行此操作。
quay.io 出现了另一个 pb 对于 docker registy quay.io 我从来没有设法镜像它即使我把
...
[plugins.cri.registry]
[plugins.cri.registry.mirrors]
[plugins.cri.registry.mirrors."*"]
endpoint = ["https://docker.jcr.mydomain"]
[plugins.cri.registry.mirrors."docker.io"]
endpoint = ["https://docker.jcr.mydomain"]
[plugins.cri.registry.mirrors."quai.io"]
endpoint = ["https://docker.jcr.mydomain"]
对于这张图片quay.io/coreos/flannel:v0.11.0-amd64
,结果如下:
Pulling image "quay.io/coreos/flannel:v0.11.0-amd64"
Warning Failed 13s (x3 over 54s) kubelet, 121a9964-9914-4548-b576-69d6ac1f88d8.k8s Failed to pull image "quay.io/coreos/flannel:v0.11.0-amd64": rpc error: code = Unknown desc = failed to pull and unpack image "quay.io/coreos/flannel:v0.11.0-amd64": failed to resolve reference "quay.io/coreos/flannel:v0.11.0-amd64": unexpected status code [manifests v0.11.0-amd64]: 403 Forbidden
Warning Failed 13s (x3 over 54s) kubelet, 121a9964-9914-4548-b576-69d6ac1f88d8.k8s Error: ErrImagePull
Normal BackOff 1s (x3 over 54s) kubelet, 121a9964-9914-4548-b576-69d6ac1f88d8.k8s Back-off pulling image "quay.io/coreos/flannel:v0.11.0-amd64"
Warning Failed 1s (x3 over 54s) kubelet, 121a9964-9914-4548-b576-69d6ac1f88d8.k8s Error: ImagePullBackOff