Microsoft Software Defined Networking (SDN) implementeren

Van toepassing op: AKS op Azure Stack HCI 22H2, AKS op Windows Server

In dit artikel wordt beschreven hoe u AKS-infrastructuur- en workload-VM's implementeert in een SDN-Virtual Network met behulp van onze SDN-software-Load Balancer voor alle AKS Arc-taakverdelingsscenario's. AKS die wordt ingeschakeld door Azure Arc biedt een volledig ondersteund containerplatform waarmee cloudeigen toepassingen kunnen worden uitgevoerd op het Kubernetes-containerindelingsplatform. De architectuur ondersteunt het uitvoeren van gevirtualiseerde Windows- en Linux-workloads.

Beperkingen

De volgende functies vallen buiten het bereik en worden niet ondersteund in deze GA-release:

  • Pods en containers koppelen aan een virtueel SDN-netwerk.
    • Pods gebruiken Flannel of Calico (standaard) als netwerkprovider.
  • Afdwingen van netwerkbeleid met behulp van de SDN-Groepen.
    • De SDN Network Security Groepen kan nog steeds worden geconfigureerd buiten AKS Arc met behulp van SDN-hulpprogramma's (REST/PowerShell/Windows Admin Center/SCVMM), maar Kubernetes NetworkPolicy-objecten configureren ze niet.
  • AKS Arc VM-NIC's koppelen aan logische SDN-netwerken.
  • Installatie met behulp van Windows Admin Center.
  • Fysieke host naar AKS Arc VM-connectiviteit: VM-NIC's zijn gekoppeld aan een virtueel SDN-netwerk en zijn daarom standaard niet toegankelijk vanaf de host. Op dit moment kunt u deze connectiviteit handmatig inschakelen door een openbaar IP-adres rechtstreeks aan de VIRTUELE machine te koppelen met behulp van de SDN-software Load Balancer.

Vereisten

Als u AKS wilt implementeren die is ingeschakeld door Arc met SDN, moet u ervoor zorgen dat uw omgeving voldoet aan de implementatiecriteria van zowel AKS Arc als SDN.

Notitie

SDN-integratie met AKS Arc vereist alleen netwerkcontroller en software Load Balancer. Gateway-VM's zijn optioneel.

SDN installeren en voorbereiden voor AKS Arc

De eerste stap is het installeren van SDN. Als u SDN wilt installeren, raden we SDN Express of Windows Admin Center aan. Een referentieconfiguratiebestand waarmee alle benodigde SDN-infrastructuuronderdelen worden geïmplementeerd, vindt u hier: Software Load Balancer.psd1.

Zodra de SDN Express-implementatie is voltooid, moet er een scherm zijn dat de status als in orde rapporteert.

Als er iets mis is gegaan of als er iets niet in orde is, raadpleegt u Problemen met SDN oplossen.

Het is belangrijk dat SDN in orde is voordat u doorgaat. Als u SDN in een nieuwe omgeving implementeert, raden we u ook aan om test-VM's te maken en de connectiviteit met de load balancer-VIP's te controleren. Meer informatie over het maken en koppelen van VM's aan een virtueel SDN-netwerk met behulp van Windows Admin Center.

Stappen voor het installeren van AKS

Initialiseer en bereid alle fysieke hostmachines voor AKS Arc voor. Zie Een AKS-host implementeren voor de meest recente instructies.

De AKS-HCI PowerShell-module installeren

Zie De AksHci PowerShell-module installeren voor informatie over het installeren van de AKS-HCI PowerShell-module.

Notitie

Nadat u deze stap hebt voltooid, vernieuwt of laadt u geopende PowerShell-sessies opnieuw om de modules opnieuw te laden.

De resourceprovider registreren bij uw abonnement

Zie De AksHci PowerShell-module installeren voor informatie over het registreren van de resourceprovider bij uw abonnement.

Uw machines voorbereiden voor implementatie

Zie Uw machines voorbereiden voor implementatie voor informatie over het voorbereiden van uw machines voor implementatie.

AKS configureren voor installatie

