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