k8s集群使用私有仓库通过containerd上传镜像(没解决...)
查阅资料 根据 containerd 中部分文档
https://github.com/containerd/containerd/blob/release/1.5/docs/cri/registry.md
https://github.com/containerd/containerd/blob/release/1.5/docs/hosts.md
https://blog.csdn.net/u010566813/article/details/125990298
最终私有仓库还是无法pull和push
配置 containerd
和 crictl
1. 配置 /etc/containerd/config.toml
/etc/containerd/certs.d
是路径而不是文件指向
确保在文件中配置 [plugins."io.containerd.grpc.v1.cri".registry]
部分,以使 crictl
可以正常使用。以下是配置的模板(证书路径保持为空):
2. 配置 crictl
确保 crictl
的配置文件 /etc/crictl.yaml
链接到 containerd
引擎:
runtime-endpoint: unix:///run/containerd/containerd.sock
3. 配置 ctr
crictl
和 ctr
的配置是分开的,修改 registry
部分对 ctr
无效。ctr
的配置文件位于 /etc/containerd/certs.d/hub.rainsc.com
,并且应包含 hosts.toml
文件。目录结构如下:
ca
可能没用
/etc/containerd/certs.d/hub.rainsc.com/
└── hosts.toml
hosts.toml
文件内容:
[host."hub.rainsc.com"]
capabilities = ["pull", "resolve", "push"]
skip_verify = true
这样配置可以确保 containerd
和 crictl
正常工作并能够与指定的私有镜像仓库 hub.rainsc.com
进行交互。