Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Important
Предварительные версии функций AKS доступны на условиях самообслуживания и по выбору пользователя. Предварительные версии предоставляются "как есть" и "при наличии". На них не распространяются соглашения об уровне обслуживания и ограниченная гарантия. Предварительные версии AKS сопровождаются частичной поддержкой клиентов на основе принципа лучших усилий. Как таковые, эти функции не предназначены для использования в производстве. Для получения дополнительной информации ознакомьтесь со следующими статьями поддержки:
Узлы Flex расширяют кластер Azure Kubernetes Service (AKS) на машины Linux, которыми вы управляете за пределами управляемых Azure пулов узлов кластера. Перед добавлением гибкого узла выберите способ проверки подлинности узла в Azure, как он достигает сервера API Kubernetes и как сетевой трафик перемещается между средами AKS и гибкими узлами.
Эта статья поможет вам принять эти решения, спланировать неперекрывающиеся диапазоны адресов и создать общий файл среды для остальных статей о развертывании.
Перед тем как начать
- Ознакомьтесь с обзором гибких узлов для AKS.
- Ознакомьтесь с концепциями идентификации и доступа для гибких узлов.
- Ознакомьтесь с концепциями сети для гибких узлов.
- Используйте среду Bash, совместимую с Linux, которая имеет необходимые средства и сетевой доступ. В этой серии статей о развертывании эта среда называется вашей средой Bash. Отдельный компьютер, который присоединяется к кластеру, — это хост гибкого узла.
- Установите Azure CLI. Выполните команду
az --version, чтобы узнать установленную версию. Сведения об установке или обновлении см. в разделе Install Azure CLI. - Войдите в Azure с учетной записью, которая может считывать целевую подписку и конфигурацию виртуальной сети.
- Подготовьте существующую Azure виртуальную сеть и подсеть для узлов AKS, управляемых Azure. Виртуальная сеть может находиться в другой группе ресурсов из кластера AKS. В этом случае убедитесь, что идентификатор кластера AKS имеет необходимые разрешения для подсети.
Принятие решений по развертыванию
Перед созданием или настройкой ресурсов спланируйте следующие решения.
| Решение | Options | Что контролирует решение |
|---|---|---|
| Идентификатор хоста | Управляемый идентификатор, управляемый идентификатор Azure Arc или субъект-служба | Как агент Flex Node проходит аутентификацию в Azure |
| Доступ к API AKS | Общедоступный или частный кластер AKS | Как ваша среда Bash и хосты гибких узлов определяют адрес API-сервера Kubernetes и получают к нему доступ |
| Подключение к узлу Flex | Подключение на уровне 3 или шлюз WireGuard Unbounded-Net | Взаимодействие управляемых AKS узлов, гибких узлов, модулей pod и служб Kubernetes |
Эти решения решают различные части развертывания. Например, выбор общедоступной конечной точки API AKS не создает сетевое подключение между узлами, управляемыми AKS, и узлами гибких узлов.
Выбор идентификатора узла
Используйте таблицу принятия решений в концепциях удостоверения и доступа для гибких узлов, чтобы выбрать удостоверение Azure, используемое агентом гибких узлов.
Идентификатор узла авторизует операции Azure. Он не заменяет ни сетевое подключение, ни конфигурацию начальной загрузки Kubernetes, которые необходимы узлу для присоединения к кластеру. Не сохраняйте учетные данные в файле общей среды.
Выбор доступа к общедоступному или частному API AKS
Сервер API Kubernetes — это конечная точка управления для кластера. Ваша среда Bash и каждый хост flex-узла должны иметь возможность разрешать адрес этой конечной точки и подключаться к ней.
- Доступ к общедоступному API AKS использует безопасную общедоступную конечную точку. Проверка подлинности и авторизация Kubernetes по-прежнему управляют доступом к кластеру. Общедоступная конечная точка API не раскрывает приложения, работающие в кластере.
-
Частный доступ к API AKS использует частную конечную точку в виртуальной сети AKS. Выполните команды Azure CLI,
kubectlи настройки кластера в вашей среде Bash, которая должна быть запущена на компьютере, подключенном к этой частной сети. Сеть гибких узлов также должна иметь возможность разрешать частное DNS-имя кластера и направлять трафик к частной конечной точке.
Развертывания гибких узлов поддерживают общедоступный и частный доступ к серверу API. Для закрытого пути требуется дополнительная настройка DNS, маршрутизации и исполнения команд, о которых говорится там, где это применимо. Общие рекомендации по AKS см. в разделе "Планирование сети уровня управления" для AKS, создание частного кластера AKS и подключение к частному кластеру AKS.
Выбор подключения к гибкому узлу
Эта серия развертывания создает кластер AKS без встроенного сетевого подключаемого модуля и устанавливает Unbounded-Net как на управляемых AKS узлах, так и на гибких узлах. Unbounded-Net назначает диапазоны адресов pod и настраивает маршрутизацию между средами AKS и гибкими узлами. В этой статье описывается рабочий процесс. Для других конфигураций CNI или сети может потребоваться другая маршрутизация, брандмауэр, DNS, шлюз, безопасность и жизненный цикл. Описание модели общедоступной предварительной версии сети см. в концепциях сети для гибких узлов.
Вы обеспечиваете базовое сетевое соединение между AKS и средами гибких узлов. Подключение уровня 3 означает, что обе сети узлов уже могут направлять IP-пакеты друг другу по адресам узлов в обоих направлениях. Выберите метод, соответствующий существующей сети:
| Метод подключения | Когда его использовать |
|---|---|
| Пиринг между виртуальными сетями | Кластер AKS и хосты гибких узлов находятся в виртуальных сетях Azure, в том числе в виртуальных сетях в разных регионах. |
| VPN-шлюз | Хосты гибких узлов находятся в локальной инфраструктуре или в другой сети, подключенной к Azure через зашифрованный VPN типа site-to-site. |
| ExpressRoute | Ваша организация использует выделенное частное подключение между сетью и Azure. |
| шлюз Unbounded-Net WireGuard | Между сетями AKS и узлов Flex нет частного маршрутизируемого соединения. Вы настраиваете и управляете туннелями WireGuard в пуле узлов шлюза AKS, а эти узлы шлюза должны быть общедоступными. Предусмотрите пропускную способность и доступность шлюза, так как трафик между подами в разных средах зависит от этого пула. См. общедоступный кластер AKS с лабораторией Unbounded-Net WireGuard. |
В пошаговом руководстве Microsoft Learn используется подключение уровня 3 к Unbounded-Net.
| AKS API | Подключение к узлу Flex | Guidance |
|---|---|---|
| Public | Подключение уровня 3 | Рекомендуемая конфигурация |
| Частная | Подключение уровня 3 | Требуется дополнительная конфигурация DNS, маршрутизации и выполнения команд |
| Public | Общедоступный шлюз WireGuard | Альтернативная топология; см. лаборатории AKSFlexNode |
| Частная | Общедоступный шлюз WireGuard | Не рассматриваются в этой документации |
Note
Дополнительные примеры топологии см. в лабораториях AKSFlexNode, включая примеры, использующие общедоступный сервер API AKS с шлюзом WireGuard и частным сервером API AKS с управляемыми клиентом сетями. Эти лаборатории дополняют конфигурацию, описанную в этой статье. Эти лаборатории могут использовать различные сетевые компоненты и иметь разные операционные или вспомогательные обязанности. Перед использованием лаборатории просмотрите необходимые условия, ограничения, применимые версии компонентов и обязанности клиента. Лаборатория GitHub не расширяет область поддержки, описанную в Microsoft Learn.
Чтобы предоставить отзыв о топологии, которая не представлена, откройте проблему в репозитории AKSFlexNode. Включите расположение узла flex node, модель доступа к API AKS, предлагаемый метод подключения, предлагаемый CNI и сетевые пути, необходимые для сценария.
Планирование требуемого сетевого подключения
Обратитесь к администратору сети, чтобы обеспечить следующее подключение к сети:
| Требование | Почему это необходимо |
|---|---|
| Среда Bash может разрешать и обращаться к серверу API AKS. | Это подключение требуется для настройки кластера и управления им. |
| Каждый хост гибкого узла может разрешать DNS-имя API-сервера AKS и подключаться к нему. | Агент FlexNode и kubelet используют это соединение для подключения к кластеру и обмена данными с плоскостью управления Kubernetes. |
| Узлы, управляемые AKS, и хосты гибких узлов могут обращаться к частным IP-адресам друг друга. | Для большинства методов подключения Unbounded-Net использует сети узлов в качестве базового пути между двумя средами. |
| Трафик служб Pod и Kubernetes может направляться между управляемыми AKS узлами и гибкими узлами. | Рабочие нагрузки нуждаются в обмене данными между узлами, DNS кластера и доступе к службе Kubernetes. |
| Управляющая плоскость AKS может подключаться к kubelet на узле Flex. | AKS использует этот путь для операций kubelet, включая kubectl logs, kubectl execи kubectl port-forward. |
Вы настраиваете и эксплуатируете внешнюю сеть хоста, включая маршрутизацию, пиринг виртуальных сетей, подключения VPN или ExpressRoute, правила брандмауэра и группы безопасности сети, DNS, параметры прокси-сервера и конфигурацию Unbounded-Net, описанную в этой серии. Сведения о полной модели ответственности см. в политике поддержки для гибких узлов.
Ограничьте доступ к управлению хостом только для разрешённых адресов-источников. Для виртуальной машины Azure свяжите группу безопасности сети с подсетью узла или сетевым интерфейсом. Для узла за пределами Azure применяют эквивалентные элементы управления брандмауэром. Если вы используете az vm create для создания хоста узла Flex, проверьте все правила для общедоступного IP-адреса и группы сетевой безопасности, которые создает эта команда. Если правило SSH не ограничено, оно может разрешить подключения к TCP-порту 22 из любого общедоступного источника.
Соберите значения развертывания
Остальные статьи повторно используют следующие значения.
Общие значения ресурсов Azure
| Variable | Description | Когда он используется |
|---|---|---|
SUBSCRIPTION_ID |
Подписка, содержащая кластер AKS и связанные Azure ресурсы. | При каждом развертывании |
RESOURCE_GROUP |
Группа ресурсов, содержащая кластер AKS. | При каждом развертывании |
CLUSTER_NAME |
Имя кластера AKS. | При каждом развертывании |
FLEX_POOL_NAME |
Название пула гибких узлов. Используйте только буквы и цифры. | При каждом развертывании |
AKS_API_ACCESS |
Модель доступа к API для кластера AKS. Задайте значение public или private. |
Подготовка кластера и проверка подключения к API |
AKS_RESOURCE_ID |
Azure идентификатор ресурса кластера AKS. Azure предоставляет это значение после существования кластера. | Более поздние статьи |
Значения кластера и виртуальной сети AKS
| Variable | Description | Когда он используется |
|---|---|---|
LOCATION |
Регион Azure для кластера AKS. Убедитесь, что этот регион соответствует требованию к доступности региона . | Создание кластера AKS |
AKS_VNET_NAME |
Имя виртуальной сети, содержащей подсеть AKS. | Поиск и проверка подсети AKS |
AKS_VNET_RESOURCE_GROUP |
Группа ресурсов, содержащая виртуальную сеть AKS. Он может отличаться от RESOURCE_GROUP. |
Поиск и проверка подсети AKS |
AKS_SUBNET_NAME |
Имя подсети, используемой узлами AKS, управляемыми Azure. | Поиск и проверка подсети AKS |
AKS_SUBNET_ID |
Идентификатор ресурса Azure для подсети AKS. | Создание кластера AKS |
AKS_NODE_VM_SIZE |
Размер VM Azure для системного пула узлов AKS, управляемого Azure. Это значение не задает размер родительского элемента flex-узла. | Создание кластера AKS |
SERVICE_CIDR |
Диапазон адресов для служб Kubernetes. | Настройка сетевого профиля кластера AKS |
DNS_SERVICE_IP |
IP-адрес службы DNS Kubernetes. | Настройка сетевого профиля кластера AKS |
Получите идентификатор ресурса подсети AKS и диапазоны адресов перед созданием файла среды:
az network vnet subnet show \
--resource-group '<virtual-network-resource-group>' \
--vnet-name '<virtual-network-name>' \
--name '<aks-subnet-name>' \
--query "{ResourceId:id,AddressPrefix:addressPrefix,AddressPrefixes:addressPrefixes}" \
--output json
Значения адресов AKS и Unbounded-Net
Вы используете SERVICE_CIDR и DNS_SERVICE_IP настраиваете сетевой профиль кластера AKS. Настройте узлы и CIDR pod для настройки сайтов Unbounded-Net, используемых в этом пошаговом руководстве.
Узел AKS, pod AKS, гибкий узел, гибкий модуль pod и диапазоны служб Kubernetes должны соответствовать выбранной структуре сети и не должны пересекаться друг с другом или любой сетью, доступной через пиринг виртуальных сетей, VPN или ExpressRoute. Согласуйте итоговые значения с вашим сетевым администратором.
Не копируйте примеры CIDR из другого развертывания. CIDR определяют маршрутизируемое адресное пространство, поэтому повторное использование примера, который пересекается с адресными диапазонами вашей сети Azure или подключённых сетей, может привести к неоднозначной маршрутизации трафика или помешать узлам и pod’ам обмениваться данными друг с другом.
| Variable | Description | Используется кем |
|---|---|---|
AKS_SUBNET_CIDR |
Диапазон адресов, назначенный подсети для узлов AKS, управляемых Azure. | Проверка виртуальной сети Azure и подсети AKS |
AKS_NODE_CIDR |
Unbounded-Net диапазон узлов сайта, содержащий подсеть узла AKS. | сайт первичного кластера Unbounded-Net |
AKS_POD_CIDR |
Пул адресов для подов на узлах AKS под управлением Azure. | сайт первичного кластера Unbounded-Net |
FLEX_HOST_SUBNET_CIDR |
Диапазон адресов, содержащий хосты узлов Flex. | Проверка сети хоста узла Flex |
FLEX_NODE_CIDR |
Unbounded-Net диапазон узлов сайта, который содержит подсеть хоста flex-узла. | Сайт Unbounded-Net для гибких узлов |
FLEX_POD_CIDR |
Пул адресов для модулей pod на гибких узлах. | Сайт Unbounded-Net для гибких узлов |
SERVICE_CIDR |
Диапазон адресов для служб Kubernetes. | Профиль сети кластера AKS |
DNS_SERVICE_IP |
IP-адрес службы DNS Kubernetes. | Профиль сети кластера AKS |
Примените следующие правила к плану адресов:
-
AKS_SUBNET_CIDRдолжен содержаться внутриAKS_NODE_CIDR. -
FLEX_HOST_SUBNET_CIDRдолжен содержаться внутриFLEX_NODE_CIDR. -
DNS_SERVICE_IPдолжен находиться внутриSERVICE_CIDR.
Эти восемь значений не являются восемью отдельными диапазонами. Пять — это независимые диапазоны, которые не должны перекрываться, два — это диапазоны подсети, содержащиеся в соответствующем диапазоне узлов сайта, а один — один IP-адрес внутри диапазона служб.
Следующие значения удовлетворяют каждому правилу в этом разделе. Считайте их иллюстрацией взаимосвязей, а не значениями по умолчанию. Перед их использованием проверьте свои собственные значения в Azure и подключенном сетевом адресном пространстве.
| Variable | Пример | Relationship |
|---|---|---|
AKS_NODE_CIDR |
10.10.0.0/16 |
Независимый диапазон |
AKS_SUBNET_CIDR |
10.10.1.0/24 |
Содержится внутри AKS_NODE_CIDR |
AKS_POD_CIDR |
10.244.0.0/16 |
Независимый диапазон |
FLEX_NODE_CIDR |
10.20.0.0/16 |
Независимый диапазон |
FLEX_HOST_SUBNET_CIDR |
10.20.1.0/24 |
Содержится внутри FLEX_NODE_CIDR |
FLEX_POD_CIDR |
10.245.0.0/16 |
Независимый диапазон |
SERVICE_CIDR |
10.96.0.0/16 |
Независимый диапазон |
DNS_SERVICE_IP |
10.96.0.10 |
Внутри SERVICE_CIDR |
Просмотрите текущие адресные пространства виртуальной сети Azure:
az network vnet list \
--query "[].{ResourceGroup:resourceGroup,Name:name,AddressPrefixes:addressSpace.addressPrefixes}" \
--output table
Azure может определять конфликты в управляемых ресурсах, но он не может проверять диапазоны адресов в каждой подключенной локальной или внешней сети.
Значения версий компонента
Для узлов Flex требуются совместимые версии AKS, расширение Azure CLI, Unbounded-Net и агент гибких узлов. Используйте версии, перечисленные в этой статье, и не выбирайте или не обновляйте эти компоненты независимо.
| Variable | Description |
|---|---|
AKS_VERSION |
Поддерживаемая версия Kubernetes для кластера AKS. |
AKS_PREVIEW_VERSION |
aks-preview Расширение Azure CLI версии 22.0.0b8 или более поздней. |
UNBOUNDED_VERSION |
Поддерживаемая версия Unbounded-Net. |
AKS_FLEX_NODE_VERSION |
Поддерживаемая версия агента узла Flex. |
Региональная доступность
Для узлов Flex необходим выпуск AKS версии v20260904 или более поздней в регионе размещения кластера. AKS автоматически применяет эти релизы по датам, и они не зависят от версии Kubernetes, которую вы задаете в AKS_VERSION.
Прежде чем создавать или выбирать кластер, откройте вкладку «Выпуск AKS» в трекере выпусков AKS, найдите свой регион и проверьте версию в разделе «В настоящее время используется». Версии выпусков AKS имеют формат vYYYYMMDD. Если в вашем регионе отображается более ранняя версия, дождитесь, пока выпуск станет доступен в этом регионе, или, если это допускается вашими требованиями к развертыванию, выберите регион, в котором доступен требуемый выпуск.
Значение локальной рабочей области
| Variable | Description |
|---|---|
WORK_DIR |
Каталог в среде Bash, где остальные статьи хранят загрузки, созданные файлы и файл kubeconfig кластера. Значение по умолчанию — ~/.local/share/aksflexnode/<deployment-name>. Чтобы сохранить эти файлы в другом месте, например временный каталог, который вы удаляете после развертывания, измените WORK_DIR значение в файле среды. |
Создание файла общей среды
Создайте один файл среды для каждого развертывания. Файл обеспечивает согласованность несекретных значений в остальных статьях и сеансах терминала.
Не сохраняйте маркеры доступа, данные начальной загрузки, содержимое kubeconfig, учетные данные субъекта-службы, сертификаты, закрытые ключи сертификата или закрытые ключи SSH в этом файле.
Выберите короткую метку развертывания и создайте защищенный каталог для файла среды.
export FLEXNODE_DEPLOYMENT="flexnode-demo" export FLEXNODE_ENV_DIR="${HOME}/.config/aks-flexnode" export FLEXNODE_ENV_FILE="${FLEXNODE_ENV_DIR}/${FLEXNODE_DEPLOYMENT}.env" install -d -m 0700 "${FLEXNODE_ENV_DIR}"Создайте файл среды.
if [[ -e "${FLEXNODE_ENV_FILE}" ]]; then printf 'Environment file already exists: %s\n' "${FLEXNODE_ENV_FILE}" >&2 false else install -m 0600 /dev/null "${FLEXNODE_ENV_FILE}" cat > "${FLEXNODE_ENV_FILE}" <<'EOF' set_flexnode_env() { if [[ "$#" -ne 2 || ! "$1" =~ ^[A-Za-z_][A-Za-z0-9_]*$ ]]; then printf 'Usage: set_flexnode_env NAME VALUE\n' >&2 return 2 fi local name="$1" local value="$2" local temporary_file temporary_file="$(mktemp "$(dirname "${FLEXNODE_ENV_FILE}")/flexnode.env.XXXXXX")" || return 1 awk -v prefix="export ${name}=" 'index($0, prefix) != 1 { print }' \ "${FLEXNODE_ENV_FILE}" > "${temporary_file}" || { rm -f "${temporary_file}" return 1 } printf 'export %s=%q\n' "${name}" "${value}" >> "${temporary_file}" || { rm -f "${temporary_file}" return 1 } install -m 0600 "${temporary_file}" "${FLEXNODE_ENV_FILE}" || { rm -f "${temporary_file}" return 1 } rm -f "${temporary_file}" export "${name}=${value}" } # Customer inputs export SUBSCRIPTION_ID='<subscription-id>' export LOCATION='<supported-aks-region>' export RESOURCE_GROUP='<aks-resource-group>' export CLUSTER_NAME='<aks-cluster-name>' export FLEX_POOL_NAME='<flex-node-pool-name>' export AKS_API_ACCESS='<public-or-private>' # AKS virtual network export AKS_VNET_NAME='<virtual-network-name>' export AKS_VNET_RESOURCE_GROUP='<virtual-network-resource-group>' export AKS_SUBNET_NAME='<aks-subnet-name>' export AKS_SUBNET_ID='<aks-subnet-resource-id>' # Network address ranges export AKS_SUBNET_CIDR='<aks-node-subnet-cidr>' export AKS_POD_CIDR='<aks-pod-cidr>' export AKS_NODE_CIDR='<aks-site-node-cidr>' export FLEX_HOST_SUBNET_CIDR='<flex-host-subnet-cidr>' export FLEX_NODE_CIDR='<flex-site-node-cidr>' export FLEX_POD_CIDR='<flex-node-pod-cidr>' export SERVICE_CIDR='<kubernetes-service-cidr>' export DNS_SERVICE_IP='<kubernetes-dns-service-ip>' # Azure-managed AKS system node pool export AKS_NODE_VM_SIZE='<supported-and-available-aks-node-vm-size>' # Compatible component versions for flex nodes (preview) export AKS_VERSION='1.36.2' export AKS_PREVIEW_VERSION='22.0.0b8' export UNBOUNDED_VERSION='v0.8.0' export AKS_FLEX_NODE_VERSION='v0.2.0' # Local paths export WORK_DIR="${HOME}/.local/share/aksflexnode/${FLEXNODE_DEPLOYMENT}" # Values recorded by later articles export AKS_RESOURCE_ID='' export FLEXNODE_KUBECONFIG='' export FLEX_POOL_RESOURCE_ID='' export FLEX_MACHINE_NAME='' export FLEX_HOST_NAME='' export FLEX_HOST_SSH_TARGET='' export FLEX_HOST_PRIVATE_IP='' export HOST_PRINCIPAL_OBJECT_ID='' export HOST_IDENTITY_CLIENT_ID='' export SSH_PUBLIC_KEY_PATH='' export SSH_PRIVATE_KEY_PATH='' export VM_RESOURCE_GROUP='' export VM_NAME='' export VM_RESOURCE_ID='' export ARC_RESOURCE_GROUP='' export ARC_MACHINE_NAME='' export ARC_RESOURCE_ID='' export SP_TENANT_ID='' export SP_CLIENT_ID='' export SP_OBJECT_ID='' EOF fiВспомогательный элемент
set_flexnode_envпозволяет в последующих статьях фиксировать значения, созданные Azure, не добавляя в файл дублирующиеся определения.Откройте
${FLEXNODE_ENV_FILE}в редакторе и замените каждое значение, заключенное в угловые скобки. Оставьте значения в разделе "Значения", записанные более поздними статьями, пустыми .Убедитесь, что не осталось заполнителей.
if grep -n '<[^>]*>' "${FLEXNODE_ENV_FILE}"; then printf 'Replace the unresolved placeholders before you continue.\n' >&2 false else printf 'No unresolved placeholders found.\n' fiЗагрузите файл среды, создайте рабочий каталог и задайте активную Azure подписку.
source "${FLEXNODE_ENV_FILE}" install -d -m 0700 "${WORK_DIR:?Load the deployment environment first.}" az account set --subscription "${SUBSCRIPTION_ID}" az account show \ --query "{Name:name,SubscriptionId:id}" \ --output tableУбедитесь, что возвращенный идентификатор подписки соответствует
SUBSCRIPTION_ID.Убедитесь, что
AKS_API_ACCESSидентифицирует поддерживаемый путь:case "${AKS_API_ACCESS}" in public|private) printf 'AKS API access: %s\n' "${AKS_API_ACCESS}" ;; *) printf 'Set AKS_API_ACCESS to public or private.\n' >&2 false ;; esacЗапустите каждый новый сеанс терминала, задав метку развертывания и загрузив файл среды:
export FLEXNODE_DEPLOYMENT="flexnode-demo" export FLEXNODE_ENV_FILE="${HOME}/.config/aks-flexnode/${FLEXNODE_DEPLOYMENT}.env" test -s "${FLEXNODE_ENV_FILE}" source "${FLEXNODE_ENV_FILE}" install -d -m 0700 "${WORK_DIR:?Load the deployment environment first.}"
Проверьте значения планирования
Проверьте выбранную подсеть AKS.
az network vnet subnet show \
--resource-group "${AKS_VNET_RESOURCE_GROUP}" \
--vnet-name "${AKS_VNET_NAME}" \
--name "${AKS_SUBNET_NAME}" \
--query "{AddressPrefix:addressPrefix,AddressPrefixes:addressPrefixes,ResourceId:id}" \
--output json
Убедитесь, что возвращенный идентификатор ресурса и диапазон адресов совпадают AKS_SUBNET_ID и AKS_SUBNET_CIDR.
Следующий шаг
Затем подготовьте кластер AKS для гибких узлов. В следующей статье создается общедоступный или частный кластер AKS и записывается идентификатор ресурса кластера.