Поделиться через


Развертывание программно-определяемой сети (SDN)

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

В этой статье описывается развертывание инфраструктуры AKS и виртуальных машин рабочей нагрузки в sdN виртуальная сеть с помощью подсистемы балансировки нагрузки 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-адрес непосредственно к виртуальной машине с помощью sdN Software Load Balancer.

Необходимые компоненты

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

Примечание.

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

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

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

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

Если что-то пошло не так или сообщается как неработоспособное, см. статью "Устранение неполадок SDN".

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

Шаги по установке AKS

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

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

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

Примечание.

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

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

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

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

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

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

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

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

    1. Виртуальная сеть SDN "10.20.0.0/24" (10.20.0.0 – 10.20.0.255). Виртуализированная сеть и можно использовать любую подсеть IP. Эта подсеть не должна существовать в физической сети.
    2. Имя vSwitch "External". Внешний vSwitch на локальных компьютерах Azure. Убедитесь, что используется тот же vSwitch, который использовался для развертывания 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 Имя внешнего vSwitch на локальных компьютерах Azure. Используйте тот же 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.

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

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

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

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

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

Примечание.

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

Установка AKS

После завершения конфигурации AKS вы будете готовы установить AKS в локальной среде Azure.

Install-AksHci

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

Сбор журналов из SDN и AKS в локальной среде Azure

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

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

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

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

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

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