Share via


Bereitstellen von Microsoft Software Defined Networking (SDN)

Gilt für: AKS in Azure Stack HCI 22H2, AKS unter Windows Server

In diesem Artikel wird beschrieben, wie Sie AKS-Infrastruktur- und Workload-VMs auf einem SDN-Virtual Network mithilfe unserer SDN-Software-Load Balancer für alle AKS Arc-Lastenausgleichsszenarien bereitstellen. Die von Azure Arc aktivierte AKS bietet eine vollständig unterstützte Containerplattform, auf der cloudnative Anwendungen auf der Kubernetes-Containerorchestrierungsplattform ausgeführt werden können. Die Architektur unterstützt die Ausführung virtualisierter Windows- und Linux-Workloads.

Einschränkungen

Die folgenden Features sind außerhalb des Geltungsbereichs und werden in dieser Version der allgemeinen Verfügbarkeit nicht unterstützt:

  • Anfügen von Pods und Containern an ein virtuelles SDN-Netzwerk.
    • Pods verwenden Flannel oder Calico (Standard) als Netzwerkanbieter.
  • Netzwerkrichtlinienerzwingung mithilfe des SDN Network Security Gruppen.
    • Die SDN Network Security Gruppen kann weiterhin außerhalb von AKS Arc mithilfe von SDN-Tools (REST/PowerShell/Windows Admin Center/SCVMM) konfiguriert werden, kubernetes NetworkPolicy-Objekte konfigurieren sie jedoch nicht.
  • Anfügen von AKS Arc-VM-NICs an logische SDN-Netzwerke
  • Installation mit Windows Admin Center.
  • Physischer Host mit AKS Arc-VM-Konnektivität: VM-NICs sind mit einem virtuellen SDN-Netzwerk verbunden und daher standardmäßig nicht vom Host aus zugänglich. Derzeit können Sie diese Konnektivität manuell aktivieren, indem Sie mithilfe des SDN-Software-Load Balancer eine öffentliche IP-Adresse direkt an den virtuellen Computer anfügen.

Voraussetzungen

Um AKS bereitzustellen, die von Arc mit SDN aktiviert ist, stellen Sie sicher, dass Ihre Umgebung die Bereitstellungskriterien von AKS Arc und SDN erfüllt.

Hinweis

Für die SDN-Integration in AKS Arc sind nur Netzwerkcontroller und Software Load Balancer erforderlich. Gateway-VMs sind optional.

Installieren und Vorbereiten von SDN für AKS Arc

Zunächst muss das SDN installiert werden. Um das SDN zu installieren, empfehlen wir SDN Express oder Windows Admin Center. Eine Referenzkonfigurationsdatei, die alle erforderlichen SDN-Infrastrukturkomponenten bereitstellt, finden Sie hier: Software Load Balancer.psd1.

Nach Abschluss der SDN Express-Bereitstellung sollte ein Bildschirm angezeigt werden, der die status als fehlerfrei meldet.

Wenn ein Fehler aufgetreten ist oder als fehlerhaft gemeldet wird, lesen Sie Problembehandlung bei SDN.

Das SDN muss fehlerfrei sein, bevor Sie fortfahren. Wenn Sie SDN in einer neuen Umgebung bereitstellen, empfiehlt es sich auch, Test-VMs zu erstellen und die Konnektivität mit den Lastenausgleichs-VIPs zu überprüfen. Informationen zum Erstellen und Anfügen von VMs an ein virtuelles SDN-Netzwerk mithilfe des Windows Admin Center finden Sie hier.

Schritte zum Installieren von AKS

Initialisieren und vorbereiten Sie alle physischen Hostcomputer für AKS Arc. Aktuelle Anweisungen finden Sie unter Bereitstellen eines AKS-Hosts .

Installieren des PowerShell-Moduls AKS-HCI

Informationen zum Installieren des PowerShell-Moduls AKS-HCI finden Sie unter Installieren des PowerShell-Moduls AksHci .

Hinweis

Nachdem Sie diesen Schritt abgeschlossen haben, aktualisieren oder laden Sie alle geöffneten PowerShell-Sitzungen neu, um die Module erneut zu laden.

Registrieren des Ressourcenanbieters bei Ihrem Abonnement

