Основные понятия сети для развертывания узлов AKS

Область применения: AKS в Azure Stack HCI 22H2, AKS в Windows Server

Вы можете выбрать две модели назначения IP-адресов для архитектуры сети для AKS, включенной Azure Arc. AKS поддерживает несколько вариантов развертывания для Служба Azure Kubernetes (AKS).

  • Сеть статических IP-адресов. Виртуальная сеть выделяет статические IP-адреса серверу API кластера Kubernetes, узлам Kubernetes, базовым виртуальным машинам, подсистемам балансировки нагрузки и всем службам Kubernetes, работающим поверх кластера.
  • Сеть DHCP. Виртуальная сеть выделяет динамические IP-адреса узлам Kubernetes, базовым виртуальным машинам и подсистемам балансировки нагрузки с помощью DHCP-сервера. Сервер API кластера Kubernetes и все службы Kubernetes, запущенные в кластере, по-прежнему выделяют статические IP-адреса.

Примечание

Архитектура виртуальных сетей, определенная здесь для AKS Arc, может отличаться от базовой физической сетевой архитектуры в центре обработки данных.

Пул виртуальных IP-адресов

Пул виртуальных IP-адресов — это набор IP-адресов, которые являются обязательными для любого развертывания в AKS Arc. Пул ВИРТУАЛЬНЫх IP-адресов — это диапазон зарезервированных IP-адресов, используемых для выделения IP-адресов серверу API кластера Kubernetes. Это гарантирует, что приложения в службах Kubernetes всегда доступны. Помните, что независимо от модели виртуальной сети и выбранной модели назначения адресов необходимо предоставить пул виртуальных IP-адресов для развертывания узла AKS.

Количество IP-адресов в пуле ВИРТУАЛЬНЫх IP-адресов зависит от количества кластеров рабочей нагрузки и служб Kubernetes, запланированных для развертывания.

В зависимости от сетевой модели определение пула ВИРТУАЛЬНЫх IP-адресов отличается следующим образом:

  • Статический IP-адрес. Если вы используете статический IP-адрес, убедитесь, что виртуальные IP-адреса находятся в той же предоставленной подсети.
  • DHCP: если в вашей сети настроен протокол DHCP, обратитесь к администратору сети, чтобы исключить диапазон IP-адресов пула ВИРТУАЛЬНЫх IP-адресов из область DHCP, используемого для развертывания AKS в Azure Stack HCI.

Пул IP-адресов виртуальной машины узла Kubernetes

Узлы Kubernetes развертываются в качестве специализированных виртуальных машин в AKS Arc. AKS выделяет IP-адреса для этих виртуальных машин, чтобы обеспечить обмен данными между узлами Kubernetes.

  • Статический IP-адрес: необходимо указать диапазон пула IP-адресов виртуальной машины узла Kubernetes. Количество IP-адресов в этом диапазоне зависит от общего числа узлов Kubernetes, которые вы планируете использовать для развертывания в кластерах Kubernetes узла AKS и рабочей нагрузки. Помните, что обновления используют от одного до трех дополнительных IP-адресов во время обновления.
  • DHCP: не нужно указывать пул виртуальных машин узла Kubernetes, так как IP-адреса узлов Kubernetes динамически выделяются DHCP-сервером в вашей сети.

Эта сетевая модель создает виртуальную сеть, которая выделяет IP-адреса из статического пула адресов для всех объектов в развертывании. Дополнительное преимущество использования статических IP-сетей заключается в том, что длительные развертывания и рабочие нагрузки приложений всегда будут доступны.

При определении виртуальной сети со статическими IP-конфигурациями укажите следующие параметры:

Важно!

Эта версия AKS не позволяет изменять конфигурацию сети после развертывания узла AKS или кластера рабочей нагрузки. Чтобы изменить параметры сети, необходимо начать заново, удалив кластеры рабочей нагрузки и удалив AKS.

  • Имя. Имя виртуальной сети.

  • Префикс адреса: префикс IP-адреса, используемый для вашей подсети.

  • Шлюз: IP-адрес шлюза по умолчанию для подсети.

  • DNS-сервер: массив IP-адресов, указывающих на DNS-серверы, используемые для подсети. Можно указать как минимум один сервер и не более трех серверов.

  • Пул виртуальных машин узла Kubernetes. Непрерывный диапазон IP-адресов, используемых для виртуальных машин узла Kubernetes.

  • Пул виртуальных IP-адресов. Непрерывный диапазон IP-адресов, используемых для сервера API кластера Kubernetes и служб Kubernetes.

    Примечание

    Пул ВИРТУАЛЬНЫх IP-адресов должен быть частью той же подсети, что и пул виртуальных машин узла Kubernetes.

  • идентификатор виртуальной локальной сети. Идентификатор виртуальной локальной сети. Если этот параметр опущен, виртуальная сеть не помечается.

