Как подключить AWS EKS кластер из Azure конвейера Devops - не найдены учетные данные пользователя для кластера в содержимом KubeConfig - PullRequest
0 голосов
/ 07 апреля 2020

Мне нужно настроить CI в Microsoft Azure Devops для развертывания и управления AWS ресурсами кластера EKS. В качестве первого шага было найдено несколько задач kubernetes для подключения к кластеру kubernetes (в моем случае это AWS EKS), но в задаче kubectlapply в Azure devops я могу передать только файл конфигурации kube или Azure подписка для доступа к кластеру.

В моем случае у меня есть файл конфигурации kube, но мне также необходимо передать учетные данные пользователя AWS, которые авторизованы для доступа к кластеру AWS EKS. Но такой задачи в задаче нет при добавлении новой «конечной точки k8s» для предоставления учетных данных AWS, которые можно использовать для доступа к кластеру EKS. Из-за этого я вижу ошибку ниже при проверке соединения с кластером EKS.

Во время выполнения я могу передать учетные данные AWS через переменные окружения в конвейере, но не могу добавить файл kubeconfig в задачу и СОХРАНИТЬ его.

Azure и AWS являются крупными игроками в облаке, и должны быть способы подключения для подключения AWS ресурсов с любой платформы CI. Кто-нибудь сталкивался с подобными проблемами, и как лучше всего подключиться к AWS сначала и к кластеру EKS для развертываний в Azure Devops CI.

Не найдены учетные данные пользователя для кластера в контенте KubeConfig , Убедитесь, что учетные данные существуют, и повторите попытку.

enter image description here

1 Ответ

0 голосов
/ 07 апреля 2020

Amazon EKS использует IAM для проверки подлинности вашего кластера Kubernetes через AWS IAM Authenticator для Kubernetes. Вы можете обновить файл конфигурации, используя следующий формат:

apiVersion: v1
clusters:
- cluster:
    server: ${server}
    certificate-authority-data: ${cert}
  name: kubernetes
contexts:
- context:
    cluster: kubernetes
    user: aws
  name: aws
current-context: aws
kind: Config
preferences: {}
users:
- name: aws
  user:
    exec:
      apiVersion: client.authentication.k8s.io/v1alpha1
      command: aws-iam-authenticator
      env:
      - name: "AWS_PROFILE"
        value: "dev"
      args:
        - "token"
        - "-i"
        - "mycluster"

Полезные ссылки:

...