Использование Terraform для развертывания пространств имен с Azure управляемым AKS кластером Kuberntes с Active Directory - PullRequest
0 голосов
/ 18 марта 2020

недавно я начал использовать Azure кластер AKS. С интеграцией Azure Active Directory (rba c) мой провайдер kubernetes перестал работать.

  provider "kubernetes" {
  load_config_file = "false"

  host                   = azurerm_kubernetes_cluster.K8s_Deepblue.kube_config.0.host
  ##username               = azurerm_kubernetes_cluster.K8s_Deepblue.kube_config.0.username
  ##password               = azurerm_kubernetes_cluster.K8s_Deepblue.kube_config.0.password
  client_certificate     = base64decode(azurerm_kubernetes_cluster.K8s_Deepblue.kube_config.0.client_certificate)
  client_key             = base64decode(azurerm_kubernetes_cluster.K8s_Deepblue.kube_config.0.client_key)
  cluster_ca_certificate = base64decode(azurerm_kubernetes_cluster.K8s_Deepblue.kube_config.0.cluster_ca_certificate)
}

В Active Directory, если вы не используете --admin kubeconfig, вам необходимо авторизоваться через веб-браузер, прежде чем вы сможете использовать команды kubectl.

To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code ****** to authenticate.

Итак ... проблема теперь, что мой провайдер Kubernetes также получает это сообщение, но, конечно, не способен заполнить токен в веб-браузере.

Этот проект будет управляться с помощью ci / cd, так что, похоже, проблема не только в terraform.

Я ищу безопасный способ, чтобы Terraform или ci / cd-tools внедряют вещи в мой кластер без необходимости авторизации через веб-браузер.

Я рад любым советам.

Я уже нашел -> Azure DevOp Pipelines аутентификация для AKS с настроенным Azure AD RBA C?

https://feedback.azure.com/forums/914020-azure-kubernetes-service-aks/suggestions/35146387-support-non-interactive-login-for-aad-integrated-c

Но, к сожалению, дайте наш ci / cd или tf --admin привилегии кажутся очень небезопасными.

...