2015-06-17 2 views
3

Я пытаюсь настроить непрерывное развертывание от CircleCI к экземпляру Google Container Engine на основе tutorial на веб-сайте CircleCI.Настройка непрерывного развертывания на Google Compute Engine с запуском Kubernetes

Однако, я в настоящее время спотыкаясь о том, как настроить аутентификацию, так что я могу выполнить качение обновления:

KUBE_CMD=${KUBERNETES_ROOT:-~/kubernetes}/cluster/kubectl.sh 
$KUBE_CMD rolling-update my-controller \ 
    -f my-controller.yml --server="https://xxx.xxx.xxx.xxx" 

Google, кажется, только для поддержки OAuth, и я не могу найти любую документацию по настройке неинтерактивная аутентификация. Передача основных параметров auth на kubectl не работает.

Любые советы по этому или где я могу посмотреть?

ответ

4

Аппликатор, работающий в вашем кластере контейнеров, не использует OAuth от Google; вместо этого он использует проверку подлинности кластера. Если вы запустите

$ gcloud alpha container clusters describe <cluster-name> 

Тогда вы получите имя пользователя и пароль, которые могут быть использованы в качестве HTTP базовых аутентификации учетных данных для доступа apiserver кластера (вы также можете получить доступ к серверу используется однонаправленный канал лексем или TLS сертификатов клиента, но основной auth - это самый простой способ начать работу с).

Чтобы проверить, запустить

$ curl --insecure --user <username>:<password> https://<endpoint> 

и вы должны увидеть успешный ответ.

Теперь, когда вы понимаете, как apirusver кластера проверяет подлинность клиентов, вам необходимо настроить kubectl на машине CircleCI для обеспечения правильной аутентификации. Самый простой способ сделать это состоит в использовании gcloud для создания файла «kubeconfig», запустив

$ gcloud alpha container get-credentials --cluster=<cluster-name> 

, который будет генерировать файл локально. Затем вы можете скопировать файл в поле CircleCI. kubectl ищет файл по умолчанию ~/.kube/config (вы можете указать другое местоположение с использованием переменной среды или с помощью флага командной строки --kubeconfig).

+0

Это сработало! Большое спасибо за это. –

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