首页 > 解决方案 > aws Ec2 容器注册表(使用 kubernetes 部署时,由于身份验证凭据而无法提取映像)

问题描述

有什么我想念的吗?

以下是 POD 的说明。

Events:
  Type     Reason                 Age              From                                    Message
  ----     ------                 ----             ----                                    -------
  Normal   Scheduled              4m               default-scheduler                       Successfully assigned red to ip-192-31-94-118.ec2.internal
  Normal   SuccessfulMountVolume  4m               kubelet, ip-192-31-94-118.ec2.internal  MountVolume.SetUp succeeded for volume "default-token-fv9mk"
  Normal   SandboxChanged         4m               kubelet, ip-192-31-94-118.ec2.internal  Pod sandbox changed, it will be killed and re-created.
  Normal   Pulling                3m (x3 over 4m)  kubelet, ip-192-31-94-118.ec2.internal  pulling image "ACCOUNT_ID.dkr.ecr.us-east-1.amazonaws.com/testapp:latest"
  Warning  Failed                 3m (x3 over 4m)  kubelet, ip-192-31-94-118.ec2.internal  Failed to pull image "ACCOUNT_ID.dkr.ecr.us-east-1.amazonaws.com/testapp:latest": rpc error: code = Unknown desc = Error response from daemon: Get https://ACCOUNT_ID.dkr.ecr.us-east-1.amazonaws.com/v2/testapp/manifests/latest: no basic auth credentials
  Warning  Failed                 3m (x3 over 4m)  kubelet, ip-192-31-94-118.ec2.internal  Error: ErrImagePull
  Normal   BackOff                2m (x7 over 4m)  kubelet, ip-192-31-94-118.ec2.internal  Back-off pulling image "ACCOUNT_ID.dkr.ecr.us-east-1.amazonaws.com/testapp:latest"
  Warning  Failed                 2m (x7 over 4m)  kubelet, ip-192-31-94-118.ec2.internal  Error: ImagePullBackOff

标签: amazon-web-servicesdockerkubernetesaws-ecr

解决方案


当您在 AWS 上使用 ECR 配置 Kubernetes 时,您可能会在两个地方绊倒:

IAM 角色:

确保为所有Kubernetes 节点添加权限以从 ECR 中提取图像。

云提供商:确保您的 kubelet 使用--cloud-provider=aws参数运行。

在您的情况下,您确定一切运行正常,因此您错过了某些 Kubernetes 节点上的 IAM 权限。


推荐阅读