AKS, включенные требованиями к сети Azure Arc

Область применения: Azure Stack HCI версии 23H2

В этой статье представлены основные понятия сети для виртуальных машин и приложений в AKS, включенных Azure Arc. В статье также описаны необходимые сетевые требования для создания кластеров Kubernetes. Рекомендуется работать с администратором сети, чтобы предоставить и настроить параметры сети, необходимые для развертывания AKS, включенного Arc.

В этой концептуальной статье представлены следующие ключевые компоненты. Эти компоненты требуют статического IP-адреса для успешного создания и работы кластера AKS Arc и приложений:

  • Виртуальные машины кластера AKS
  • IP-адрес плоскости управления AKS
  • Подсистема балансировки нагрузки для контейнерных приложений

Сеть для виртуальных машин кластера AKS

Узлы Kubernetes развертываются как специализированные виртуальные машины в AKS, включенные Arc. Эти виртуальные машины выделены IP-адреса для обеспечения связи между узлами Kubernetes. AKS Arc использует логические сети Azure Stack HCI для предоставления IP-адресов и сетей для базовых виртуальных машин кластеров Kubernetes. Дополнительные сведения о логических сетях см. в разделе "Логические сети" для Azure Stack HCI. Необходимо зарезервировать один IP-адрес на виртуальную машину узла кластера AKS в среде Azure Stack HCI.

Примечание.

Статический IP-адрес — это единственный поддерживаемый режим назначения IP-адреса виртуальным машинам AKS Arc. Это связано с тем, что Kubernetes требует, чтобы IP-адрес, назначенный узлу Kubernetes, был константой на протяжении всего жизненного цикла кластера Kubernetes. Программные виртуальные сети и связанные функции SDN в настоящее время не поддерживаются в AKS в Azure Stack HCI 23H2.

Для использования логической сети для операции создания кластера AKS Arc требуются следующие параметры:

Параметр логической сети Description Обязательный параметр для кластера AKS Arc
--address-prefixes АдресPrefix для сети. В настоящее время поддерживается только 1 префикс адреса. Использование: --address-prefixes "10.220.32.16/24". Поддерживается
--dns-servers Разделенный пробелами список IP-адресов DNS-сервера. Использование: --dns-servers 10.220.32.16 10.220.32.17. Поддерживается
--gateway Шлюз IP-адрес шлюза должен находиться в области префикса адреса. Использование: --gateway 10.220.32.16. Поддерживается
--ip-allocation-method Метод выделения IP-адресов. Поддерживаемые значения : Static. Использование: --ip-allocation-method "Static". Поддерживается
--ip-pool-start Начальный IP-адрес пула IP-адресов. Адрес должен находиться в диапазоне префикса адреса. Использование: --ip-pool-start "10.220.32.18". Поддерживается
--ip-pool-end Конечный IP-адрес пула IP-адресов. Адрес должен находиться в диапазоне префикса адреса. Использование: --ip-pool-end "10.220.32.38". Поддерживается
--vm-switch-name Имя коммутатора виртуальной машины. Использование: --vm-switch-name "vm-switch-01". Поддерживается

IP-адрес плоскости управления

Kubernetes использует плоскость управления, чтобы гарантировать, что каждый компонент в кластере Kubernetes хранится в требуемом состоянии. Плоскость управления также управляет рабочими узлами, владеющими контейнерными приложениями. AKS, включенный Arc, развертывает подсистему балансировки нагрузки KubeVIP, чтобы обеспечить доступность IP-адреса сервера API уровня управления Kubernetes. Для работы этого экземпляра KubeVIP требуется один неизменяемый IP-адрес плоскости управления.

Примечание.

IP-адрес плоскости управления является обязательным параметром для создания кластера Kubernetes. Необходимо убедиться, что IP-адрес плоскости управления кластера Kubernetes не перекрывается ни с чем другим, включая логические сети Arc, IP-адреса сети инфраструктуры, подсистемы балансировки нагрузки и т. д. IP-адрес плоскости управления также должен находиться в пределах префикса адреса логической сети, но за пределами пула IP-адресов. Это связано с тем, что пул IP-адресов используется только для виртуальных машин, и если вы выберете IP-адрес из пула IP-адресов для плоскости управления, конфликт IP-адресов может привести. Перекрывающиеся IP-адреса могут привести к непредвиденным сбоям как для кластера AKS, так и для любого другого места, где используется IP-адрес. Необходимо зарезервировать один IP-адрес для кластера Kubernetes в вашей среде.

