При развертывании кластера AKS вы получаете сам ресурс кластера AKS и набор отдельных ресурсов, контролируемых AKS, в отдельной группе ресурсов. Мне нужно получить имя виртуальной сети, созданной AKS, чтобы связать ее с сетью Шлюза приложений. Однако все команды Azure PowerShell или Azure CLI для получения информации о ресурсах в этой группе ресурсов дают пустые результаты. Я даже не могу получить список ресурсов в этой группе ресурсов.
Я пробовал следующие команды
az resource list
Get-AzResource
az network vnet list
Но ни один из них не производит никакого результата.
Это также является причиной того, что этот учебник не работает при пиринге виртуальных сетей.
Любая идея, почему это происходит и как получить имя этой виртуальной сети?
Обновлять: Потребовалось около часа, чтобы эта группа ресурсов стала доступной через сценарий, хотя я мог видеть ее на портале сразу после развертывания. Есть ли способ получить доступ к этим ресурсам сразу после развертывания, чтобы я мог автоматизировать последующие шаги, основываясь на доступности этих ресурсов?
nodeResourceGroup=$(az aks show -g AKS_RG -n AKS_NAME -o tsv --query nodeResourceGroup)
az network vnet list -g $nodeResourceGroup -o tsv --query "[0].name"
Вы также можете заранее создать виртуальную сеть и подсеть, а затем разместить AKS в этих сетях.
На мой взгляд, это лучшее решение вместо того, чтобы позволить Azure управлять всеми этими ресурсами, и в качестве преимущества вы более гибки с пирингом и т. д.
Я бы также рекомендовал использовать для этого инструмент IaC, такой как Terraform или Bicep.
Создание виртуальной сети и подсети является распространенным сценарием, например, при использовании архитектуры «концентратор/луч». Мы используем это почти со всеми нашими клиентами, поэтому вам не нужно беспокоиться. У AKS нет особых потребностей в виртуальной сети, вам просто нужно решить, хотите ли вы использовать Kubenet (оверлей) или Azure CNI (модули получают IP-адрес в подсети). Если вы используете Azure CNI, вам нужны виртуальная сеть и подсеть, достаточно большие для будущего роста. Вот простой пример: stacksimplify.com/azure-aks/…
Спасибо за ваш отзыв. Я действительно использовал эти самые команды, но они дают пустые результаты некоторое время после того, как происходит первое развертывание. Вы правы, если сначала создать виртуальную сеть, а затем назначить ее AKS, это также решит эту проблему. Я просто немного не уверен в создании ресурсов AKS самостоятельно, поскольку они полностью управляются AKS, и у меня недостаточно информации, чтобы воссоздать и настроить их так, как это нужно AKS.