Delen via


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 VIRTUEEL SDN-netwerk met behulp van onze SDN Software Load Balancer voor alle AKS Arc-taakverdelingsscenario's. AKS die is 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-netwerkbeveiligingsgroepen.
    • De SDN-netwerkbeveiligingsgroepen kunnen nog steeds buiten AKS Arc worden geconfigureerd 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 Het Windows-beheercentrum.
  • Fysieke host naar AKS Arc VM-connectiviteit: VM-NIC's worden gekoppeld aan een virtueel SDN-netwerk en zijn dus niet standaard toegankelijk vanaf de host. Voorlopig 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. Hier vindt u een referentieconfiguratiebestand waarmee alle benodigde SDN-infrastructuuronderdelen worden geïmplementeerd: [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 wordt gerapporteerd als beschadigd, 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 test-VM's te maken en de connectiviteit met de load balancer-VIP's te verifiëren. Zie hoe u vm's maakt en koppelt aan een virtueel SDN-netwerk met behulp van het Windows-beheercentrum.

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 alle geopende PowerShell-sessies 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 voor 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 lokale Azure-machines om het maken van AKS Arc te stimuleren. Er zijn drie stappen die moeten worden uitgevoerd vóór de installatie:

  1. De AKS-netwerkinstellingen voor SDN configureren; Bijvoorbeeld met behulp van:

    1. SDN Virtual network "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 lokale Azure-machines. 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 Description
    -name De naam van het virtuele netwerk in AKS die is ingeschakeld door Arc (moet kleine letters bevatten).
    -vswitchName Naam van externe vSwitch op de lokale Azure-machines. 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 te informeren over onze IP-adressen die kunnen worden gebruikt vanuit ons logische SDN-netwerk voor taakverdeling:

    $VipPool = New-AksHciVipPoolSetting -name "publicvip" -vipPoolStart "10.127.132.16" -vipPoolEnd "10.127.132.23
    
    Parameter Description
    -name Het logische netwerk PublicVIP dat u hebt opgegeven bij het configureren van SDN-load balancers. Binnen de cmdlet moet deze naam kleine letters bevatten.
    -vipPoolStart IP-beginbereik van logisch netwerk dat wordt gebruikt voor openbare load balancer VIP-pool. U moet een adresbereik van het logische SDN-netwerk publicVIP gebruiken.
    -vipPoolEnd IP-eindbereik van logisch netwerk dat wordt gebruikt voor openbare load balancer VIP-pool. U moet een adresbereik van het logische SDN-netwerk publicVIP gebruiken.
  3. Maak in hetzelfde PowerShell-venster dat in stap 2 wordt gebruikt de AKS-configuratie voor SDN door verwijzingen naar de doel-SDN-netwerken te verstrekken 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 toewijzing van een statisch IP-adres gebruikt voor uw lokale Azure-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 lokale Azure-clusterknooppunten. Zie De on-premises cloudservice van Microsoft voor meer informatie.

    Parameter Description
    –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 de locatie 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 waarin de configuratie van de cloudagent is opgeslagen. Dit pad moet een gedeeld opslagpad of een SMB-share zijn.
    -vnet Naam van AksHciNetworkSetting de variabele die in de vorige stap is gemaakt
    -useNetworkController Integratie met SDN inschakelen.
    -networkControllerFqdnOrIpAddress FQDN van netwerkcontroller. U kunt de FQDN ophalen door deze 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 cmdlet uit te Get-NetworkControllerLogicalSubnet voeren. Wanneer u deze cmdlet gebruikt, gebruikt PublicVIP u deze als .LogicalNetworkId De VipPoolStart parameters 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, kunt u AKS installeren op Azure Local.

Install-AksHci

Zodra de installatie is voltooid, wordt er een beheervlak-VM (beheercluster) gemaakt en wordt de VMNIC gekoppeld aan uw SDN-netwerk.

Logboeken verzamelen van een SDN en AKS in de lokale Azure-omgeving

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

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 door Arc zijn ingeschakeld, worden naadloos gekoppeld aan het virtuele SDN-netwerk dat tijdens de installatie is geleverd. 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 kubernetes-besturingsvlak(en).