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.
Чтобы использовать логическую сеть для операции создания кластера AKS Arc, требуются следующие параметры:
Параметр логической сети | Описание | Обязательный параметр для кластера AKS Arc |
---|---|---|
--address-prefixes |
AddressPrefix для сети. В настоящее время поддерживается только 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-адреса подсистемы балансировки нагрузки для контейнерных приложений
Main целью подсистемы балансировки нагрузки является распределение трафика между несколькими узлами в кластере Kubernetes. Такая балансировка нагрузки помогает предотвратить простои и повысить общую производительность приложений. AKS поддерживает следующие варианты развертывания подсистемы балансировки нагрузки для кластера Kubernetes:
- Развертывание подсистемы балансировки нагрузки MetalLB с помощью расширения Azure Arc.
- Принесите собственную стороннюю подсистему балансировки нагрузки.
Независимо от того, выбираете ли вы расширение Arc MetalLB или собственную подсистему балансировки нагрузки, необходимо предоставить набор 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 для приложения Jane для голосования. | Эти IP-адреса используются при установке подсистемы балансировки нагрузки в кластере A. Вы можете использовать расширение Arc MetalLB или использовать собственную стороннюю подсистему балансировки нагрузки. Убедитесь, что этот IP-адрес находится в той же подсети, что и логическая сеть Arc, но за пределами пула IP-адресов, определенного в логической сети виртуальной машины Arc. |
Параметры прокси-сервера
Параметры прокси-сервера в AKS наследуются от базовой системы инфраструктуры. Функции настройки отдельных параметров прокси-сервера для кластеров Kubernetes и изменения параметров прокси-сервера пока не поддерживаются.
Требования к сетевым портам & между виртуальными локальными сетями
При развертывании Azure Stack HCI выделяется непрерывный блок не менее шести статических IP-адресов в подсети сети управления, пропуская адреса, уже используемые физическими серверами. Эти IP-адреса используются Azure Stack HCI и внутренней инфраструктурой (Arc Resource Bridge) для управления виртуальными машинами Arc и AKS Arc. Если ваша сеть управления, предоставляющая IP-адреса для служб Azure Stack HCI, связанных с Arc Resource Bridge, находятся в виртуальной локальной сети, отличной от логической сети, используемой для создания кластеров AKS, необходимо убедиться, что для успешного создания и эксплуатации кластера AKS открыты следующие порты.
Конечный порт | Назначение | Source | Описание | Примечания к сети между виртуальными локальными сетями |
---|---|---|---|---|
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 на этом порту. |
55 000 | IP-адреса в сети управления | Логическая сеть, используемая для виртуальных машин AKS Arc | Сервер gRPC облачного агента | При использовании отдельных виртуальных ЛС виртуальные машины AKS Arc должны получить доступ к IP-адресам в сети управления, используемой для IP-адреса облачного агента и IP-адреса кластера на этом порту. |
65000 | IP-адреса в сети управления | Логическая сеть, используемая для виртуальных машин AKS Arc | Проверка подлинности gRPC облачного агента | При использовании отдельных виртуальных ЛС виртуальные машины AKS Arc должны получить доступ к IP-адресам в сети управления, используемой для IP-адреса облачного агента и IP-адреса кластера на этом порту. |
Исключения URL-адресов брандмауэра
Сведения о списке разрешенных URL-адресов брандмауэра Или прокси-сервера Azure Arc см. в разделах Требования к сети к мосту ресурсов Azure Arc и Требования к сети Azure Stack HCI 23H2.
Для развертывания и работы кластеров Kubernetes следующие URL-адреса должны быть доступны со всех физических узлов и виртуальных машин AKS Arc в развертывании. Убедитесь, что в конфигурации брандмауэра разрешены следующие URL-адреса:
URL-адрес | Порт | Служба | Примечания |
---|---|---|---|
https://mcr.microsoft.com |
443 | Реестр контейнеров Майкрософт | Используется для официальных артефактов Майкрософт, таких как образы контейнеров. |
https://*.his.arc.azure.com |
443 | Служба удостоверений Azure Arc | Используется для управления удостоверениями и доступом. |
https://*.dp.kubernetesconfiguration.azure.com |
443 | Kubernetes | Используется для конфигурации Azure Arc. |
https://*.servicebus.windows.net |
443 | Подключение к кластеру | Используется для безопасного подключения к кластерам Kubernetes с поддержкой Azure Arc без необходимости включения входящего порта в брандмауэре. |
https://guestnotificationservice.azure.com |
443 | Служба уведомлений | Используется для операций уведомления гостей. |
https://*.dp.prod.appliances.azure.com |
443 | Служба плоскости данных | Используется для операций плоскости данных для моста ресурсов ((модуль)). |
*.data.mcr.microsoft.com azurearcfork8s.azurecr.io linuxgeneva-microsoft.azurecr.io pipelineagent.azurecr.io ecpacr.azurecr.io |
443 | Скачивание агента | Используется для загрузки образов и агентов. |
*.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 |
443 | Наблюдение за работоспособностью системы и метриками | Используется для метрик и мониторинга трафика телеметрии. |
*.blob.core.windows.net *.dl.delivery.mp.microsoft.com *.do.dsp.mp.microsoft.com |
443 | TCP | Используется для скачивания образов моста ресурсов ((модуль)). |
https://azurearcfork8sdev.azurecr.io |
443 | Kubernetes | Используется для скачивания образов контейнеров Azure Arc для Kubernetes. |
https://adhs.events.data.microsoft.com |
443 | Телеметрия | ADHS — это служба телеметрии, работающая в ос (модуль)/mariner. Периодически используется для отправки необходимых диагностических данных в корпорацию Майкрософт с узлов уровня управления. Используется, когда данные телеметрии сходит с mariner, что означает любой уровень управления Kubernetes. |
https://v20.events.data.microsoft.com |
443 | Телеметрия | Используется периодически для отправки необходимых диагностических данных в корпорацию Майкрософт с узла Windows Server. |
gcr.io |
443 | Реестр контейнеров Google | Используется для официальных артефактов Kubernetes, таких как базовые образы контейнеров. |
pypi.org |
443 | Управление | Проверьте версии Kubernetes и Python. |
*.pypi.org |
443 | Управление | Проверьте версии Kubernetes и Python. |
https://hybridaks.azurecr.io |
443 | Образ контейнера | Требуется для доступа к образу оператора HybridAKS. |
aka.ms |
443 | az extensions | Требуется для скачивания расширений Azure CLI, таких как aksarc и connectedk8s. |
*.login.microsoft.com |
443 | Azure | Требуется для извлечения и обновления маркеров Azure Resource Manager. |
sts.windows.net |
443 | Azure Arc | Для сценария подключения к кластеру и настраиваемого расположения. |
hybridaksstorage.z13.web.core.windows.net |
443 | Azure Stack HCI | Статический веб-сайт AKSHCI, размещенный в службе хранилища Azure. |
raw.githubusercontent.com |
443 | GitHub | Используется для GitHub. |
www.microsoft.com |
80 | Официальный веб-сайт Майкрософт. | Официальный веб-сайт Майкрософт. |
*.prod.do.dsp.mp.microsoft.com |
443 | Microsoft Update | Скачивание образа моста ресурсов ((модуль)). |
files.pythonhosted.org |
443 | Управление | Пакет Python. |
Дальнейшие действия
Create логических сетей для кластеров Kubernetes в Azure Stack HCI 23H2
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по