Een SDN-infrastructuur implementeren met SDN Express

Van toepassing op: Azure Stack HCI, versies 22H2 en 21H2; Windows Server 2022, Windows Server 2019, Windows Server 2016

In dit onderwerp implementeert u een end-to-end SDN-infrastructuur (Software Defined Network) met behulp van SDN Express PowerShell-scripts. De infrastructuur omvat een maximaal beschikbare netwerkcontroller (NC) en optioneel een maximaal beschikbare Software Load Balancer (SLB) en een maximaal beschikbare gateway (GW). De scripts ondersteunen een gefaseerde implementatie, waarbij u alleen het onderdeel Netwerkcontroller kunt implementeren om een kernset functionaliteit te bereiken met minimale netwerkvereisten.

U kunt ook een SDN-infrastructuur implementeren met behulp van Windows Admin Center of System Center Virtual Machine Manager (VMM). Zie Een cluster maken - Stap 5: SDN en ZIE SDN-resources beheren in de VMM-infrastructuur voor meer informatie.

Belangrijk

U kunt Microsoft System Center Virtual Machine Manager 2019 niet gebruiken voor het beheren van clusters met Azure Stack HCI versie 21H2 of Windows Server 2022.

Voordat u begint

Voordat u begint met een SDN-implementatie, moet u uw fysieke en hostnetwerkinfrastructuur plannen en configureren. Raadpleeg de volgende artikelen:

U hoeft niet alle SDN-onderdelen te implementeren. Zie de sectie Gefaseerde implementatie van Een softwaregedefinieerde netwerkinfrastructuur plannen om te bepalen welke infrastructuuronderdelen u nodig hebt en voer de scripts dienovereenkomstig uit.

Zorg ervoor dat op alle hostservers het Besturingssysteem Azure Stack HCI is geïnstalleerd. Zie Het Azure Stack HCI-besturingssysteem implementeren voor informatie over hoe u dit doet.

Vereisten

Aan de volgende vereisten moet worden voldaan voor een geslaagde SDN-implementatie:

  • Op alle hostservers moet Hyper-V zijn ingeschakeld.
  • Alle hostservers moeten lid zijn van Active Directory.
  • Er moet een virtuele switch worden gemaakt.
  • Het fysieke netwerk moet worden geconfigureerd voor de subnetten en VLAN's die zijn gedefinieerd in het configuratiebestand.
  • Het SDN Express-script moet worden uitgevoerd vanaf een computer met Windows Server 2016 of hoger.
  • Het VHDX-bestand dat is opgegeven in het configuratiebestand, moet bereikbaar zijn vanaf de computer waarop het SDN Express-script wordt uitgevoerd.

Het VHDX-bestand downloaden