Kies een van uw Azure Stack HCI-servers om het maken van AKS Arc te stimuleren. Er zijn drie stappen die moeten worden uitgevoerd vóór de installatie:

  1. Configureer de AKS-netwerkinstellingen voor SDN; bijvoorbeeld:

    1. SDN Virtueel netwerk "10.20.0.0/24" (10.20.0.0 – 10.20.0.255). Een gevirtualiseerd netwerk en u kunt elk IP-subnet gebruiken. Dit subnet hoeft niet te bestaan in uw fysieke netwerk.
    2. vSwitch-naam 'Extern'. De externe vSwitch op de Azure Stack HCI-servers. Zorg ervoor dat u dezelfde vSwitch gebruikt die is gebruikt voor SDN-implementatie.
    3. Gateway "10.20.0.1." Dit adres is de gateway voor uw virtuele netwerk.
    4. DNS-server "10.127.130.7." De DNS-server voor uw virtuele netwerk.
    $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"
    
    Parameter Beschrijving
    -name De naam van het virtuele netwerk in AKS die is ingeschakeld door Arc (moet in kleine letters zijn).
    -vswitchName Naam van externe vSwitch op de Azure Stack HCI-servers. Gebruik dezelfde vSwitch die is gebruikt voor SDN-implementatie.
    -k8sNodeIpPoolStart
    -k8sNodeIpPoolEnd
    IP-begin-/eindbereik van het virtuele SDN-netwerk.
    -ipAddressPrefix Subnet van virtueel netwerk in CIDR-notatie.
    -gateway
    -dnsServers
    Gateway en DNS-server van het virtuele SDN-netwerk.

    Zie New-AksHciNetworkSetting voor meer informatie over deze parameters.

  2. Maak in hetzelfde PowerShell-venster dat u in stap 1 hebt gebruikt, een VIP-pool om AKS op de hoogte te stellen van onze IP-adressen die kunnen worden gebruikt vanuit ons logische netwerk voor SDN-taakverdeling:

    $VipPool = New-AksHciVipPoolSetting -name "publicvip" -vipPoolStart "10.127.132.16" -vipPoolEnd "10.127.132.23
    
    Parameter Beschrijving
    -name Het logische netwerk PublicVIP dat u hebt opgegeven bij het configureren van SDN-load balancers. In de cmdlet moet deze naam kleine letters zijn.
    -vipPoolStart IP-beginbereik van logisch netwerk dat wordt gebruikt voor de VIP-groep van de openbare load balancer. U moet een adresbereik van het logische SDN-netwerk PublicVIP gebruiken.
    -vipPoolEnd IP-eindbereik van logisch netwerk dat wordt gebruikt voor openbare VIP-pool van load balancer. U moet een adresbereik van het logische SDN-netwerk PublicVIP gebruiken.
  3. Maak in hetzelfde PowerShell-venster dat wordt gebruikt in stap 2 de AKS-configuratie voor SDN door verwijzingen naar de beoogde SDN-netwerken op te geven en de netwerkinstellingen ($vnet, $vipPool) op te geven die we eerder hebben gedefinieerd:

    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
    

    Het logische HNVPA-netwerk wordt gebruikt als de onderliggende provider voor het virtuele AKS Arc-netwerk.

    Als u een statische IP-adrestoewijzing gebruikt voor uw Azure Stack HCI-clusterknooppunten, moet u ook de CloudServiceCidr parameter opgeven. Deze parameter is het IP-adres van de MOC-cloudservice en moet zich in hetzelfde subnet bevinden als Azure Stack HCI-clusterknooppunten. Zie Microsoft On-premises cloudservice voor meer informatie.

    Parameter Beschrijving
    –imageDir Het pad naar waar AKS Arc de VHD-installatiekopieën opslaat. Dit pad moet een gedeeld opslagpad of een SMB-share zijn.
    –workingDir Het pad naar waar kleine bestanden voor de module worden opgeslagen. Dit pad moet een gedeeld opslagpad of een SMB-share zijn.
    -cloudConfigLocation Het pad naar de map waar de configuratie van de cloudagent is opgeslagen. Dit pad moet een gedeeld opslagpad of een SMB-share zijn.
    -vnet Naam van AksHciNetworkSetting variabele die in de vorige stap is gemaakt
    -useNetworkController Schakel integratie met SDN in.
    -networkControllerFqdnOrIpAddress FQDN van netwerkcontroller. U kunt de FQDN ophalen door uit te Get-NetworkController voeren op de netwerkcontroller-VM en de RestName parameter te gebruiken.
    -networkControllerLbSubnetRef Verwijzing naar het openbare logische VIP-netwerksubnet dat is geconfigureerd in de netwerkcontroller. U kunt dit subnet ophalen door de Get-NetworkControllerLogicalSubnet cmdlet uit te voeren. Wanneer u deze cmdlet gebruikt, gebruikt PublicVIP u als de LogicalNetworkId. De VipPoolStart parameters en vipPoolEnd in de New-AksHciVipPoolSetting cmdlet moeten deel uitmaken van het subnet waarnaar hier wordt verwezen.
    -networkControllerLnetRef Normaal gesproken is deze waarde '/logicalnetworks/HNVPA'.
    -vipPool VIP-pool die wordt gebruikt als front-end-IP-adressen voor taakverdeling.

    Zie Set-AksHciConfig voor meer informatie over deze parameters.

Aanmelden bij Azure en registratie-instellingen configureren

Volg de instructies hier om registratie-instellingen te configureren.

Notitie

Als u geen eigenaarsmachtigingen hebt, wordt u aangeraden een Azure-service-principal te gebruiken.

AKS installeren

Zodra de AKS-configuratie is voltooid, bent u klaar om AKS te installeren op Azure Stack HCI.

Install-AksHci

Zodra de installatie is voltooid, wordt een besturingsvlak-VM (beheercluster) gemaakt en wordt de Bijbehorende VmNIC gekoppeld aan uw SDN-netwerk.

Logboeken verzamelen van een SDN en AKS in HCI-omgeving

Met SDN en AKS op HCI krijgen we isolatie van de AKS-knooppunten in virtuele netwerken. Omdat ze geïsoleerd zijn, moeten we een nieuw SDN AKS-HCI-logboekverzamelingsscript importeren en een gewijzigde opdracht uitvoeren die gebruikmaakt van de load balancer om logboeken op te halen van de knooppunten:

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

Feedback/problemen

Bekijk hier de zelfhulpbronnen voor SDN en hier voor AKS-HCI.

Volgende stappen

Vervolgens kunt u workloadclusters maken en uw toepassingen implementeren. Alle AKS VM-NIC's in AKS die worden ingeschakeld door Arc, worden naadloos gekoppeld aan het virtuele SDN-netwerk dat tijdens de installatie is opgegeven. De SDN Software-load balancer wordt ook gebruikt als de externe load balancer voor alle Kubernetes-services en fungeert als de load balancer voor de API-server op een Of meer Kubernetes-besturingsvlak(en).