aws Реестр контейнера Ec2 (при развертывании с использованием kubernetes образ не может быть извлечен из-за аутентификационных данных) - PullRequest
0 голосов
/ 09 мая 2018
  • Я создал свой кластер, используя kubeadm init, и даже предоставил файл конфигурации, чтобы определить поставщика облака как aws.
  • Я дал требуемое разрешение на роль IAM для ECR, и я могу получить изображение с помощью окна настройки.
  • Просто, когда я развертываю свой модуль через 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

1 Ответ

0 голосов
/ 14 мая 2018

Когда вы настраиваете Kubernetes с ECR на AWS, вы можете наткнуться в двух местах:

Роли IAM:

Убедитесь, что вы добавляете разрешения для ALL узлов Kubernetes для извлечения изображений из ECR.

Облачный провайдер: Убедитесь, что ваш kubelet работает с параметром --cloud-provider=aws.

В вашем случае вы уверены, что все работает правильно, поэтому вы пропустили разрешение IAM на каком-то узле Kubernetes.

...