IP-адреса подсистемы балансировки нагрузки для контейнерных приложений

Основной целью подсистемы балансировки нагрузки является распределение трафика между несколькими узлами в кластере Kubernetes. Эта балансировка нагрузки может помочь предотвратить простой и повысить общую производительность приложений. AKS поддерживает следующие параметры развертывания подсистемы балансировки нагрузки для кластера Kubernetes:

Независимо от того, выбрано ли расширение MetalLB Arc или принести собственный балансировщик нагрузки, необходимо предоставить набор IP-адресов в службу подсистемы балансировки нагрузки. Вам доступны следующие варианты:

  • Укажите IP-адреса для служб из той же подсети, что и виртуальные машины AKS Arc.
  • Используйте другую сеть и список IP-адресов, если приложению требуется внешняя балансировка нагрузки.

Независимо от выбранного варианта, необходимо убедиться, что IP-адреса, выделенные подсистеме балансировки нагрузки, не конфликтуют с IP-адресами в логической сети или IP-адресах плоскости управления для кластеров Kubernetes. Конфликтующие IP-адреса могут привести к непредвиденным сбоям в развертывании и приложениях AKS.

Планирование простых IP-адресов для кластеров и приложений Kubernetes

В следующем сценарии вы зарезервируете IP-адреса из одной сети для кластеров и служб Kubernetes. Это самый простой и простой сценарий назначения IP-адресов.

Требование IP-адреса Минимальное количество IP-адресов Как и где сделать это резервирование
IP-адреса виртуальных машин AKS Arc Зарезервируйте один IP-адрес для каждого рабочего узла в кластере Kubernetes. Например, если вы хотите создать 3 пула узлов с 3 узлами в каждом пуле узлов, необходимо иметь 9 IP-адресов в пуле IP-адресов. Резервируйте IP-адреса для виртуальных машин AKS Arc с помощью пулов IP-адресов в логической сети виртуальной машины Arc.
IP-адреса обновления версии AKS Arc K8s Так как AKS Arc выполняет последовательное обновление, зарезервировать один IP-адрес для каждого кластера AKS Arc для операций обновления версий Kubernetes. Резервируйте IP-адреса для операции обновления версий K8s с помощью пулов IP-адресов в логической сети виртуальной машины Arc.
IP-адрес плоскости управления Зарезервируйте один IP-адрес для каждого кластера Kubernetes в вашей среде. Например, если вы хотите создать 5 кластеров в общей сложности, зарезервировать 5 IP-адресов, по одному для каждого кластера Kubernetes. Резервируйте IP-адреса для IP-адресов уровня управления в той же подсети, что и логическая сеть виртуальной машины Arc, но за пределами указанного пула IP-адресов.
IP-адреса подсистемы балансировки нагрузки Количество зарезервированных IP-адресов зависит от модели развертывания приложения. В качестве отправной точки можно зарезервировать один IP-адрес для каждой службы Kubernetes. Резервируйте IP-адреса для IP-адресов уровня управления в той же подсети, что и логическая сеть виртуальной машины Arc, но за пределами указанного пула IP-адресов.

Пример пошагового руководства по резервированию IP-адресов для кластеров и приложений Kubernetes

Джейн — это ИТ-администратор, который только начинается с AKS, включенного в Azure Arc. Она хочет развернуть два кластера Kubernetes: кластер Kubernetes A и кластер Kubernetes B в своем кластере Azure Stack HCI. Она также хочет запустить приложение для голосования поверх кластера A. Это приложение содержит три экземпляра интерфейсного пользовательского интерфейса, работающего в двух кластерах и одном экземпляре серверной базы данных. Все ее кластеры и службы AKS выполняются в одной сети с одной подсетью.

  • Кластер Kubernetes A имеет 3 узла уровня управления и 5 рабочих узлов.
  • Кластер Kubernetes B имеет 1 узел уровня управления и 3 рабочих узла.
  • 3 экземпляра интерфейсного пользовательского интерфейса (порт 443).
  • 1 экземпляр серверной базы данных (порт 80).

