Развертывание программно-конфигурируемой сети Майкрософт (SDN)

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

В этой статье описывается, как развернуть инфраструктуру AKS и виртуальные машины рабочей нагрузки в виртуальная сеть SDN с помощью программного Load Balancer SDN для всех сценариев балансировки нагрузки AKS Arc. AKS с поддержкой Azure Arc предлагает полностью поддерживаемую платформу контейнеров, которая может запускать ориентированные на облако приложения на платформе оркестрации контейнеров Kubernetes. Архитектура поддерживает выполнение виртуализированных рабочих нагрузок Windows и Linux.

Ограничения

Следующие функции не область и не поддерживаются в этом общедоступном выпуске:

  • Подключение модулей pod и контейнеров к виртуальной сети SDN.
    • Модули pod используют Flannel или Calico (по умолчанию) в качестве поставщика сети.
  • Применение политики сети с помощью Группы безопасности сети SDN.
    • Группы безопасности сети SDN по-прежнему можно настроить за пределами AKS Arc с помощью средств SDN (REST/PowerShell/Windows Admin Center/SCVMM), но объекты Kubernetes NetworkPolicy не настраивают их.
  • Подключение сетевых карт виртуальных машин AKS Arc к логическим сетям SDN.
  • Установка с помощью Windows Admin Center.
  • Подключение физического узла к виртуальной машине AKS Arc. Сетевые карты виртуальных машин присоединены к виртуальной сети SDN и, следовательно, недоступны с узла по умолчанию. Сейчас это подключение можно включить вручную, подключив общедоступный IP-адрес непосредственно к виртуальной машине с помощью программного Load Balancer SDN.

Предварительные требования

Чтобы развернуть AKS с поддержкой Arc с SDN, убедитесь, что ваша среда соответствует критериям развертывания AKS Arc и SDN.

Примечание

Для интеграции SDN с AKS Arc требуется только сетевой контроллер и программное обеспечение Load Balancer. Виртуальные машины шлюза являются необязательными.

Установка и подготовка SDN для AKS Arc

Первым шагом является установка SDN. Для установки SDN рекомендуется использовать SDN Express или Windows Admin Center. Справочный файл конфигурации, который развертывает все необходимые компоненты инфраструктуры SDN, можно найти здесь: Software Load Balancer.psd1.

После завершения развертывания SDN Express должен появиться экран с сообщением о работоспособности.

Если что-то пошло не так или отображается как неработоспособное, см. раздел Устранение неполадок SDN.

Прежде чем продолжить, важно, чтобы SDN был работоспособным. Если вы развертываете SDN в новой среде, мы также рекомендуем создать тестовые виртуальные машины и проверить подключение к виртуальным IP-адресам подсистемы балансировки нагрузки. Узнайте, как создавать виртуальные машины и подключать их к виртуальной сети SDN с помощью Windows Admin Center.

Действия по установке AKS

Инициализируйте и подготовьте все физические компьютеры для AKS Arc. Самые актуальные инструкции см. в разделе Развертывание узла AKS .

Установка модуля PowerShell AKS-HCI

Сведения об установке модуля PowerShell AKS-HCI см. в статье Установка модуля AksHci PowerShell .

Примечание

После завершения этого шага обновите или перезагрузите все открытые сеансы PowerShell, чтобы перезагрузить модули.

Регистрация поставщика ресурсов в подписке

Сведения о регистрации поставщика ресурсов в подписке см. в статье Установка модуля AksHci PowerShell.

Подготовка компьютеров к развертыванию

Сведения о подготовке компьютеров к развертыванию см. в статье Подготовка компьютеров к развертыванию.

Настройка AKS для установки