SDN gebruikt een VHDX-bestand met het Azure Stack HCI- of Windows Server-besturingssysteem (OS) als bron voor het maken van de virtuele SDN-machines (VM's).

Notitie

De versie van het besturingssysteem in uw VHDX moet overeenkomen met de versie die wordt gebruikt door de Azure Stack HCI Hyper-V-hosts. Dit VHDX-bestand wordt gebruikt door alle onderdelen van de SDN-infrastructuur.

Als u een Engelstalige versie van het VHDX-bestand wilt downloaden, raadpleegt u Het Azure Stack HCI-besturingssysteem downloaden van de Azure Portal. Zorg ervoor dat u Engels VHDX selecteert in de vervolgkeuzelijst Taal kiezen .

Op dit moment kan een niet-Engels VHDX-bestand niet worden gedownload. Als u een niet-Engelse versie nodig hebt, downloadt u het bijbehorende ISO-bestand en converteert u het naar VHDX met behulp van de Convert-WindowsImage cmdlet. U moet dit script uitvoeren vanaf een Windows-clientcomputer. U moet dit script waarschijnlijk uitvoeren als beheerder en het uitvoeringsbeleid voor scripts wijzigen met behulp van de Set-ExecutionPolicy opdracht .

In de volgende syntaxis ziet u een voorbeeld van het gebruik Convert-WindowsImagevan :

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

De GitHub-opslagplaats downloaden

De SDN Express-scriptbestanden zijn live in GitHub. De eerste stap bestaat uit het ophalen van de benodigde bestanden en mappen op uw implementatiecomputer.

  1. Ga naar de Microsoft SDN GitHub-opslagplaats .

  2. Vouw in de opslagplaats de vervolgkeuzelijst Code uit en kies vervolgens Kloon of ZIP downloaden om de SDN-bestanden te downloaden naar de aangewezen implementatiecomputer.

    Notitie

    De aangewezen implementatiecomputer moet Windows Server 2016 of hoger worden uitgevoerd.

  3. Pak het ZIP-bestand uit en kopieer de map naar de SDNExpress map van C:\ de implementatiecomputer.

Het configuratiebestand bewerken

Het PowerShell-configuratiegegevensbestand MultiNodeSampleConfig.psd1 bevat alle parameters en instellingen die nodig zijn voor het SDN Express-script als invoer voor de verschillende parameters en configuratie-instellingen. Dit bestand bevat specifieke informatie over wat er moet worden ingevuld, afhankelijk van of u alleen het netwerkcontrolleronderdeel implementeert, of ook de software load balancer en gateway-onderdelen. Zie het onderwerp Een software-gedefinieerde netwerkinfrastructuur plannen voor gedetailleerde informatie.

Navigeer naar de C:\SDNExpress\scripts map en open het MultiNodeSampleConfig.psd1 bestand in uw favoriete teksteditor. Specifieke parameterwaarden aanpassen aan uw infrastructuur en implementatie:

Algemene instellingen en parameters

De instellingen en parameters worden door SDN in het algemeen gebruikt voor alle implementaties. Zie VEREISTEN voor VM-rol sdn-infrastructuur voor specifieke aanbevelingen.

  • VHDPath - VHD-bestandspad dat wordt gebruikt door alle SDN-infrastructuur-VM's (NC, SLB, GW)
  • VHDFile - VHDX-bestandsnaam die wordt gebruikt door alle VM's van de SDN-infrastructuur
  • VMLocation - bestandspad naar VM's met SDN-infrastructuur. Unc-paden (Universal Naming Convention) worden niet ondersteund. Gebruik voor paden op basis van clusteropslag een indeling als C:\ClusterStorage\...
  • JoinDomain - domein waaraan DE SDN-infrastructuur-VM's zijn gekoppeld
  • SDNMacPoolStart - beginadres mac-pool voor clientworkload-VM's
  • SDNMacPoolEnd - MAC-adres voor clientworkload-VM's beëindigen
  • ManagementSubnet - beheernetwerksubnet dat door NC wordt gebruikt voor het beheren van Hyper-V-hosts, SLB en GW-onderdelen
  • ManagementGateway - Gatewayadres voor het beheernetwerk
  • ManagementDNS - DNS-server voor het beheernetwerk
  • ManagementVLANID - VLAN-id voor het beheernetwerk
  • DomainJoinUsername - gebruikersnaam van beheerder. Houd er rekening mee dat de gebruikersnaam de volgende indeling moet hebben: domainname\username. Als het domein bijvoorbeeld is contoso.com, voert u de gebruikersnaam in als contoso\<username>. Gebruik geen indelingen zoals contoso.com\<username> of username@contoso.com
  • LocalAdminDomainUser - gebruikersnaam van lokale beheerder. Houd er rekening mee dat de gebruikersnaam de volgende indeling moet hebben: domainname\username. Als het domein bijvoorbeeld is contoso.com, voert u de gebruikersnaam in als contoso\<username>. Gebruik geen indelingen zoals contoso.com\<username> of username@contoso.com
  • RestName: DNS-naam die wordt gebruikt door beheerclients (zoals Windows Admin Center) om te communiceren met NC
  • RestIpAddress : statisch IP-adres voor uw REST API, dat wordt toegewezen vanuit uw beheernetwerk. Het kan worden gebruikt voor DNS-omzetting of op REST IP gebaseerde implementaties
  • HyperVHosts - hostservers die moeten worden beheerd door de netwerkcontroller
  • NCUsername - Gebruikersnaam voor netwerkcontrolleraccount
  • ProductKey - productcode voor SDN-infrastructuur-VM's
  • SwitchName : alleen vereist als er meer dan één virtuele switch bestaat op de Hyper-V-hosts
  • VMMemory - geheugen (in GB) toegewezen aan infrastructuur-VM's. De standaardwaarde is 4 GB
  • VMProcessorCount - aantal processors dat is toegewezen aan infrastructuur-VM's. De standaardwaarde is 8
  • Landinstelling : als deze niet is opgegeven, wordt de landinstelling van de implementatiecomputer gebruikt
  • Tijdzone : als deze niet is opgegeven, wordt de lokale tijdzone van de implementatiecomputer gebruikt

Wachtwoorden kunnen desgewenst worden opgenomen als ze zijn versleuteld als beveiligde tekenreeksen met tekstcodering. Wachtwoorden worden alleen gebruikt als SDN Express-scripts worden uitgevoerd op dezelfde computer waarop wachtwoorden zijn versleuteld, anders wordt gevraagd om deze wachtwoorden:

  • DomainJoinSecurePassword - voor domeinaccount
  • LocalAdminSecurePassword - voor lokaal beheerdersaccount
  • NCSecurePassword - voor netwerkcontrolleraccount

Sectie Netwerkcontroller-VM

Er worden minimaal drie netwerkcontroller-VM's aanbevolen voor SDN.

De NCs = @() sectie wordt gebruikt voor de netwerkcontroller-VM's. Zorg ervoor dat het MAC-adres van elke NC-VM buiten het SDNMACPool bereik valt dat wordt vermeld in de Algemene instellingen.

  • ComputerName - naam van NC-VM
  • HostName : hostnaam van de server waarop de NC-VM zich bevindt
  • ManagementIP - IP-adres van beheernetwerk voor de NC-VM
  • MACAddress - MAC-adres voor de NC-VM

Sectie Software Load Balancer VM

Er worden minimaal twee software-Load Balancer-VM's aanbevolen voor SDN.

De Muxes = @() sectie wordt gebruikt voor de SLB-VM's. Zorg ervoor dat de MACAddress parameters en PAMACAddress van elke SLB-VM buiten het SDNMACPool bereik vallen dat wordt vermeld in de algemene instellingen. Zorg ervoor dat u de PAIPAddress parameter van buiten de PA-pool krijgt die is opgegeven in het configuratiebestand, maar een deel van het PASubnet dat is opgegeven in het configuratiebestand.

Laat deze sectie leeg (Muxes = @()) als u het SLB-onderdeel niet implementeert:

  • ComputerName - naam van SLB-VM
  • HostName : hostnaam van de server waarop de SLB-VM zich bevindt
  • ManagementIP - IP-adres van het beheernetwerk voor de SLB-VM
  • MACAddress - MAC-adres voor de SLB-VM
  • PAIPAddress - IP-adres (PA) van provider voor de SLB-VM
  • PAMACAddress - IP-adres van providernetwerk (PA) voor de SLB-VM

Sectie Gateway-VM

Minimaal twee gateway-VM's (één actief en één redundant) worden aanbevolen voor SDN.

De Gateways = @() sectie wordt gebruikt voor de gateway-VM's. Zorg ervoor dat de MACAddress parameter van elke gateway-VM buiten het SDNMACPool bereik valt dat wordt vermeld in de algemene instellingen. De FrontEndMac en BackendMac moeten zich binnen het SDNMACPool bereik bevindt. Zorg ervoor dat u de FrontEndMac parameters en BackendMac krijgt vanaf het einde van het SDNMACPool bereik.

Laat deze sectie leeg (Gateways = @()) als u het gatewayonderdeel niet implementeert:

  • ComputerName - naam van gateway-VM
  • HostName : hostnaam van de server waarop de gateway-VM zich bevindt
  • ManagementIP - IP-adres van het beheernetwerk voor de gateway-VM
  • MACAddress - MAC-adres voor de gateway-VM
  • FrontEndMac - Front-end MAC-adres van providernetwerk voor de gateway-VM
  • BackEndMac - MAC-adres van providernetwerkback-end voor de gateway-VM

Aanvullende instellingen voor SLB en gateway

De volgende aanvullende parameters worden gebruikt door SLB- en gateway-VM's. Laat deze waarden leeg als u geen SLB- of gateway-VM's implementeert:

  • SDNASN - Autonoom systeemnummer (ASN) dat door SDN wordt gebruikt om te peeren met netwerkswitches
  • RouterASN - GATEWAYrouter ASN
  • RouterIPAddress - IP-adres van gatewayrouter
  • PrivateVIPSubnet - virtueel IP-adres (VIP) voor het privésubnet
  • PublicVIPSubnet - virtueel IP-adres voor het openbare subnet

De volgende aanvullende parameters worden alleen gebruikt door gateway-VM's. Laat deze waarden leeg als u geen gateway-VM's implementeert:

  • PoolName - naam van de pool die wordt gebruikt door alle gateway-VM's

  • GRESubnet - VIP-subnet voor GRE (als u GRE-verbindingen gebruikt)

  • Capaciteit : capaciteit in Kbps voor elke gateway-VM in de pool

  • RedundantCount : het aantal gateways in de redundante modus. De standaardwaarde is 1. Redundante gateways hebben geen actieve verbindingen. Zodra een actieve gateway uitvalt, worden de verbindingen van die gateway verplaatst naar de redundante gateway en wordt de redundante gateway actief.

    Notitie

    Als u een waarde invult voor RedundantCount, moet u ervoor zorgen dat het totale aantal gateway-VM's ten minste één meer is dan de RedundantCount. De RedundantCount is standaard 1, dus u moet ten minste 2 gateway-VM's hebben om ervoor te zorgen dat er ten minste 1 actieve gateway-naar-hostgatewayverbindingen zijn.

Instellingen voor tenant-overlay-netwerken

De volgende parameters worden gebruikt als u gevirtualiseerde overlaynetwerken voor tenants implementeert en beheert. Als u in plaats daarvan netwerkcontroller gebruikt om traditionele VLAN-netwerken te beheren, kunnen deze waarden leeg blijven.

  • PASubnet - subnet voor het PA-netwerk (Provider Address)
  • PAVLANID - VLAN-id voor het PA-netwerk
  • PAGateway - IP-adres voor de PA-netwerkgateway
  • PAPoolStart - begin-IP-adres voor de PA-netwerkgroep
  • PAPoolEnd - eind-IP-adres voor de PA-netwerkgroep

Hier ziet u hoe logische netwerkprovider Hyper-V Network Virtualization (HNV) IP-adressen toewijst. Gebruik deze optie om uw adresruimte voor het HNV Provider-netwerk te plannen.

  • Wijst twee IP-adressen toe aan elke fysieke server
  • Wijst één IP-adres toe aan elke SLB MUX-VM
  • Wijst één IP-adres toe aan elke gateway-VM

Het implementatiescript uitvoeren

Het SDN Express-script implementeert de opgegeven SDN-infrastructuur. Wanneer het script is voltooid, is uw SDN-infrastructuur klaar om te worden gebruikt voor vm-workloadimplementaties.

  1. Bekijk het README.md bestand voor de laatste informatie over het uitvoeren van het implementatiescript.

  2. Voer de volgende opdracht uit vanuit een gebruikersaccount met beheerdersreferenties voor de clusterhostservers:

    SDNExpress\scripts\SDNExpress.ps1 -ConfigurationDataFile MultiNodeSampleConfig.psd1 -Verbose
    
  3. Nadat de NC-VM's zijn gemaakt, configureert u dynamische DNS-updates voor de clusternaam van de netwerkcontroller op de DNS-server. Zie Dynamische DNS-updates voor meer informatie.

Voorbeeldbestanden voor configuratie

De volgende configuratievoorbeeldbestanden voor het implementeren van SDN zijn beschikbaar in de Microsoft SDN GitHub-opslagplaats :

  • Traditionele VLAN-netwerken.psd1 : netwerkcontroller implementeren voor het beheren van netwerkbeleid zoals microsegmentatie en Quality of Service op traditionele VLAN-netwerken.

  • Gevirtualiseerde netwerken.psd1 - Netwerkcontroller implementeren voor het beheren van virtuele netwerken en netwerkbeleid op virtuele netwerken.

  • Software Load Balancer.psd1 - Netwerkcontroller en software-Load Balancer implementeren voor taakverdeling in virtuele netwerken.

  • SDN Gateways.psd1 - Implementeer netwerkcontroller, software Load Balancer en gateway voor connectiviteit met externe netwerken.

Volgende stappen