Развертывание инфраструктуры SDN с помощью SDN Express для Azure Local
Применимо к: Azure Local 2311.2 и более поздних версий; Windows Server 2022, Windows Server 2019, Windows Server 2016
В этой статье описано, как развернуть сквозную инфраструктуру программно-определяемой сети (SDN) для azure Local с помощью скриптов SDN Express PowerShell. Инфраструктура включает высокодоступный сетевой контроллер (NC) и, при необходимости, высокодоступную подсистему балансировки нагрузки программного обеспечения (SLB) и высокодоступный шлюз (GW). Скрипты поддерживают поэтапное развертывание, где можно развернуть только компонент сетевого контроллера для достижения основного набора функциональных возможностей с минимальными требованиями к сети.
Вы также можете развернуть инфраструктуру SDN в System Center Virtual Machine Manager (VMM). Дополнительные сведения см. в Управление ресурсами SDN в инфраструктуре VMM.
Внимание
Если вы развертываете SDN в локальной среде Azure, убедитесь, что все применимые виртуальные машины инфраструктуры SDN (сетевой контроллер, программные подсистемы балансировки нагрузки, шлюзы) находятся в последнем исправлении центра обновления Windows. Вы можете инициировать обновление из пользовательского интерфейса SConfig на компьютерах. Без последних исправлений могут возникнуть проблемы с подключением. Дополнительные сведения об обновлении инфраструктуры SDN см. в статье Об обновлении инфраструктуры SDN для локальной среды Azure.
Прежде чем начать
Прежде чем приступить к развертыванию SDN, спланируйте и настройте физическую и сетевую инфраструктуру узла. См. следующие статьи:
- Требования к физической сети
- Требования к сети узла
- Планирование инфраструктуры программно-определяемой сети
Вам не нужно развертывать все компоненты SDN. См. раздел поэтапного развертывания в Плане программно-определяемой сетевой инфраструктуры, чтобы определить, какие компоненты инфраструктуры вам нужны, а затем выполните скрипты соответствующим образом.
Убедитесь, что на всех хост-компьютерах установлена операционная система Azure Stack HCI. Сведения о том, как это сделать, см. в статье "Развертывание операционной системы Azure Stack HCI".
Требования
Для успешного развертывания SDN необходимо выполнить следующие требования:
- Все хост-компьютеры должны иметь функцию Hyper-V.
- Все хост-компьютеры должны быть присоединены к Active Directory.
- Необходимо подготовить Active Directory. Дополнительные сведения см. в статье "Подготовка Active Directory".
- Необходимо создать виртуальный коммутатор . Вы можете использовать переключатель по умолчанию, созданный для локальной среды Azure. Например, вам может потребоваться создать отдельные коммутаторы для трафика вычислений и управления.
- Физическая сеть должна быть настроена для подсетей и виртуальных ЛС, определенных в файле конфигурации.
- Скрипт SDN Express должен выполняться с компьютера Windows Server 2016 или более поздней версии.
- VHDX-файл, указанный в файле конфигурации, должен быть доступен с компьютера, на котором выполняется скрипт SDN Express.
Скачивание VHDX-файла
SDN использует VHDX-файл, содержащий операционную систему Azure Stack HCI или Операционную систему Windows Server в качестве источника для создания виртуальных машин SDN (виртуальных машин).
Примечание.
Версия ОС в VHDX должна соответствовать версии, используемой локальными компьютерами Hyper-V Azure. Этот VHDX-файл используется всеми компонентами инфраструктуры SDN.
Чтобы загрузить версию VHDX-файла на английском языке, см. статью "Загрузить операционную систему из портала Azure". Выберите английский VHDX в раскрывающемся списке "Выбор языка".
В настоящее время файл VHDX не на английском языке недоступен для скачивания. Если требуется версия, не на английском языке, скачайте соответствующий ISO-файл и преобразуйте его в VHDX с помощью командлета Convert-WindowsImage
. Этот сценарий необходимо запустить с клиентского компьютера Windows. Возможно, вам потребуется запустить этот скрипт от имени администратора и изменить политику выполнения для сценариев с помощью Set-ExecutionPolicy
команды.
В следующем синтаксисе показан пример использования Convert-WindowsImage
:
Install-Module -Name Convert-WindowsImage
Import-Module Convert-WindowsImage
$wimpath = "E:\sources\install.wim"
$vhdpath = "D:\temp\AzureStackHCI.vhdx"
$edition=1
Convert-WindowsImage -SourcePath $wimpath -Edition $edition -VHDPath $vhdpath -SizeBytes 500GB -DiskLayout UEFI
Установка модуля SDN Express PowerShell
Выполните следующую команду, чтобы установить последнюю версию модуля SDN Express PowerShell на компьютере, где требуется выполнить установку SDN:
Install-Module -Name SDNExpress
Файлы автоматически устанавливаются в каталог модуля PowerShell по умолчанию: C:\Program Files\WindowsPowerShell\Modules\SdnExpress\
Примечание.
Файлы скриптов SDN Express больше не доступны на сайте GitHub.
Изменение файла конфигурации
Файл данных конфигурации PowerShell (psd1- файл) хранит входные параметры и параметры конфигурации, необходимые для выполнения скрипта SDN Express. Этот файл содержит конкретные сведения о том, что необходимо настроить, в зависимости от того, развертываете ли вы только компонент сетевого контроллера или также компоненты программного балансировщика нагрузки и шлюза.
Дополнительные сведения см. в разделе "Планирование программно-определяемой сетевой инфраструктуры". Дополнительные сведения о соответствующем используемом файле конфигурации смотрите в примерах файлов конфигурации .
Перейдите в папку C:\Program Files\WindowsPowerShell\Modules\SdnExpress\
и откройте соответствующий файл конфигурации в избранном текстовом редакторе. Измените определенные значения параметров, чтобы соответствовать инфраструктуре и развертыванию.
Общие настройки и параметры
Настройки и параметры используются в SDN в целом для всех развертываний. Дополнительные рекомендации см. в разделе "Требования к роли виртуальной машины инфраструктуры SDN".
- VHDPath — путь к файлу VHD, используемый всеми виртуальными машинами инфраструктуры SDN (NC, SLB, GW)
- VHDFile — имя VHDX-файла, используемое всеми виртуальными машинами инфраструктуры SDN
-
VMLocation — путь к виртуальным машинам инфраструктуры SDN. Пути универсального именования (UNC) не поддерживаются. Для путей, основанных на хранилище кластера, используйте такой формат:
C:\ClusterStorage\...
- JoinDomain — домен, к которому присоединены виртуальные машины инфраструктуры SDN
- SDNMacPoolStart — начальный адрес MAC-пула для виртуальных машин клиентских рабочих нагрузок
- SDNMacPoolEnd — конечный адрес пула MAC для виртуальных машин обработки клиентских нагрузок
- ManagementSubnet — подсеть сети управления, используемая NC для управления узлами Hyper-V, SLB и GW
- ManagementGateway — адрес шлюза для сети управления
- ManagementDNS — DNS-сервер для сети управления
- ManagementVLANID — идентификатор виртуальной локальной сети для сети управления
-
DomainJoinUsername — имя администратора. Имя пользователя должно быть в следующем формате:
domainname\username
Например, если доменcontoso.com
, введите имя пользователя какcontoso\<username>
. Не используйте форматы, напримерcontoso.com\<username>
илиusername@contoso.com
-
LocalAdminDomainUser — имя пользователя локального администратора. Имя пользователя должно быть в следующем формате:
domainname\username
Например, если доменcontoso.com
, введите имя пользователя какcontoso\<username>
. Не используйте форматы, напримерcontoso.com\<username>
илиusername@contoso.com
- RestName — DNS-имя, используемое клиентами управления (например, Windows Admin Center) для взаимодействия с NC
- RestIpAddress — статический IP-адрес для REST API, который выделяется из сети управления. Его можно использовать для разрешения DNS или развертываний REST, основанных на IP-адресах.
- HyperVHosts — хостовые машины, управляемые сетевым контроллером
- NCUsername — имя пользователя учетной записи сетевого контроллера
- ProductKey — ключ продукта для виртуальных машин инфраструктуры SDN
- SwitchName — требуется только в том случае, если на узлах Hyper-V существует несколько виртуальных коммутаторов.
- VMMemory — память (в ГБ), назначенная виртуальным машинам инфраструктуры. Значение по умолчанию — 4 ГБ
- VMProcessorCount — количество процессоров, назначенных виртуальным машинам инфраструктуры. Значение по умолчанию — 8
- Локаль — если она не указана, используется локаль компьютера развертывания
- TimeZone — если не указано, используется локальный часовой пояс компьютера развертывания.
Пароли можно включить опционально, если хранятся в зашифрованном виде как текстовые кодированные защищенные строки. Пароли будут использоваться только в том случае, если скрипты SDN Express выполняются на том же компьютере, где были зашифрованы пароли, в противном случае он запрашивает следующие пароли:
- DomainJoinSecurePassword — для учетной записи домена
- LocalAdminSecurePassword — для учетной записи локального администратора
- NCSecurePassword — для учетной записи сетевого контроллера
Раздел виртуальной машины сетевого контроллера
Для SDN рекомендуется использовать не менее трех виртуальных машин сетевого контроллера.
Этот NCs = @()
раздел используется для виртуальных машин сетевого контроллера. Убедитесь, что MAC-адрес каждой виртуальной машины NC находится за пределами SDNMACPool
диапазона, указанного в параметрах "Общие".
- Имя компьютера — имя виртуальной машины NC
- HostName — имя узла сервера, на котором находится виртуальная машина NC
- ManagementIP — IP-адрес сети управления для виртуальной машины NC
- MACAddress — MAC-адрес для виртуальной машины NC
Раздел виртуальной машины балансировщика нагрузки программного обеспечения
Для SDN рекомендуется использовать не менее двух виртуальных машин Подсистемы балансировки нагрузки программного обеспечения.
Этот Muxes = @()
раздел используется для виртуальных машин SLB. Убедитесь, что параметры MACAddress
каждой виртуальной машины SLB PAMACAddress
находятся за пределами диапазона SDNMACPool
, указанного в параметрах "Общие". Убедитесь, что параметр PAIPAddress
получен вне пределов пула PA, указанного в файле конфигурации, но является частью PASubnet, указанного в файле конфигурации.
Оставьте этот раздел пустым (Muxes = @()
) если не развертывать компонент SLB.
- Имя компьютера — имя виртуальной машины SLB
- HostName — имя узла компьютера, на котором находится виртуальная машина SLB
- ManagementIP — IP-адрес сети управления для виртуальной машины SLB
- MACAddress — MAC-адрес для виртуальной машины SLB
- PAIPAddress — IP-адрес сети поставщика (PA) для виртуальной машины SLB
- PAMACAddress — IP-адрес сети поставщика (PA) для виртуальной машины SLB
Раздел виртуальной машины шлюза
Для SDN рекомендуется использовать не менее двух виртуальных машин шлюза (один активный и один избыточный).
Этот Gateways = @()
раздел используется для виртуальных машин шлюза. Убедитесь, что MACAddress
параметр каждой виртуальной машины шлюза находится за пределами SDNMACPool
диапазона, указанного в параметрах "Общие".
FrontEndMac
и BackendMac
должны находиться в пределах SDNMACPool
диапазона. Убедитесь, что вы получите FrontEndMac
и BackendMac
параметры из конца SDNMACPool
диапазона.
Оставьте этот раздел пустым (Gateways = @()
) если не развертывать компонент шлюза:
- Имя компьютера — имя виртуальной машины шлюза
- HostName — имя узла компьютера, на котором находится виртуальная машина шлюза
- ManagementIP — IP-адрес сети управления для виртуальной машины шлюза
- MACAddress — MAC-адрес для виртуальной машины шлюза
- FrontEndMac — сетевой внешний MAC-адрес поставщика для виртуальной машины шлюза
- BackEndMac — сетевой серверный MAC-адрес поставщика для виртуальной машины шлюза
Дополнительные параметры для SLB и шлюза
Следующие другие параметры используются виртуальными машинами SLB и шлюза. Оставьте эти значения пустыми, если вы не развертываете виртуальные машины SLB или шлюза:
- SDNASN — номер автономной системы (ASN), используемый SDN для взаимодействия с сетевыми коммутаторами
- Маршрутизатор шлюза ASN — ASN маршрутизатора шлюза
- МаршрутизаторIPAddress — IP-адрес маршрутизатора шлюза
- PrivateVIPSubnet — виртуальный IP-адрес (VIP) для частной подсети
- PublicVIPSubnet — виртуальный IP-адрес для общедоступной подсети
Следующие другие параметры используются только виртуальными машинами шлюза. Оставьте эти значения пустыми, если вы не развертываете виртуальные машины шлюза:
PoolName — имя пула, используемое всеми виртуальными машинами шлюза
GRESubnet — VIP-подсеть для GRE (если используются подключения GRE)
Емкость — емкость в кб/с для каждой виртуальной машины шлюза в пуле
RedundantCount — количество шлюзов в избыточном режиме. Значение по умолчанию равно 1. Избыточные шлюзы не имеют активных подключений. Как только активный шлюз выходит из строя, соединения с него перемещаются к резервному шлюзу, и резервный шлюз становится активным.
Примечание.
Если вы введите значение для RedundantCount, убедитесь, что общее количество виртуальных машин шлюза по крайней мере на одну больше, чем RedundantCount. По умолчанию RedundantCount равен 1, поэтому необходимо иметь не менее 2 виртуальных машин шлюза, чтобы гарантировать как минимум 1 активный шлюз для поддержания соединений через шлюз.
Параметры для сетей наложения клиента
Следующие параметры используются, если вы развертываете и управляете наложенными виртуализированными сетями для арендаторов. Если вы используете сетевой контроллер для управления традиционными сетями виртуальной локальной сети, эти значения можно оставить пустым.
- PASubnet — подсеть для сети "Provider Address" (PA)
- PAVLANID — идентификатор виртуальной ЛС для сети PA
- PAGateway — IP-адрес для сетевого шлюза PA
- PAPoolStart — начальный IP-адрес для сетевого пула PA
- PAPoolEnd — конечный IP-адрес для сетевого пула PA
Вот как логическая сеть виртуализации сети (HNV) провайдера выделяет IP-адреса. Используйте это для планирования адресного пространства для сети поставщика HNV.
- Выделяет два IP-адреса каждому физическому компьютеру
- Выделяет один IP-адрес для каждой виртуальной машины SLB MUX
- Выделяет один IP-адрес для каждой виртуальной машины шлюза
Выполнение скрипта развертывания
Скрипт SDN Express развертывает указанную инфраструктуру SDN. По завершении скрипта инфраструктура SDN готова к использованию для развертываний рабочих нагрузок виртуальной машины.
Просмотрите
README.md
файл для получения актуальной информации о запуске скрипта развертывания.Выполните следующую команду из учетной записи пользователя с учетными данными администратора для хост-компьютеров:
.\SDNExpress.ps1 -ConfigurationDataFile “Traditional VLAN networks.psd1” -DomainJoinCredential $cred -NCCredential $cred -LocalAdminCredential $cred -Verbose
После создания виртуальных машин NC настройте динамические обновления DNS для имени кластера сетевого контроллера на DNS-сервере. Дополнительные сведения см. в разделе "Динамические обновления DNS".
Примеры файлов конфигурации
Следующие примеры файлов конфигурации для развертывания SDN доступны в расположении, где установлен модуль PowerShell (C:\Program Files\WindowsPowerShell\Modules\SdnExpress\
):
Традиционные сети VLAN.psd1 — установите сетевой контроллер для управления политиками сети, такими как микросегментация и качество обслуживания в традиционных VLAN-сетях.
Virtualized networks.psd1 — развертывание сетевого контроллера для управления виртуальными сетями и политиками сети в виртуальных сетях.
Software Load Balancer.psd1 — развертывание сетевого контроллера и программного подсистемы балансировки нагрузки для балансировки нагрузки в виртуальных сетях.
SDN Gateways.psd1 — развертывание сетевого контроллера, программного балансировщика нагрузки и шлюза для подключения к внешним сетям.