У меня есть кластер Google Kubernetes Engine, который до недавнего времени успешно извлекал изображения частных контейнеров из корзины реестра контейнеров Google.Я ничего не изменил, но теперь, когда я обновляю свои Развертывания Kubernetes, он не может запускать новые модули, и я получаю следующие события:
Normal Pulling 14s kubelet, <node-id> pulling image "gcr.io/cloudsql-docker/gce-proxy:latest"
Normal Pulling 14s kubelet, <node-id> pulling image "gcr.io/<project-id>/backend:62d634e"
Warning Failed 14s kubelet, <node-id> Failed to pull image "gcr.io/<project-id>/backend:62d634e": rpc error: code = Unknown desc = unauthorized: authentication required
Warning Failed 14s kubelet, <node-id> Error: ErrImagePull
Normal Pulled 13s kubelet, <node-id> Successfully pulled image "gcr.io/cloudsql-docker/gce-proxy:latest"
Normal Created 13s kubelet, <node-id> Created container
Normal Started 13s kubelet, <node-id> Started container
Normal BackOff 11s (x2 over 12s) kubelet, <node-id> Back-off pulling image "gcr.io/<project-id>/backend:62d634e"
Warning Failed 11s (x2 over 12s) kubelet, <node-id> Error: ImagePullBackOff
Я проверил следующие вещи, которые кажутся всечтобы быть такими, какими они должны быть:
- Контейнеры и их теги действительно существуют и являются правильными.
- Пул узлов / экземпляры виртуальных машин для кластера GKE имеют разрешение
storage-ro
- Ведро реестра контейнеров Google и кластер GKE находятся в одном проекте
Я также попытался отключить и снова включить службы container.googleapis.com и containerregistry.googleapis.com., но это не помогает.
Документация Google по реестру контейнеров гласит:
Кластеры Kubernetes Engine автоматически настраиваются с доступом для извлечения частных изображений из реестра контейнеров втот же проект.Вам не нужно выполнять дополнительные шаги для настройки аутентификации, если реестр и кластер находятся в одном облачном проекте.
Но, похоже, это не так.
Может кто-нибудь пролить дополнительный свет на то, что может происходить?Или дополнительные шаги, чтобы попробовать?