Informationen zum Registrieren des Ressourcenanbieters für Ihr Abonnement finden Sie unter Installieren des PowerShell-Moduls AksHci.

Vorbereiten Ihrer Computer für die Bereitstellung

Informationen zum Vorbereiten Ihrer Computer für die Bereitstellung finden Sie unter Vorbereiten ihrer Computer für die Bereitstellung.

Konfigurieren von AKS für die Installation

Wählen Sie einen Ihrer Azure Stack HCI-Server aus, um die Erstellung von AKS Arc voranzutreiben. Vor der Installation müssen drei Schritte ausgeführt werden:

  1. Konfigurieren Sie die AKS-Netzwerkeinstellungen für SDN. Beispiel:

    1. Virtuelles SDN-Netzwerk "10.20.0.0/24" (10.20.0.0 – 10.20.0.255). Ein virtualisiertes Netzwerk, und Sie können ein beliebiges IP-Subnetz verwenden. Dieses Subnetz muss nicht in Ihrem physischen Netzwerk vorhanden sein.
    2. vSwitch-Name "Extern". Der externe vSwitch auf den Azure Stack HCI-Servern. Stellen Sie sicher, dass Sie den gleichen vSwitch verwenden, der für die SDN-Bereitstellung verwendet wurde.
    3. Gateway "10.20.0.1" Diese Adresse ist das Gateway für Ihr virtuelles Netzwerk.
    4. DNS-Server "10.127.130.7" Der DNS-Server für Ihr virtuelles Netzwerk.
    $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 BESCHREIBUNG
    -name Name des virtuellen Netzwerks in AKS, der von Arc aktiviert ist (muss Kleinbuchstaben sein).
    -vswitchName Name des externen vSwitch auf den Azure Stack HCI-Servern. Verwenden Sie denselben vSwitch, der für die SDN-Bereitstellung verwendet wurde.
    -k8sNodeIpPoolStart
    -k8sNodeIpPoolEnd
    IP-Start-/Endbereich des virtuellen SDN-Netzwerks.
    -ipAddressPrefix Subnetz des virtuellen Netzwerks in CIDR-Notation.
    -gateway
    -dnsServers
    Gateway und DNS-Server des virtuellen SDN-Netzwerks.

    Weitere Informationen zu diesen Parametern finden Sie unter New-AksHciNetworkSetting.

  2. Erstellen Sie im selben PowerShell-Fenster, das Sie in Schritt 1 verwendet haben, einen VIP-Pool, um AKS über unsere IP-Adressen zu informieren, die aus unserem logischen SDN-Lastenausgleichsnetzwerk verwendet werden können:

    $VipPool = New-AksHciVipPoolSetting -name "publicvip" -vipPoolStart "10.127.132.16" -vipPoolEnd "10.127.132.23
    
    Parameter BESCHREIBUNG
    -name Das logische Netzwerk "PublicVIP", das Sie beim Konfigurieren von SDN-Lastenausgleichsmodulen bereitgestellt haben. Innerhalb des Cmdlets muss dieser Name Kleinbuchstaben sein.
    -vipPoolStart IP-Startbereich des logischen Netzwerks, der für den öffentlichen Load Balancer-VIP-Pool verwendet wird. Sie müssen einen Adressbereich aus dem logischen SDN-Netzwerk "PublicVIP" verwenden.
    -vipPoolEnd IP-Endbereich des logischen Netzwerks, der für den vip-Pool des öffentlichen Lastenausgleichs verwendet wird. Sie müssen einen Adressbereich aus dem logischen SDN-Netzwerk "PublicVIP" verwenden.
  3. Erstellen Sie im selben PowerShell-Fenster, das in Schritt 2 verwendet wird, die AKS-Konfiguration für SDN, indem Sie Verweise auf die zielorientierten SDN-Netzwerke bereitstellen, und geben Sie die Netzwerkeinstellungen ($vnet, $vipPool) an, die wir zuvor definiert haben:

    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
    

    Das logische HNVPA-Netzwerk wird als zugrunde liegender Anbieter für das virtuelle AKS Arc-Netzwerk verwendet.

    Wenn Sie eine statische IP-Adresszuweisung für Ihre Azure Stack HCI-Clusterknoten verwenden, müssen Sie auch den CloudServiceCidr Parameter angeben. Dieser Parameter ist die IP-Adresse des MOC-Clouddiensts und muss sich im selben Subnetz wie Azure Stack HCI-Clusterknoten befinden. Weitere Informationen finden Sie unter Microsoft On-Premises Cloud Service.

    Parameter BESCHREIBUNG
    –imageDir Der Pfad zu dem AKS Arc seine VHD-Images speichert. Dieser Pfad muss ein freigegebener Speicherpfad oder eine SMB-Freigabe sein.
    –workingDir Der Pfad, in dem kleine Dateien für das Modul gespeichert werden. Dieser Pfad muss ein freigegebener Speicherpfad oder eine SMB-Freigabe sein.
    -cloudConfigLocation Der Pfad zu dem Verzeichnis, in dem die Cloud-Agent-Konfiguration gespeichert ist. Dieser Pfad muss ein freigegebener Speicherpfad oder eine SMB-Freigabe sein.
    -vnet Name der AksHciNetworkSetting Variablen, die im vorherigen Schritt erstellt wurde
    -useNetworkController Aktivieren Sie die Integration mit SDN.
    -networkControllerFqdnOrIpAddress FQDN des Netzwerkcontrollers. Sie können den FQDN abrufen, indem Sie auf der Netzwerkcontroller-VM ausführen Get-NetworkController und den RestName Parameter verwenden.
    -networkControllerLbSubnetRef Verweis auf das subnetz des logischen öffentlichen VIP-Netzwerks, das im Netzwerkcontroller konfiguriert ist. Sie können dieses Subnetz abrufen, indem Sie das Get-NetworkControllerLogicalSubnet Cmdlet ausführen. Verwenden Sie PublicVIP bei Verwendung dieses Cmdlets LogicalNetworkIdals . Die VipPoolStart Parameter und vipPoolEnd im New-AksHciVipPoolSetting Cmdlet müssen Teil des Subnetzes sein, auf das hier verwiesen wird.
    -networkControllerLnetRef Normalerweise lautet dieser Wert "/logicalnetworks/HNVPA".
    -vipPool VIP-Pool, der als Front-End-IPs für den Lastenausgleich verwendet wird.

    Weitere Informationen zu diesen Parametern finden Sie unter Set-AksHciConfig.

