Локальный kubeadm K8S доступ к частному gcr.io - PullRequest
1 голос
/ 29 апреля 2019

Я установил K8S с kubeadm и docker 18.09.4, и он работает нормально. Затем я установил gcloud, запустил gcloud init и выбрал свой проект, в котором активирован gcr, затем gcloud components install kubectl docker-credentials-gcr, затем docker-credentials-gcr configure-docker.

На этом этапе docker может извлекать изображения из моего собственного реестра gcr, в то время как kubelet не может.

Обычно, если я запускаю docker run --rm --name hello gcr.io/own-gcr/hello-world, он извлекает образ из реестра и запускает контейнер. Если я удаляю изображение из локального реестра и запускаю ``, оно завершается ошибкой со следующим описанием:

  Events:
  Type     Reason     Age                From                       Message
  ----     ------     ----               ----                       -------
  Normal   Scheduled  23s                default-scheduler          Successfully assigned default/node-hello-6b99957775-9dvvw to lfr025922-docker
  Normal   BackOff    20s (x2 over 21s)  kubelet, lfr025922-docker  Back-off pulling image "gcr.io/own-gcr/node-hello"
  Warning  Failed     20s (x2 over 21s)  kubelet, lfr025922-docker  Error: ImagePullBackOff
  Normal   Pulling    9s (x2 over 22s)   kubelet, lfr025922-docker  Pulling image "gcr.io/own-gcr/node-hello"
  Warning  Failed     9s (x2 over 21s)   kubelet, lfr025922-docker  Failed to pull image "gcr.io/own-gcr/node-hello": rpc error: code = Unknown desc = Error response from daemon: unauthorized: You don't have the needed permissions to perform this operation, and you may have invalid credentials. To authenticate your request, follow the steps in: https://cloud.google.com/container-registry/docs/advanced-authentication
  Warning  Failed     9s (x2 over 21s)   kubelet, lfr025922-docker  Error: ErrImagePull

Я, конечно, следовал всем инструкциям на странице https://cloud.google.com/container-registry/docs/advanced-authentication и ни одна из них не была успешной.

Известны ли вам какие-либо проблемы с kubelet 1.14 и docker 18.09.5? Разве kubelet не должен полагаться на базовый CRI (здесь docker)? Ты хоть представляешь, что может вызвать эту проблему?

1 Ответ

2 голосов
/ 29 апреля 2019

@ ВасилийАнгапов был правдой.

Я следовал рекомендациям, приведенным здесь https://container -solutions.com / using-google-container-registry-with-kubernetes / , и он отлично работаетхорошо (используя токен доступа с oauth2accesstoken)

Большое спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...