2016-11-03 1 views
0

Какие шаги необходимо выполнить для проверки подлинности в Google Container Engine/Kubernetes 1.4.5?Что такое процесс аутентификации CLI с Google Container Engine/Kubernetes 1.4.5?

Как я сегодня создал третий проект Google Cloud, я испытал, что мой предыдущий поток настройки кластера GKE больше не работал. Мой поток был следующий:

gcloud auth login 
gcloud config set compute/region europe-west1 
gcloud config set compute/zone europe-west1-d 
gcloud config set project myproject 
gcloud container clusters get-credentials staging 
# An example of a typical kubectl command to see that you've got the right cluster 
kubectl get pods --all-namespaces 

В то время как раньше это работает отлично, я теперь получаю ошибки разрешения при попытке запроса кластера, например, kubectl get pods будет испускать следующее сообщение об ошибке: the server does not allow access to the requested resource (get pods)

После прибегая к помощи вперед и назад, я понял, что kubectl зависит от чего-то под названием Полномочия приложений по умолчанию. В какой-то момент я заметил случайно, что gcloud auth login испускает следующее:

WARNING: `gcloud auth login` no longer writes application default credentials. 
If you need to use ADC, see: 
    gcloud auth application-default --help 

Таким образом, я понял, в конце концов, что с текущей gcloud/версии Kubernetes мне также нужно позвонить gcloud auth application-default для того, чтобы использовать учетные данные моего текущего счета а не ранее активированного проекта.

Итак, я надеюсь, кто-то сможет прояснить, каков фактический рабочий процесс проверки подлинности для Google Container Engine/Kubernetes версии 1.4.5?

ответ

1

Вы нашли правильный ответ. Плагин проверки подлинности GCP от kubectl поддерживает только учетные данные по умолчанию для приложения, которые были недавно отключены от стандартных учетных данных gcloud. Итак, в 1.4.5 вам нужно запустить gcloud auth application-default login, чтобы убедиться, что kubectl использует учетные данные, которые вы ожидаете.

Мы считаем, что большинство пользователей просто рассчитывают использовать те же учетные данные, что и gcloud, причем АЦП полезен для некоторых сценариев учетной записи службы, где gcloud не может быть даже установлен. Итак, для Kubernetes есть pull request, чтобы добавить параметр «Использовать учетные данные gcloud» в плагин аутентификации kubectl gcp. Это должно быть доступно в kubectl 1.5.

+0

Спасибо. Нынешнее поведение - не что иное, как запутанность, и мне повезло, что я даже смог собрать решение вместе, поскольку это было очень неинтересно. – aknuds1

+0

:(Извините, мы постараемся сделать это лучше. Чтобы подтвердить, ожидаете ли вы, что 'kubectl' использовал бы те же учетные данные, что и' gcloud'? –

+0

Спасибо за то, что я хочу улучшить :) В первую очередь, я пропустил сплоченную историю пользователей из GKE. С самого начала я чувствовал, что мне нужно использовать комбинацию gcloud и kubectl для работы с ним, поскольку между ними нет четко определенного разрыва. Эти опасения были доказаны, когда эта проблема возникла, так как стало ясно, что gcloud живет своей жизнью, не пытаясь поддерживать историю пользователей GKE, то есть перестает делать то, от чего зависит последнее (предоставить ADC на 'gcloud auth login'). – aknuds1

Смежные вопросы