Стандартное приложение Hello-World, доступное на https://cloud.google.com/kubernetes-engine/docs/tutorials/hello-app, не работает. По-видимому, существует какая-то проблема с доступом, несмотря на то, что при работе с Kubernetes на GCP в сочетании с Google Cloud все должно работать как надо.
Для примера: https://kubernetes.io/docs/concepts/containers/images/#specifying-imagepullsecrets-on-a-pod
где упоминается:
"Использование Google Container Registry Kubernetes имеет встроенную поддержку Google Container Registry (GCR) при работе на Google Compute Engine (GCE). Если вы запускаете свой кластер на GCE или Google Kubernetes Engine, просто используйте полное имя образа (например, gcr.io/my_project/image:tag). Все стручки в кластере будут иметь доступ на чтение к образам в этом реестре.
Я дважды проверил, что использовал правильное имя образа (скопировал его из реестра контейнеров).
Error message:
C:\Users\rober>kubectl get pods
NAME READY STATUS RESTARTS AGE
hello-web-694bc87958-rcdvg 0/1 ImagePullBackOff 0 7s
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Scheduled 7m default-scheduler Successfully assigned default/hello-web-694bc87958-rcdvg to gke-hello-cluster-default-pool-9cbfb505-588j
Normal SandboxChanged 7m (x3 over 7m) kubelet, gke-hello-cluster-default-pool-9cbfb505-588j Pod sandbox changed, it will be killed and re-created.
Normal BackOff 7m (x6 over 7m) kubelet, gke-hello-cluster-default-pool-9cbfb505-588j Back-off pulling image "gcr.io/data-platform-tst/hello-app:v1"
Normal Pulling 6m (x3 over 7m) kubelet, gke-hello-cluster-default-pool-9cbfb505-588j pulling image "gcr.io/data-platform-tst/hello-app:v1"
Warning Failed 6m (x3 over 7m) kubelet, gke-hello-cluster-default-pool-9cbfb505-588j Failed to pull image "gcr.io/data-platform-tst/hello-app:v1": rpc error: code = Unknown desc = Error response from daemon: repository gcr.io/data-platform-tst/hello-app not found: does not exist or no pull access
Warning Failed 6m (x3 over 7m) kubelet, gke-hello-cluster-default-pool-9cbfb505-588j Error: ErrImagePull
Warning Failed 2m (x24 over 7m) kubelet, gke-hello-cluster-default-pool-9cbfb505-588j Error: ImagePullBackOff
Убедитесь, что в вашем кластере настроены правильные области действия, чтобы учетная запись службы могла получать образ. Пожалуйста, следуйте официальной документации, в которой приведены пошаговые инструкции о том, как предоставить пользователям разрешение на извлечение образа из контейнерного реестра.
Насколько я понимаю, вы используете Google Container Registry, поэтому в этом случае узлы GKE уже имеют доступ к образам Google Container Registry в том же проекте Google Cloud Platform, что и кластер. .
Пожалуйста, проверьте область действия, которую вы указали для своего кластера.
Выполните следующие шаги или официальную документацию: