我使用containerd而不是Docker来设置KubernetesV1.20.1。现在,我无法从我的私有注册表(港口)中拉取Docker镜像。
我已经像这样修改了/etc/containerd/config.toml:
[plugins."io.containerd.grpc.v1.cri".registry]
[plugins."io.containerd.grpc.v1.cri".registry.mirrors]
[plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"]
endpoint = ["https://registry-1.docker.io"]
[plugins."io.containerd.grpc.v1.cri".registry.mirrors."registry.foo.com"]
endpoint = ["https://registry.foo.com"]
[plugins."io.containerd.grpc.v1.cri".registry.configs]
[plugins."io.containerd.grpc.v1.cri".registry.configs."registry.foo.com"]
[plugins."io.containerd.grpc.v1.cri".registry.configs."registry.foo.com".auth]
username = "admin"
password = "Harbor12345"但这并不管用。拉取失败,并显示以下消息:
Failed to pull image "registry.foo.com/library/myimage:latest": rpc error: code = Unknown
desc = failed to pull and unpack image "registry.foo.com/library/myimage:latest": failed to
resolve reference "registry.foo.com/library/myimage:latest": unexpected status code
[manifests latest]: 401 Unauthorized我的港口注册表可以通过HTTPS使用“让我们加密”证书来访问。所以https不应该是这里的问题。
即使我尝试创建一个docker-secret,这也不起作用:
kubectl create secret docker-registry registry.foo.com --docker-server=https://registry.foo.com --docker-username=admin --docker-password=Harbor12345 --docker-email=info@foo.com有没有人能给我举个例子,如何在Kubernetes中用containerd配置私有注册表?
发布于 2021-01-05 18:41:27
在pod/deployment规范中设置imagePullSecrets:
apiVersion: v1
kind: Pod
metadata:
name: private-reg
spec:
containers:
- name: private-reg-container
image: <your-private-image>
imagePullSecrets:
- name: registry.foo.com更多信息:https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
https://stackoverflow.com/questions/65576292
复制相似问题