На основе предыдущей таблицы она должна зарезервировать в общей сложности 19 IP-адресов в своей подсети:

  • 8 IP-адресов для виртуальных машин узла AKS Arc в кластере A (один IP-адрес на виртуальную машину узла K8s).
  • 4 IP-адреса для виртуальных машин узла AKS Arc в кластере B (один IP-адрес на виртуальную машину узла K8s).
  • 2 IP-адреса для выполнения операции обновления AKS Arc (один IP-адрес для кластера AKS Arc).
  • 2 IP-адреса для плоскости управления AKS Arc (один IP-адрес для кластера AKS Arc)
  • 3 IP-адреса для службы Kubernetes (один IP-адрес для каждого экземпляра внешнего пользовательского интерфейса, так как все они используют один и тот же порт. Серверная база данных может использовать любой из трех IP-адресов, если он использует другой порт).

Продолжая использовать этот пример и добавив его в следующую таблицу, вы получите следующее:

Параметр Число IP-адресов Как и где сделать это резервирование
Обновление версий AKS Arc и K8s Резервировать 14 IP-адресов Сделайте это резервирование через пулы IP-адресов в логической сети Azure Stack HCI.
IP-адрес плоскости управления Резервировать 2 IP-адреса, один для кластера AKS Arc controlPlaneIP Используйте параметр, чтобы передать IP-адрес для IP-адреса плоскости управления. Убедитесь, что этот IP-адрес находится в той же подсети, что и логическая сеть Arc, но за пределами пула IP-адресов, определенного в логической сети Arc.
IP-адреса подсистемы балансировки нагрузки 3 IP-адрес для служб Kubernetes для приложения для голосования Джейн. Эти IP-адреса используются при установке подсистемы балансировки нагрузки в кластерЕ A. Вы можете использовать расширение MetalLB Arc или использовать собственный сторонний балансировщик нагрузки. Убедитесь, что этот IP-адрес находится в той же подсети, что и логическая сеть Arc, но за пределами пула IP-адресов, определенного в логической сети виртуальной машины Arc.

Параметры прокси-сервера

Параметры прокси-сервера в AKS наследуются от базовой системы инфраструктуры. Функция настройки отдельных параметров прокси-сервера для кластеров Kubernetes и изменение параметров прокси-сервера пока не поддерживается.

Требования к сетевому порту и кросс-VLAN

При развертывании Azure Stack HCI вы выделяете непрерывный блок не менее шести статических IP-адресов в подсети сети управления, не указывая адреса, уже используемые физическими серверами. Эти IP-адреса используются Azure Stack HCI и внутренней инфраструктурой (Arc Resource Bridge) для управления виртуальными машинами Arc и AKS Arc. Если ваша сеть управления, предоставляющая IP-адреса, связанные со службами Azure Stack HCI, находятся в другой виртуальной локальной сети, отличной от логической сети, используемой для создания кластеров AKS, необходимо убедиться, что следующие порты будут открыты для успешного создания и эксплуатации кластера AKS.

Конечный порт Назначение Оригинал Description Заметки о перекрестной сети виртуальной локальной сети
22 Логическая сеть, используемая для виртуальных машин AKS Arc IP-адреса в сети управления Требуется для сбора журналов для устранения неполадок. При использовании отдельных виртуальных ЛС IP-адреса в сети управления, используемой для Azure Stack HCI и Arc Resource Bridge, должны получить доступ к виртуальным машинам кластера AKS Arc на этом порту.
6443 Логическая сеть, используемая для виртуальных машин AKS Arc IP-адреса в сети управления Требуется для взаимодействия с API Kubernetes. При использовании отдельных виртуальных ЛС IP-адреса в сети управления, используемой для Azure Stack HCI и Arc Resource Bridge, должны получить доступ к виртуальным машинам кластера AKS Arc на этом порту.
55000 IP-адреса в сети управления Логическая сеть, используемая для виртуальных машин AKS Arc Сервер gRPC облачного агента При использовании отдельных виртуальных ЛС виртуальные машины AKS Arc должны получить доступ к IP-адресам в сети управления, используемой для IP-адреса и IP-адреса кластера облачного агента на этом порту.
65000 IP-адреса в сети управления Логическая сеть, используемая для виртуальных машин AKS Arc Проверка подлинности gRPC облачного агента При использовании отдельных виртуальных ЛС виртуальные машины AKS Arc должны получить доступ к IP-адресам в сети управления, используемой для IP-адреса и IP-адреса кластера облачного агента на этом порту.

