关于容器管理工具docker crictl ctr(附代理配置)
docker 基于containerd,但是镜像独立管理 k8s已废弃对docker容器的使用,不过可以手动指定docker作为基础容器,这时docker的本地镜像k8s可以直接使用 crictl k8s的容器运行时管理工具,如果k8s基于containerd镜像由ctr管理,namespace=k8s.io 可以直接使用crictl拉取镜像供k8s使用 crictl pull imagexxxxxx ctr containerd的管理工具 通常K8s使用containerd作为基础容器,相关容器与镜像都在namespace k8s.io中 使用ctr拉取k8s所需镜像 ctr -n k8s.io i pull imagexxxxx 如果k8s在设置了镜像代理也拉取不了镜像时可以设置会话http代理,然后执行上面的命令手动拉取到本地给k8s使用。
Docker
vi /etc/docker/daemon.json
{
"registry-mirrors": [
"https://dhub.kubesre.xyz",
"https://docker.1panel.live",
"https://docker.nju.edu.cn",
"https://registry.aliyuncs.com"
]
}
#重启
sudo service docker restart
Docker允许http访问创建
自建仓库有时只能http请求
1./etc/docker/daemon.json添加insecure-registries
echo '{ "insecure-registries":["registry.dev.scntsc.com:80"] }' > /etc/docker/daemon.json
systemctl daemon-reload
systemctl restart kubelet
ps:deamon.json存在则加入 insecure-registries
操作仓库时也必需指定80端口,否则可能又请求443去了
Containerd
# 指定config_path vi /etc/containerd/config.toml config_path = "/etc/containerd/certs.d" # 重启容器 sudo systemctl restart containerd # 创建docker.io代理 mkdir -p /etc/containerd/certs.d/docker.io cat > /etc/containerd/certs.d/docker.io/hosts.toml << EOF server = "https://docker.io" [host."https://dhub.kubesre.xyz"] capabilities = ["pull", "resolve"] [host."https://docker.1panel.live"] capabilities = ["pull", "resolve"] [host."https://docker.nju.edu.cn"] capabilities = ["pull", "resolve"] [host."https://registry.aliyuncs.com"] capabilities = ["pull", "resolve"] EOF # docker.elastic.co,registry.k8s.io同理 注意:对于nerdctl命令来说,会自动使用/etc/containerd/certs.d目录下的配置镜像加速,但是对于ctr命令,需要指定--hosts-dir=/etc/containerd/certs.d。举个栗子:ctr i pull --hosts-dir=/etc/containerd/certs.d registry.k8s.io/sig-storage/csi-provisioner:v3.5.0,如果要确定此命令是否真的使用了镜像加速,可以增加--debug=true参数,譬如: ctr --debug=true i pull --hosts-dir=/etc/containerd/certs.d registry.k8s.io/sig-storage/csi-provisioner:v3.5.0 ps:其实不是很好用,ctr要指定hosts-dir,k8s以containerd为容器时也无法生效,不如:K8s容器镜像代理,不过kube-systemt等一些基础pod还是需要ctr手动拉,不然”k8s容器代理“也无法正常运行 参考来源:https://blog.csdn.net/IOT_AI/article/details/131975562