Anmelden bei Azure und Konfigurieren der Registrierungseinstellungen

Befolgen Sie die Anweisungen hier , um die Registrierungseinstellungen zu konfigurieren.

Hinweis

Wenn Sie nicht über Besitzerberechtigungen verfügen, wird empfohlen, einen Azure-Dienstprinzipal zu verwenden.

Installieren von AKS

Sobald die AKS-Konfiguration abgeschlossen ist, können Sie AKS in Azure Stack HCI installieren.

Install-AksHci

Sobald die Installation erfolgreich ist, wird eine VM auf Steuerungsebene (Verwaltungscluster) erstellt, und ihre VmNIC wird an Ihr SDN-Netzwerk angefügt.

Sammeln von Protokollen aus einer SDN- und AKS-Umgebung in HCI

Mit SDN und AKS in HCI erhalten wir die Isolation der AKS-Knoten in virtuellen Netzwerken. Da sie isoliert sind, müssen wir ein neues SDN AKS-HCI-Protokollsammlungsskript importieren und einen geänderten Befehl ausführen, der den Lastenausgleich verwendet, um Protokolle von den Knoten abzurufen:

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

Feedback/Probleme

Sehen Sie sich die Selbsthilferessourcen hier für SDN und hier für AKS-HCI an.

Nächste Schritte

Als Nächstes können Sie Workloadcluster erstellen und Ihre Anwendungen bereitstellen. Alle von Arc aktivierten AKS-VM-NICs in AKS sind nahtlos an das virtuelle SDN-Netzwerk angefügt, das während der Installation bereitgestellt wurde. Der SDN-Software-Lastenausgleich wird auch als externer Lastenausgleich für alle Kubernetes-Dienste verwendet und fungiert als Lastenausgleich für den API-Server auf Kubernetes-Steuerungsebenen.