Выберите один из серверов Azure Stack HCI, чтобы управлять созданием AKS Arc. Перед установкой необходимо выполнить три шага.

  1. Настройка параметров сети AKS для SDN; Например, с помощью:

    1. Виртуальная сеть SDN "10.20.0.0/24" (10.20.0.0–10.20.0.255). Виртуализированная сеть, и вы можете использовать любую IP-подсеть. Эта подсеть не обязательно должна существовать в вашей физической сети.
    2. Имя vSwitch "External". Внешний виртуальный коммутатор на серверах Azure Stack HCI. Убедитесь, что используется тот же виртуальный коммутатор, который использовался для развертывания SDN.
    3. Шлюз "10.20.0.1". Этот адрес является шлюзом для виртуальной сети.
    4. DNS-сервер "10.127.130.7". DNS-сервер для виртуальной сети.
    $vnet = New-AksHciNetworkSetting –name "myvnet" –vswitchName "External" -k8sNodeIpPoolStart "10.20.0.2" -k8sNodeIpPoolEnd "10.20.0.255"
    -ipAddressPrefix "10.20.0.0/24" -gateway "10.20.0.1" -dnsServers "10.127.130.7"
    
    Параметр Описание
    -name Имя виртуальной сети в AKS, включенной с помощью Arc (должно быть в нижнем регистре).
    -vswitchName Имя внешнего виртуального коммутатора на серверах Azure Stack HCI. Используйте тот же vSwitch, который использовался для развертывания SDN.
    -k8sNodeIpPoolStart
    -k8sNodeIpPoolEnd
    Диапазон начала и окончания IP-адресов виртуальной сети SDN.
    -ipAddressPrefix Подсеть виртуальной сети в нотации CIDR.
    -gateway
    -dnsServers
    Шлюз и DNS-сервер виртуальной сети SDN.

    Дополнительные сведения об этих параметрах см. в разделе New-AksHciNetworkSetting.

  2. В том же окне PowerShell, которое вы использовали на шаге 1, создайте пул ВИРТУАЛЬНЫх IP-адресов, чтобы сообщить AKS о наших IP-адресах, которые можно использовать из логической сети балансировки нагрузки SDN:

    $VipPool = New-AksHciVipPoolSetting -name "publicvip" -vipPoolStart "10.127.132.16" -vipPoolEnd "10.127.132.23
    
    Параметр Описание
    -name Логическая сеть PublicVIP, указанная при настройке подсистем балансировки нагрузки SDN. В командлете это имя должно быть строчным.
    -vipPoolStart Диапазон запуска IP-адресов логической сети, используемой для пула ВИРТУАЛЬНЫх IP-адресов общедоступной подсистемы балансировки нагрузки. Необходимо использовать диапазон адресов из логической сети SDN PublicVIP.
    -vipPoolEnd Конечный диапазон IP-адресов логической сети, используемой для пула ВИРТУАЛЬНЫх IP-адресов общедоступной подсистемы балансировки нагрузки. Необходимо использовать диапазон адресов из логической сети SDN PublicVIP.
  3. В том же окне PowerShell, которое используется на шаге 2, создайте конфигурацию AKS для SDN, предоставив ссылки на целевые сети SDN, и укажите параметры сети ($vnet, $vipPool), которые мы определили ранее:

    Set-AksHciConfig 
    –imageDir "C:\ClusterStorage\Volume1\ImageStore" 
    –workingDir "C:\ClusterStorage\Volume1\WorkDir"
    –cloudConfigLocation "C:\ClusterStorage\Volume1\Config" 
    –vnet $vnet –useNetworkController
    –NetworkControllerFqdnOrIpAddress "nc.contoso.com" 
    –networkControllerLbSubnetRef "/logicalnetworks/PublicVIP/subnets/my_vip_subnet" 
    –networkControllerLnetRef "/logicalnetworks/HNVPA" 
    -vipPool $vipPool
    

    Логическая сеть HNVPA используется в качестве базового поставщика для виртуальной сети AKS Arc.

    Если вы используете CloudServiceCidr назначение статических IP-адресов для узлов кластера Azure Stack HCI, необходимо также указать параметр . Этот параметр является IP-адресом облачной службы MOC и должен находиться в той же подсети, что и узлы кластера Azure Stack HCI. Дополнительные сведения см. в статье Локальная облачная служба Майкрософт.

    Параметр Описание
    –imageDir Путь к папке, где AKS Arc хранит свои образы VHD. Это должен быть общий путь к хранилищу или общий ресурс SMB.
    –workingDir Путь к месту хранения небольших файлов модуля. Это должен быть общий путь к хранилищу или общий ресурс SMB.
    -cloudConfigLocation Путь к каталогу, в котором хранится конфигурация облачного агента. Это должен быть общий путь к хранилищу или общий ресурс SMB.
    -vnet Имя переменной, AksHciNetworkSetting созданной на предыдущем шаге
    -useNetworkController Включите интеграцию с SDN.
    -networkControllerFqdnOrIpAddress Полное доменное имя сетевого контроллера. Полное доменное имя можно получить, выполнив на Get-NetworkController виртуальной машине сетевого контроллера RestName и используя параметр .
    -networkControllerLbSubnetRef Ссылка на подсеть логической сети общедоступного ВИРТУАЛЬНОго IP-адреса, настроенную в сетевом контроллере. Эту подсеть можно получить, выполнив Get-NetworkControllerLogicalSubnet командлет . При использовании этого командлета используйте PublicVIP в LogicalNetworkIdкачестве . Параметры VipPoolStart и vipPoolEnd в командлете New-AksHciVipPoolSetting должны быть частью указанной здесь подсети.
    -networkControllerLnetRef Обычно это значение — "/logicalnetworks/HNVPA".
    -vipPool Пул ВИРТУАЛЬНЫх IP-адресов, используемый в качестве интерфейсных IP-адресов для балансировки нагрузки.

    Дополнительные сведения об этих параметрах см. в разделе Set-AksHciConfig.

Вход в Azure и настройка параметров регистрации

Следуйте инструкциям здесь , чтобы настроить параметры регистрации.

Примечание

Если у вас нет разрешений владельца, рекомендуется использовать субъект-службу Azure.

Установка AKS

После завершения настройки AKS можно приступать к установке AKS в Azure Stack HCI.

Install-AksHci

После успешной установки создается виртуальная машина уровня управления (кластер управления), а ее виртуальная карта подключена к сети SDN.

Сбор журналов из SDN и AKS в среде HCI

С помощью SDN и AKS в HCI мы получаем изоляцию узлов AKS в виртуальных сетях. Так как они изолированы, необходимо импортировать новый скрипт сбора журналов SDN AKS-HCI и выполнить измененную команду, которая использует подсистему балансировки нагрузки для получения журналов с узлов:

Install-Module -Name AksHciSdnLogCollector -Repository PSGallery
Get-AksHciLogsSdn

Отзывы и проблемы

Ознакомьтесь с ресурсами по самостоятельному устранению неполадок здесь для SDN и здесь для AKS-HCI.

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

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