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 с помощью расширения Azure Arc.
- Принесите собственную стороннюю подсистему балансировки нагрузки.
Независимо от того, выбрано ли расширение 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