Как получить учетные данные Azure с помощью kubectl?

#azure #kubernetes #kubectl #azure-aks

Вопрос:

У меня есть следующая kubectl команда для получения учетных данных для моего кластера Azure:

 kubectl config set-credentials token --token="$(cat /var/run/secrets/kubernetes.io/serviceaccount/token)" --auth-provider=azure
 

Однако это приводит к следующей ошибке:

 creating a new azure token source for device code authentication: client-id is empty
 

Проведя некоторое расследование, я выяснил, что нам необходимо предоставить дополнительную информацию для client id , tenant id , и apiserver id :

 kubectl config 
  set-credentials "<username>" 
  --auth-provider=azure 
  --auth-provider-arg=environment=AzurePublicCloud 
  --auth-provider-arg=client-id=<kubectl-app-id> 
  --auth-provider-arg=tenant-id=<tenant-id> 
  --auth-provider-arg=apiserver-id=<apiserver-app-id>
 

Как мы должны получить client id , tenant id , и apiserver id детали?

Комментарии:

1. здравствуйте @jtee, могу я узнать, упоминали ли вы об этом : docs.microsoft.com/en-us/azure/aks/…

Ответ №1:

Команда kubectl config set-credentials используется для установки учетных данных, как следует из названия. Если вы хотите получить некоторую информацию из своего кластера, у вас есть несколько способов сделать это. Например, вы можете использовать портал Azure. Все описано в этой статье. Например, чтобы получить идентификатор арендатора, вам необходимо:

  1. Войдите в свою учетную запись azure.
  2. Выберите azure active directory на левой боковой панели.
  3. Нажмите кнопку Свойства.
  4. Скопируйте идентификатор каталога.

Чтобы получить идентификатор клиента:

  1. Войдите в свою учетную запись azure.
  2. Выберите azure active directory на левой боковой панели.
  3. Щелкните Корпоративные приложения.
  4. Щелкните Все приложения.
  5. Выберите приложение, которое вы создали.
  6. Нажмите кнопку Свойства.
  7. Скопируйте идентификатор приложения .

Чтобы получить Секрет клиента:

  1. Войдите в свою учетную запись azure.
  2. Выберите azure active directory на левой боковой панели.
  3. Нажмите Регистрация приложений.
  4. Выберите приложение, которое вы создали.
  5. Нажмите на Все настройки.
  6. Нажмите на клавиши.
  7. Введите описание ключа и выберите Продолжительность.
  8. Нажмите кнопку Сохранить.
  9. Скопируйте и сохраните значение ключа. Вы не сможете получить его после того, как покинете эту страницу.

Вы также можете найти эту информацию с помощью интерфейса командной строки на основе официальной документации.

Вы также можете найти дополнительный пример для идентификатора арендатора (пример с параметрами портала Azure и интерфейса командной строки).:

 az login
az account list
az account tenant list