【发布时间】:2020-10-06 19:04:55
【问题描述】:
我目前在尝试拉取通过 AWS ECR 托管的远程 docker 映像时遇到问题。运行部署时出现此错误
步骤 1)
运行
aws ecr get-login-password --region cn-north-1 | docker login --username AWS --password-stdin xxxxxxxxxx.dkr.ecr.cn-north-1.amazonaws.com.cn
步骤 2)
运行kubectl create -f backend.yaml
从这里开始:
➜ backend git:(kubernetes-fresh) ✗ kubectl get pods
NAME READY STATUS RESTARTS AGE
backend-89d75f7df-qwqdq 0/1 Pending 0 2s
➜ backend git:(kubernetes-fresh) ✗ kubectl get pods
NAME READY STATUS RESTARTS AGE
backend-89d75f7df-qwqdq 0/1 ContainerCreating 0 4s
➜ backend git:(kubernetes-fresh) ✗ kubectl get pods
NAME READY STATUS RESTARTS AGE
backend-89d75f7df-qwqdq 0/1 ErrImagePull 0 6s
➜ backend git:(kubernetes-fresh) ✗ kubectl get pods
NAME READY STATUS RESTARTS AGE
backend-89d75f7df-qwqdq 0/1 ImagePullBackOff 0 7s
然后我运行kubectl describe pod backend,它会输出:
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Scheduled 117s default-scheduler Successfully assigned default/backend-89d75f7df-qwqdq to minikube
Normal Pulling 32s (x4 over 114s) kubelet, minikube Pulling image "xxxxxxxxx.dkr.ecr.cn-north-1.amazonaws.com.cn/baopals:latest"
Warning Failed 31s (x4 over 114s) kubelet, minikube Failed to pull image "xxxxxxxxx.dkr.ecr.cn-north-1.amazonaws.com.cn/baopals:latest": rpc error: code = Unknown desc = Error response from daemon: Get https://xxxxxxxxx.dkr.ecr.cn-north-1.amazonaws.com.cn/v2/baopals/manifests/latest: no basic auth credentials
Warning Failed 31s (x4 over 114s) kubelet, minikube Error: ErrImagePull
Warning Failed 19s (x6 over 113s) kubelet, minikube Error: ImagePullBackOff
Normal BackOff 4s (x7 over 113s) kubelet, minikube Back-off pulling image "xxxxxxxxx.dkr.ecr.cn-north-1.amazonaws.com.cn/baopals:latest"
主要错误是no basic auth credentials
现在我感到困惑的是,我可以很好地将图像推送到我的 ECR,我也可以推送到我的远程 EKS 集群我觉得基本上我现在唯一不能做的就是从我托管的私有存储库中提取在 ECR 上。
这里有什么明显的东西让我无法从私人存储库中提取,以便我可以在本地机器上使用它们吗?
【问题讨论】:
-
您是否使用凭据创建了图像拉取机密?
-
@ArghyaSadhu 你能解释一下你的意思吗?
-
我认为这仅依赖于 docker 而不是 ECR,对吧?还是同样的事情
-
这适用于任何私有注册表
标签: amazon-web-services docker kubernetes