недавно я начал использовать 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 привилегии кажутся очень небезопасными.