在给予containerd下的k8s环境,在拉取私有镜像时,总是会请求https,因为是私有网络,所以也没有使用https,不管harbor的443端口开还是不开,都是请求超时的异常,这个在以前是没有的,就是在最近要部署新的环境,我以为是我的k8s的密钥设置的不对呢,但是在宿主机上拉取镜像也是一样的问题,初步怀疑是containerd的问题。在网上看了一下,原来是contaninerd的配置问题。
vim /etc/containerd/config.toml ..................................... [plugins."io.containerd.grpc.v1.cri".registry] config_path = "" [plugins."io.containerd.grpc.v1.cri".registry.auths] [plugins."io.containerd.grpc.v1.cri".registry.configs] [plugins."io.containerd.grpc.v1.cri".registry.headers] [plugins."io.containerd.grpc.v1.cri".registry.mirrors] [plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"] endpoint = ["https://bqr1dr1n.mirror.aliyuncs.com"] [plugins."io.containerd.grpc.v1.cri".registry.mirrors."k8s.gcr.io"] endpoint = ["https://registry.aliyuncs.com/k8sxio"] .................................
这个是自动生成的containerd config default > /etc/containerd/config.toml
生成的,之所以拉取镜像使用的https,是因为containerd的配置指定的。如果是拉取的私有镜像经过认证,需要登录一下,如果是公开镜像直接拉取即可。之所以没有拉取成功是因为在containerd配置的没有私有镜像源。
vim /etc/containerd/config.toml ..................................... [plugins."io.containerd.grpc.v1.cri".registry] config_path = "" [plugins."io.containerd.grpc.v1.cri".registry.auths] [plugins."io.containerd.grpc.v1.cri".registry.configs] [plugins."io.containerd.grpc.v1.cri".registry.configs."10.32.128.214".tls] insecure_skip_verify = true [plugins."io.containerd.grpc.v1.cri".registry.configs."10.32.128.214".auth] username = "admin" password = "Harbor12345" [plugins."io.containerd.grpc.v1.cri".registry.headers] [plugins."io.containerd.grpc.v1.cri".registry.mirrors] [plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"] endpoint = ["https://bqr1dr1n.mirror.aliyuncs.com"] [plugins."io.containerd.grpc.v1.cri".registry.mirrors."k8s.gcr.io"] endpoint = ["https://registry.aliyuncs.com/k8sxio"] [plugins."io.containerd.grpc.v1.cri".registry.mirrors."10.32.128.214"] endpoint = ["http://10.32.128.214"]
您可以选择一种方式赞助本站
支付宝扫一扫赞助
微信钱包扫描赞助
赏