如何让 Kubernetes 在 Nexus 和 Containerd 中默认使用私有存储库?

如何让 Kubernetes 在 Nexus 和 Containerd 中默认使用私有存储库?

K8S默认需要使用私有repo

我目前正在尝试默认为 Kubernetes 使用 Nexus Repo。但我遇到了两个问题。第一个问题是,如果我不指定存储库,它会直接在 docker.io 上搜索,尽管我已经指定了。另外,我的 K8S 使用的是 containerd。

/etc/containerd/config.toml

[plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"]
endpoint = ["http://192...:8082"]

此外,即使我使用存储库指定图像,似乎也会出现问题。这不是连接问题,因为我能够 ping 存储库。

描述 pod

Events:
│   Type     Reason     Age    From               Message      
│   ----     ------     ----   ----               -------
│   Normal   Pulling    2m17s  kubelet            Pulling image "repo.mm.mm:8082/nginx:latest"
│   Warning  Failed     2m17s  kubelet            Failed to pull image "repo.mm.mm:8082/nginx:latest": rpc error: code = Unknown desc = failed to pull and unpack image "repo.mm.mm:8082/nginx:latest": failed to resolve reference "repo.mm.mm:8082/nginx:latest": failed to do request: Head "https://repo.mm.mm:8082/v2/nginx/manifests/latest": dial tcp 192...:8082: connect: connection refused
│   Warning  Failed     2m17s  kubelet            Error: ErrImagePull
│   Normal   BackOff    2m17s  kubelet            Back-off pulling image "repo.mm.mm:8082/nginx:latest" 
│   Warning  Failed     2m17s  kubelet            Error: ImagePullBackOff  
│   Normal   Scheduled  2s     default-scheduler  Successfully assigned default/ng-test to worker1  

如果有人遇到过类似的问题或对解决这些问题有任何建议,我们将非常感谢您的帮助。提前谢谢您!

相关内容