Виртуальная сеть с сетью DHCP

Эта сетевая модель создает виртуальную сеть, которая выделяет IP-адреса с помощью DHCP для всех объектов в развертывании.

При определении виртуальной сети со статическими IP-конфигурациями необходимо указать следующие параметры:

Важно!

В этой версии AKS невозможно изменить конфигурацию сети после развертывания узла AKS или кластера рабочей нагрузки. Единственный способ изменить параметры сети — начать заново, удалив кластеры рабочей нагрузки и удалив AKS.

  • Имя. Имя виртуальной сети.

  • Пул виртуальных IP-адресов. Непрерывный диапазон IP-адресов, используемых для сервера API кластера Kubernetes и служб Kubernetes.

    Примечание

    Адреса пула ВИРТУАЛЬНЫх IP-адресов должны находиться в той же подсети, что и DHCP-область, и должны быть исключены из область DHCP, чтобы избежать конфликтов адресов.

  • идентификатор виртуальной локальной сети. Идентификатор виртуальной локальной сети. Если этот параметр опущен, виртуальная сеть не помечается.

Локальная облачная служба Майкрософт

Локальное облако (Майкрософт) — это стек управления, который позволяет управлять виртуальными машинами в Azure Stack HCI и windows Server SDDC в облаке. MOC состоит из следующих элементов:

  • Один экземпляр высокодоступной cloud agent службы, развернутой в кластере. Этот агент выполняется на любом узле в кластере Azure Stack HCI или Windows Server и настроен для отработки отказа на другой узел.
  • Объект , работающий node agent на каждом физическом узле Azure Stack HCI.

Чтобы включить обмен данными с MOC, необходимо указать IP-адрес CIDR, который будет использоваться для службы. -cloudserviceCIDR— это параметр в командеSet-AksHciConfig, который используется для назначения IP-адреса облачной службе агента и обеспечения высокого уровня доступности службы облачного агента.

Выбор IP-адреса для службы MOC зависит от базовой сетевой модели, используемой развертыванием кластера в Azure Stack HCI или Windows Server.

Примечание

Выделение IP-адресов для службы MOC не зависит от модели виртуальной сети Kubernetes. Выделение IP-адресов зависит от базовой физической сети и IP-адресов, настроенных для узлов кластера Azure Stack HCI или Windows Server в центре обработки данных.

  • Узлы кластера Azure Stack HCI и Windows Server с режимом выделения IP-адресов на основе DHCP. Если узлам Azure Stack HCI назначен IP-адрес DHCP-сервера, присутствующего в физической сети, вам не нужно явно предоставлять IP-адрес для службы MOC, так как служба MOC также получает IP-адрес от DHCP-сервера.

  • Узлы кластера Azure Stack HCI и Windows Server со статической моделью выделения IP-адресов. Если узлам кластера назначены статические IP-адреса, необходимо явно указать IP-адрес для облачной службы MOC. IP-адрес службы MOC должен находиться в той же подсети, что и IP-адреса узлов кластера Azure Stack HCI и Windows Server. Чтобы явно назначить IP-адрес для службы MOC, используйте -cloudserviceCIDR параметр в команде Set-AksHciConfig . Введите IP-адрес в формате CIDR, например 10.11.23.45/16.

Сравнение сетевых моделей

Dhcp и статический IP-адрес обеспечивают сетевое подключение к AKS в Развертывании Azure Stack HCI и Windows Server. Каждая из этих моделей имеет свои преимущества и недостатки. На высоком уровне следует учитывать следующие соображения.

DHCP — не гарантирует долгоживущие IP-адреса для некоторых типов ресурсов в развертывании AKS. — Поддерживает расширение зарезервированных IP-адресов DHCP, если развертывание становится больше, чем вы изначально ожидали.

Статический IP-адрес — гарантирует долгосрочные IP-адреса для всех ресурсов в развертывании AKS. — Так как автоматическое расширение пула IP-адресов узлов Kubernetes не поддерживается, возможно, вы не сможете создать новые кластеры, если вы исчерпали пул IP-адресов узла Kubernetes.

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

Функция Статический IP-адрес DHCP
Сервер API кластера Kubernetes Назначается статически с помощью пула ВИРТУАЛЬНЫх IP-адресов. Назначается статически с помощью пула ВИРТУАЛЬНЫх IP-адресов.
Узлы Kubernetes (на виртуальных машинах) Назначается с помощью пула IP-адресов узла Kubernetes. Назначается динамически.
Службы Kubernetes Назначается статически с помощью пула ВИРТУАЛЬНЫх IP-адресов. Назначается статически с помощью пула ВИРТУАЛЬНЫх IP-адресов.
Виртуальная машина подсистемы балансировки нагрузки HAProxy Назначается с помощью пула IP-адресов узла Kubernetes. Назначается динамически.
Локальная облачная служба Майкрософт Зависит от конфигурации физической сети для узлов кластера Azure Stack HCI и Windows Server. Зависит от конфигурации физической сети для узлов кластера Azure Stack HCI и Windows Server.
Пул ВИРТУАЛЬНЫх IP-адресов Обязательный Обязательный
Пул IP-адресов виртуальной машины узла Kubernetes Обязательный Не поддерживается

