Я пытался управлять экземпляром Azure Kubernetes Service (AKS) через Terraform. Когда я создаю экземпляр AKS через интерфейс командной строки Azure для этого учебного пособия по MS , затем устанавливаю входной контроллер со статическим общедоступным IP-адресом, для этого учебного пособия по MS все работает нормально. Этот метод неявно создает субъект-службу (SP).
Когда я создаю точную копию кластера AKS через Terraform, я вынужден предоставить субъекту обслуживания явно. Я предоставил этому новому SP «Contributor» доступ ко всей группе ресурсов кластера, но когда я перешел к этапу создания входного контроллера (используя ту же команду, что и в учебном пособии 2, выше: helm install stable/nginx-ingress --set controller.replicaCount=2 --set controller.service.loadBalancerIP="XX.XX.XX.XX"
), служба доступа появляется но он никогда не приобретает свой публичный IP. Статус IP остается "" неопределенно долго, и я не могу найти ничего в любом журнале о том, почему. Существуют ли журналы, в которых должно быть указано, почему мой IP-адрес все еще находится на рассмотрении?
Опять же, я совершенно уверен, что, кроме SP, кластер Terraform AKS является точной копией кластера, созданного на основе учебника по MS. Запуск terraform plan
не находит различий между ними. Кто-нибудь знает, какое разрешение может понадобиться моему AKS SP или что мне здесь не хватает? Как ни странно, я не могу найти ЛЮБЫЕ разрешения, назначенные неявно созданному участнику через портал Azure, но я не могу думать ни о чем другом, что могло бы вызвать такое поведение.
Не уверен, если это красная сельдь или нет, но другие пользователи жаловались на аналогичную проблему в контексте вопросов, открытых для второго урока. Их исправление всегда кажется «разрушить кластер и повторить попытку», но это не является приемлемым решением в этом контексте. Мне нужен воспроизводимый рабочий кластер, и azurerm_kubernetes_cluster в настоящее время не позволяет создавать экземпляр AKS с неявно созданным SP.