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 in einem SDN-Virtual Network mithilfe unserer SDN-Software-Load Balancer für alle AKS Arc-Lastenausgleichsszenarien bereitstellen. AKS, das von Azure Arc aktiviert ist, 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 liegen außerhalb des Gültigkeitsbereichs und werden in dieser GA-Version nicht unterstützt:

  • Anfügen von Pods und Containern an ein virtuelles SDN-Netzwerk.
    • Pods verwenden Flannel oder Calico (Standard) als Netzwerkanbieter.
  • Erzwingung von Netzwerkrichtlinien mithilfe der SDN-Netzwerksicherheitsgruppen.
    • Die SDN-Netzwerksicherheitsgruppen können 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.
  • Konnektivität des physischen Hosts mit AKS Arc-VM: VM-NICs sind mit einem virtuellen SDN-Netzwerk verknüpft und daher standardmäßig nicht vom Host aus zugänglich. Vorerst können Sie diese Konnektivität manuell aktivieren, indem Sie mithilfe der SDN-Software-Load Balancer eine öffentliche IP-Adresse direkt an den virtuellen Computer anfügen.

Voraussetzungen

Stellen Sie sicher, dass Ihre Umgebung die Bereitstellungskriterien von AKS Arc und SDN erfüllt, um AKS mit SDN bereitzustellen.

Hinweis

Für die SDN-Integration mit 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, auf dem die status als fehlerfrei gemeldet wird.

Wenn etwas schief gegangen ist oder als fehlerhaft gemeldet wird, finden Sie weitere Informationen unter Problembehandlung für 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 Load Balancer-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 AKS-HCI-PowerShell-Moduls finden Sie unter Installieren des AksHci PowerShell-Moduls .

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 AksHci PowerShell-Moduls.

Vorbereiten Ihrer Computer für die Bereitstellung

Informationen dazu, wie Sie Ihre Computer für die Bereitstellung vorbereiten, 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 zu steuern. Es gibt drei Schritte, die vor der Installation ausgeführt werden müssen:

  1. Konfigurieren Sie die AKS-Netzwerkeinstellungen für SDN. z. B. mit:

    1. SDN Virtuelles 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 denselben 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-Hybrid (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 angegeben haben. Innerhalb des Cmdlets muss dieser Name Kleinbuchstaben sein.
    -vipPoolStart IP-Startbereich des logischen Netzwerks, das für den VIP-Pool des öffentlichen Lastenausgleichs verwendet wird. Sie müssen einen Adressbereich aus dem logischen SDN-Netzwerk "PublicVIP" verwenden.
    -vipPoolEnd IP-Endbereich des logischen Netzwerks, das 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 SDN-Zielnetzwerke bereitstellen und die zuvor definierten Netzwerkeinstellungen ($vnet, $vipPool) angeben:

    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-Bilder 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 in 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-IP-Adressen 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

Nach Abschluss der AKS-Konfiguration können Sie AKS in Azure Stack HCI installieren.

Install-AksHci

Sobald die Installation erfolgreich ist, wird eine VM auf Steuerungsebene (Verwaltungscluster) erstellt, und die zugehörige 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

Weitere Informationen finden Sie in den Selbsthilferessourcen hier für SDN und hier für AKS-HCI.

Nächste Schritte

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