Минимальное резервирование IP-адресов для развертывания AKS

Независимо от модели развертывания количество зарезервированных IP-адресов остается неизменным. В этом разделе описывается количество IP-адресов, которые необходимо зарезервировать на основе модели развертывания AKS Arc.

Минимальное резервирование IP-адресов

Для развертывания следует зарезервировать как минимум следующее количество IP-адресов:

Тип кластера Узел уровня управления Рабочий узел Для операций обновления Подсистема балансировки нагрузки
Узел AKS Один IP-адрес Н/Д Два IP-адреса Н/Д
Кластер рабочей нагрузки Один IP-адрес на узел Один IP-адрес на узел 5 IP-адресов Один IP-адрес

Кроме того, необходимо зарезервировать следующее количество IP-адресов для пула ВИРТУАЛЬНЫх IP-адресов:

Тип ресурса Число IP-адресов
Сервер API кластера 1 на кластер
Службы Kubernetes 1 на службу
Службы приложений 1 на запланированную службу

Как видите, количество необходимых IP-адресов зависит от архитектуры развертывания AKS и количества служб, запущенных в кластере Kubernetes. Рекомендуется зарезервировать не менее 256 IP-адресов (/24 подсеть) для развертывания.

Пошаговое руководство по развертыванию

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

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

В соответствии с предыдущей таблицей необходимо зарезервировать:

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

Как упоминалось ранее, для развертывания кластера Джейн требуется в общей сложности 32 IP-адреса. Поэтому Джейн следует зарезервировать подсеть /26 для своей виртуальной сети.

Разделение зарезервированных IP-адресов на основе модели статической IP-сети

Хотя общее число зарезервированных IP-адресов остается неизменным, модель развертывания определяет, как эти IP-адреса распределяются между группами IP-адресов. Модель сети статических IP-адресов имеет два пула IP-адресов:

  • Пул IP-адресов узла Kubernetes: для виртуальных машин узла Kubernetes и виртуальной машины подсистемы балансировки нагрузки. Этот пул IP-адресов также включает IP-адрес, необходимый для выполнения операций обновления.
  • Пул виртуальных IP-адресов: для сервера API Kubernetes и служб Kubernetes.

При работе с этим примером Джейн должна дополнительно разделить эти IP-адреса между пулами ВИРТУАЛЬНЫх IP-адресов и пулами IP-адресов узла Kubernetes:

  • 5 (два для сервера API кластера Kubernetes и три для служб Kubernetes) из 32 IP-адресов для пула ВИРТУАЛЬНЫх IP-адресов.
  • 27 (все IP-адреса для узлов Kubernetes и базовых виртуальных машин, виртуальные машины подсистемы балансировки нагрузки и операции обновления) для пула IP-адресов узла Kubernetes.

Разделение зарезервированных IP-адресов на основе модели сети DHCP

Хотя общее число зарезервированных IP-адресов остается неизменным, модель развертывания определяет, как эти IP-адреса распределяются между группами IP-адресов. Как упоминалось в предыдущем разделе, модель сети DHCP имеет один IP-область:

  • Пул виртуальных IP-адресов: для сервера API Kubernetes и служб Kubernetes.

Работа с предыдущим примером:

  • Джейн должна зарезервировать в общей сложности 32 IP-адреса или подсеть /26 на своем DHCP-сервере.
  • Она должна исключить 5 (два для сервера API кластера Kubernetes и три для служб Kubernetes) из область DHCP из 32 IP-адресов для пула ВИРТУАЛЬНЫх IP-адресов.

Контроллеры входящего трафика

Во время развертывания целевого кластера HAProxyсоздается ресурс подсистемы балансировки нагрузки на основе . Подсистема балансировки нагрузки настроена для распределения трафика между объектами pod в службе на заданном порте. Подсистема балансировки нагрузки работает только на уровне 4, что означает, что служба не знает о фактическом приложении; т. е. он не может делать никаких дополнительных рекомендаций по маршрутизации.

Контроллеры входящего трафика работают на уровне 7 и могут использовать более интеллектуальные правила для распределения трафика приложений. Обычно контроллер входящего трафика используется для маршрутизации HTTP-трафика в различные приложения на основе входящего URL-адреса.

Схема, показывающая поток входящего трафика в кластере AKS в Azure Stack HCI.

Дальнейшие действия

В этой статье рассматриваются некоторые концепции сети для развертывания узлов AKS в Azure Stack HCI. Дополнительные сведения см. в следующих статьях: