要在使用 Containerd 的 Kubernetes 节点上配置 HTTP 镜像仓库(即没有使用 HTTPS 的镜像仓库),你需要修改 Containerd 的配置文件。以下是设置步骤:
-
找到 Containerd 配置文件:
- 通常,Containerd 的配置文件位于
/etc/containerd/config.toml
。如果不存在,可以通过containerd config default
命令生成默认配置。
- 通常,Containerd 的配置文件位于
-
编辑配置文件:
- 打开配置文件,找到
[plugins."io.containerd.grpc.v1.cri".registry.mirrors]
部分。如果没有此部分,可以添加。
- 打开配置文件,找到
-
添加 HTTP 仓库配置:
- 在
[plugins."io.containerd.grpc.v1.cri".registry.mirrors]
下,添加你的仓库地址,并指定http
作为传输协议。假设你的仓库地址是10.226.130.228:5000
,配置应该类似如下:
[plugins."io.containerd.grpc.v1.cri".registry.mirrors] [plugins."io.containerd.grpc.v1.cri".registry.mirrors."10.226.130.228:5000"] endpoint = ["http://10.226.130.228:5000"]
- 在
-
重启 Containerd 服务:
- 保存配置文件后,重启 Containerd 服务以应用更改:
sudo systemctl restart containerd
-
验证配置:
- 确保重启后没有错误,并测试能否成功拉取镜像。可以通过
crictl pull <image>
命令来测试。
- 确保重启后没有错误,并测试能否成功拉取镜像。可以通过
-
注意事项:
- 使用 HTTP 而不是 HTTPS 存在安全风险,特别是在生产环境中,建议使用 HTTPS 来保护数据传输。
- 确保防火墙和网络策略允许从 Kubernetes 节点访问该镜像仓库。
通过以上步骤,你应该能够配置 Containerd 使用 HTTP 协议从私有镜像仓库拉取镜像。