Исключения URL-адресов брандмауэра

Сведения о списке разрешений брандмауэра и прокси-сервера Azure Arc см. в требованиях к сети моста ресурсов Azure Arc и требованиях к сети Azure Stack HCI 23H2.

Примечание.

Если вы развертываете более старый выпуск Azure Stack HCI , например 2402 и более ранних версий, необходимо также разрешить gcr.io и storage.googleapis.com URL-адреса. Эти URL-адреса были удалены из последнего выпуска AKS Arc.

URL Порт Service Примечания.
https://mcr.microsoft.com
*.data.mcr.microsoft.com
azurearcfork8s.azurecr.io
linuxgeneva-microsoft.azurecr.io
pipelineagent.azurecr.io
ecpacr.azurecr.io
https://azurearcfork8sdev.azurecr.io
https://hybridaks.azurecr.io
aszk8snetworking.azurecr.io
443 AKS Arc Используется для официальных артефактов Майкрософт, таких как образы контейнеров.
docker.io 443 AKS Arc Используется для официальных артефактов Kubernetes, таких как базовые образы контейнеров.
hybridaksstorage.z13.web.core.windows.net 443 AKS Arc Статический веб-сайт AKSHCI, размещенный в служба хранилища Azure.
*.blob.core.windows.net
*.dl.delivery.mp.microsoft.com
*.do.dsp.mp.microsoft.com
443 AKS Arc Используется для скачивания и обновления образа AKS Arc VHD.
*.prod.do.dsp.mp.microsoft.com 443 AKS Arc Используется для скачивания и обновления образа AKS Arc VHD.
*.login.microsoft.com 443 Azure Требуется для получения и обновления маркеров Azure Resource Manager для входа в Azure.
https://*.his.arc.azure.com 443 K8s с поддержкой Azure Arc Используется для удостоверений и управления доступом агентов Arc.
https://*.dp.kubernetesconfiguration.azure.com 443 K8s с поддержкой Azure Arc Используется для конфигурации Azure Arc.
https://*.servicebus.windows.net 443 K8s с поддержкой Azure Arc Используется для безопасного подключения к кластерам Kubernetes с поддержкой Azure Arc, не требуя включения любого входящего порта в брандмауэре.
https://guestnotificationservice.azure.com 443 K8s с поддержкой Azure Arc Используется для операций с гостевыми уведомлениями.
sts.windows.net 443 K8s с поддержкой Azure Arc Для сценария подключения к кластеру и пользовательского расположения.
https://*.dp.prod.appliances.azure.com 443 Мост ресурсов Arc Используется для операций плоскости данных для моста ресурсов (устройство).
*.prod.microsoftmetrics.com
*.prod.hot.ingestion.msftcloudes.com
dc.services.visualstudio.com
*.prod.warm.ingest.monitor.core.windows.net
gcs.prod.monitoring.core.windows.net
https://adhs.events.data.microsoft.com
https://v20.events.data.microsoft.com
443 Наблюдение за работоспособностью системы и метриками Используется для метрик и мониторинга трафика телеметрии.
pypi.org
*.pypi.org
files.pythonhosted.org
443 Az CLI Используется для скачивания расширений Az CLI и Az CLI.
aka.ms 443 Azure Stack HCI Требуется для загрузки, связанной с Azure Stack HCI.
raw.githubusercontent.com 443 GitHub Используется для GitHub.
www.microsoft.com 80 Официальный веб-сайт Майкрософт. Официальный веб-сайт Майкрософт.

Следующие шаги

Создание логических сетей для кластеров Kubernetes в Azure Stack HCI 23H2