Freigeben über


Vorbereiten der geschachtelten Virtualisierungsumgebung für AKS Edge Essentials

In diesem Artikel wird beschrieben, wie Sie eine geschachtelte Virtualisierungsumgebung einrichten, um einen Azure Kubernetes Service (AKS)-Edge Essentials-Cluster bereitzustellen.

Hinweis

Die Bereitstellung von AKS Edge Essentials über einer geschachtelten Virtualisierungsumgebung auf VMware ESXi wird unterstützt. Andere geschachtelte Virtualisierungsbereitstellungen werden für Produktionsszenarien nicht unterstützt und sind auf Entwicklerzwecke beschränkt. In diesem Handbuch wird davon ausgegangen, dass Sie den Hyper-V-Hypervisor verwenden. Wir unterstützen nicht die Verwendung eines Nicht-Microsoft-Hypervisors, z. B. HYPERVISOR.

Voraussetzungen

Bereitstellung auf einer Windows-VM unter VMware ESXi

VMware ESXi 8.0 Versionen können AKS Edge Essentials auf einem virtuellen Windows-Computer hosten.

Führen Sie die folgenden Schritte aus, um AKS Edge Essentials auf einem virtuellen VMware ESXi Windows-Computer einzurichten:

  1. Erstellen Sie einen virtuellen Windows-Computer auf dem VMware ESXi-Host. Weitere Informationen zur VMware-VM-Bereitstellung finden Sie unter VMware: Bereitstellen virtueller Computer.

Hinweis

Wenn Sie einen virtuellen Windows 11-Computer erstellen, stellen Sie sicher, dass er die Mindestanforderungen von Microsoft erfüllt, um Windows 11 auszuführen. Weitere Informationen zur VMware-Unterstützung für Windows 11-VMs finden Sie unter Installieren von Windows 11 als Gastbetriebssystem unter VMware.

  1. Deaktivieren Sie den virtuellen Computer, der im vorherigen Schritt erstellt wurde.
  2. Wählen Sie den virtuellen Windows-Computer und dann Einstellungen bearbeiten aus.
  3. Suchen Sie nach Hardwarevirtualisierung, und aktivieren Sie Hardwareunterstützte Virtualisierung für das Gastbetriebssystem verfügbar machen.
  4. Wählen Sie Speichern aus, und starten Sie den virtuellen Computer.
  5. Installieren Sie den Hyper-V-Hypervisor. Wenn Sie einen Windows-Client verwenden, stellen Sie sicher, dass Sie Hyper-V unter Windows 10 installieren. Wenn Sie Windows Server verwenden, müssen Sie die Hyper-V-Rolle installieren.

Bereitstellung auf virtuellen Azure-Computern

Wenn Sie AKS Edge Essentials auf einem virtuellen Azure-Computer ausführen, stellen Sie sicher, dass Sie eine Azure Compute Unit (ACU) verwenden, die geschachtelte Virtualisierung unterstützt. Weitere Informationen finden Sie unter Azure Compute Unit (ACU). Darüber hinaus unterstützen Azure-VMs nicht die Verwendung eines externen virtuellen Switches, sodass AKS Edge Essentials-Bereitstellungen über dem VM-Hostbetriebssystem auf Cluster mit einem Computer beschränkt sind.

Bereitstellungsumgebung

In diesem Abschnitt wird die geschachtelte Architektur beschrieben, in der die hauptkomponenten und die erforderliche Konfiguration hervorgehoben werden. Die weiter unten in diesem Artikel beschriebenen Virtualisierungsebenen lauten wie folgt:

  • L0 Host OS: Windows-Hostbetriebssystem. Dieses Betriebssystem kann Bare-Metal oder als virtueller Computer ausführen, aber in diesem Artikel ist das L0-Hostbetriebssystem das Betriebssystem, das die geschachtelten Windows L1-VMs erstellt.
  • Virtueller L1-Computer: Windows-VM, die über dem Windows-Hostbetriebssystem L0 ausgeführt wird. Dieser virtuelle Computer verfügt über die AKS Edge Essentials-Installation.
  • Virtueller L2-Computer: AKS Edge Essentials geschachtelte VM (Linux oder Windows), die über dem virtuellen L1-Windows-Computer ausgeführt wird.

Sie können eine geschachtelte Umgebung mit einem internen oder externen virtuellen Switch einrichten. In diesem Artikel wird jedoch davon ausgegangen, dass Sie einen internen virtuellen Switch verwenden. DIE IP-Adressen des virtuellen L0-Computers und der virtuellen L1/L2-Computer können sich je nach Netzwerkszenario ändern. In diesem Artikel wird davon ausgegangen, dass Sie die IP-Adressfamilie 172.20.1.0/24 verwenden.

Außerdem ist die Bereitstellung von AKS Edge Essentials Windows-Knoten optional und wirkt sich auf ihre zugewiesenen Speicheranforderungen aus. In diesem Artikel wird eine nur Linux-Bereitstellung beschrieben, Sie können jedoch Ihre Windows-Knoten hinzufügen, indem Sie die entsprechende Konfiguration zu den JSON-Bereitstellungsdateien hinzufügen.

Tipp

Wenn Sie externe virtuelle Switches für die Bereitstellung verwenden, stellen Sie sicher, dass Sie die richtigen Netzwerkadapter und IP-Adressenzuweisungen verwenden.

Diagramm mit geschachtelter Virtualisierungsarchitektur.

Das vorherige Diagramm zeigt die verschiedenen virtuellen Computer und Komponenten dieser geschachtelten Architektur.

Gerät/VM Betriebssystem Ebene Parent Arbeitsspeicher IP-Adresse
Windows-Hostbetriebssystem Windows L0 - 32/64 GB 172.20.1.1
Windows-VM-1 Windows L1 Windows-Hostbetriebssystem 8/16 GB 172.20.1.2
Windows-VM-2 Windows L1 Windows-Hostbetriebssystem 8/16 GB 172.20.1.3
AKS-Edge-Linux-VM-1 CBL-Mariner L2 Windows-VM-1 4GB 172.20.1.4
AKS-Edge-Windows-VM-1 (optional) Windows L2 Windows-VM-1 4GB 172.20.1.5
AKS-Edge-Linux-VM-2 CBL-Mariner L2 Windows-VM-2 4GB 172.20.1.6
AKS-Edge-Windows-VM-2 (optional) Windows L2 Windows-VM-2 4GB 172.20.1.7

Einrichten geschachtelter virtueller Computer

Der folgende Leitfaden ist ein Beispiel für die IP-Adresszuweisung. Sie können Ihre eigene Zuordnung basierend auf Ihrer Netzwerkumgebung und -anforderungen verwenden. Benennungskonventionen für virtuelle Computer und virtuelle Hardwarezuweisungen werden ebenfalls vorgeschlagen, aber Sie können Ihre eigene Konfiguration verwenden.

  1. Öffnen Sie eine PowerShell-Sitzung mit erhöhten Rechten.

  2. Erstellen Sie einen internen virtuellen Switch:

    New-VMSwitch -Name "AKS-Int" -SwitchType Internal
    

    Wenn Sie den Schalter richtig erstellt haben, sollte etwas ähnliches wie die folgende Ausgabe angezeigt werden:

    Name    SwitchType NetAdapterInterfaceDescription
    ----    ---------- ------------------------------
    AKS-Int Internal
    
  3. Weisen Sie dem virtuellen Switch AKS-Int eine IP-Adresse zu. In diesem Beispiel wird das Netzwerk 172.20.1.0/24 verwendet. Das Windows-Hostbetriebssystem verwendet diese IP-Adresse für virtuelle Switche, um mit den anderen virtuellen Computern und AKS Edge Essentials-Knoten zu kommunizieren:

    $ifIndex = (Get-NetAdapter -Name "vEthernet (AKS-Int)").ifIndex
    New-NetIPAddress –IPAddress "172.20.1.1" -PrefixLength "24" -InterfaceIndex $ifIndex
    
  4. Erstellen Sie eine NAT-Tabelle zum Verbinden des internen virtuellen Switches und der mit dem externen/Internetnetzwerk verbundenen Geräte:

     New-NetNat -Name "AKS-EE-Int-Network" -InternalIPInterfaceAddressPrefix "172.20.1.0/24"
    
  5. Erstellen Sie mit Hyper-V-Manager den ersten virtuellen Windows-Computer, und nennen Sie ihn Windows-VM-1. Weitere Informationen zur Erstellung virtueller Computer finden Sie unter Windows Server-Virtualisierung. Stellen Sie während der Konfiguration des virtuellen Computers sicher, dass Sie die folgenden Parameter ordnungsgemäß eingerichtet haben:

    • Prozessoren: Anzahl der virtuellen Prozessoren: 4
    • Arbeitsspeicher: RAM: 8192 MB
    • Netzwerkadapter: Virtueller Switch: AKS-Int
  6. Wenn Windows-Setup und -Konfiguration abgeschlossen sind, deaktivieren Sie Ihren virtuellen Windows-VM-1-Computer .

  7. Aktivieren Sie die geschachtelte Virtualisierung für Windows-VM-1. Weitere Informationen zur geschachtelten Virtualisierung finden Sie unter Ausführen von Hyper-V auf einem virtuellen Computer mit geschachtelter Virtualisierung:

    Set-VMProcessor -VMName <windows-vm-name> -ExposeVirtualizationExtensions $true
    
  8. Aktivieren von MAC-Spoofing für Windows-VM-1:

    Get-VMNetworkAdapter -VMName <windows-vm-name> | Set-VMNetworkAdapter -MacAddressSpoofing On
    
  9. Aktivieren Sie den virtuellen Windows-VM-1-Computer , und stellen Sie eine Verbindung über die Hyper-V Connect-Option her.

  10. Öffnen Sie innerhalb des virtuellen Windows-VM-1-Computers eine PowerShell-Sitzung mit erhöhten Rechten.

  11. Überprüfen Sie die Adapter, die mit dem virtuellen Computer verbunden sind. Suchen Sie nach dem Namen des verbundenen >. Beispiel: Ethernet 2:

    ipconfig
    

    Etwa folgende Ausgabe sollte angezeigt werden:

    PS C:\Windows\system32> ipconfig
    
    Windows IP Configuration
    
    Ethernet adapter Ethernet 2:
    
       Connection-specific DNS Suffix  . : mshome.net
       Link-local IPv6 Address . . . . . : fe80::f4b3:63b3:20d0:2e60%12
       Autoconfiguration IPv4 Address. . : 169.254.233.233
       Subnet Mask . . . . . . . . . . . : 255.255.0.0
       Default Gateway . . . . . . . . . :
    
    Ethernet adapter vEthernet (Default Switch):
    
       Connection-specific DNS Suffix  . :
       Link-local IPv6 Address . . . . . : fe80::545e:7d5:812b:c17b%18
       IPv4 Address. . . . . . . . . . . : 172.21.144.1
       Subnet Mask . . . . . . . . . . . : 255.255.240.0
       Default Gateway . . . . . . . . . :
    
  12. Rufen Sie den ifIndex des Ethernet-Adapters mit dem Namen aus dem vorherigen Schritt ab:

    $ifIndex = (Get-NetAdapter -Name "<name>").ifIndex
    
  13. Konfigurieren sie statische IP 172.20.1.2 und Gateway-IP 172.20.1.1 und DNS Server 172.20.1.1:

    Tipp

    Wenn Sie eine Azure-VM verwenden, verwenden Sie den DNS-Server des Windows-Hostbetriebssystems (L0). Verwenden Sie den ipconfig /all Befehl, um die DNS-Serveradresse abzurufen. Überprüfen Sie, ob Sie internetzugriff über Ihren Webbrowser erhalten können. Wenn Sie keinen Zugriff haben, überprüfen Sie, ob der DNS-Server ordnungsgemäß konfiguriert ist:

    New-NetIPAddress –IPAddress "172.20.1.2" -DefaultGateway "172.20.1.1" -PrefixLength "24" -InterfaceIndex $ifIndex
    Set-DNSClientServerAddress –InterfaceIndex $ifIndex –ServerAddresses "172.20.1.1"
    
  14. Richten Sie den virtuellen Windows-VM-1-Computer ein, und führen Sie die Schritte "Vorbereiten Ihrer Computer für AKS Edge Essentials " aus.

  15. Installieren Sie alle Voraussetzungen für AKS Edge Essentials für den virtuellen Windows-VM-1-Computer . Weitere Informationen zu Voraussetzungen finden Sie unter AKS Edge Essentials-Anforderungen und Supportmatrix:

    Install-AksEdgeHostFeatures
    
  16. Erstellen Sie die Konfigurationsdatei für die vollständige Bereitstellung von AKS Edge Essentials. Nachdem der JSON-Code erstellt wurde, fügen Sie die erforderlichen Parameter hinzu. Stellen Sie sicher, dass Sie den Netzwerkadapter für die Erstellung externer virtueller Switche, den DNS-Server, den zugewiesenen Arbeitsspeicher und die richtigen statischen IP-Adressen ändern. Weitere Informationen finden Sie unter Vollständige Kubernetes-Bereitstellungen in AKS Edge Essentials:

    New-AksEdgeConfig -NodeType Linux -DeploymentType ScalableCluster
    
  17. Bereitstellen der vollständigen Bereitstellung von AKS Edge Essentials mithilfe der im vorherigen Schritt erstellten Konfigurations-JSON-Datei:

    New-AksEdgeDeployment -JsonConfigFilePath .\AksEdgeDeployConfigTemplate.json
    
  18. Aktivieren des Pings von ICMP-Datenverkehr auf dem virtuellen Computer AKS-Edge-VM-1 :

    Invoke-AksEdgeNodeCommand -NodeType "Linux" -command "sudo iptables -A INPUT -p ICMP -j ACCEPT"
    
  19. Pingen Sie AKS-Edge-VM-1 vom virtuellen Windows-VM-1-Computer :

    ping 172.20.1.4
    
  20. Pingen Sie AKS-Edge-VM-1 vom Windows-Hostbetriebssystem:

    ping 172.20.1.4
    

    Warnung

    Wenn die Pinganforderungen an die VM AKS-Edge-VM-1 fehlschlagen, überprüfen Sie die IP-Konfiguration und beheben Sie die Netzwerkverbindungen.

  21. Rufen Sie in Windows-VM-1 die scaleConfig-JSON-Datei ab, die in Windows-VM-2 verwendet werden soll:

     New-AksEdgeScaleConfig -NodeType Linux -ScaleType AddMachine -LinuxNodeIp <VM2-Linux-Node-IP>
    
  22. Erstellen Sie den virtuellen Windows-VM-2-Computer . Wiederholen Sie die Schritte 4 bis 14 mit den neuen Windows-VM-2-Parametern :

    • Name des virtuellen Computers: Windows-VM-2
    • IP-Adresse: 172.20.1.3
    • Prozessoren: Anzahl der virtuellen Prozessoren: 4
    • Arbeitsspeicher: 8192 MB
    • Netzwerkadapter (virtueller Switch): AKS-Int
    • IP-Gatewayadresse: 172.20.1.1
    • DNS-Serveradresse: 172.20.1.1
  23. Testen Sie den Ping von Windows-VM-2 auf AKS-Edge-VM-1:

    ping 172.20.1.4
    

    Warnung

    Wenn die Pinganforderungen an die AKS-Edge-VM-1 fehlschlagen, überprüfen Sie die IP-Konfiguration und beheben Sie die Netzwerkverbindungen.

  24. Richten Sie den virtuellen Windows-VM-2-Computer ein, und führen Sie die Schritte "Vorbereiten Ihrer Computer für AKS Edge Essentials " aus.

  25. Installieren Sie alle Voraussetzungen für AKS Edge Essentials für den virtuellen Windows-VM-2-Computer . Weitere Informationen zu Voraussetzungen finden Sie unter AKS Edge Essentials-Anforderungen und Supportmatrix:

    Install-AksEdgeHostFeatures
    
  26. Stellen Sie eine Verbindung mit dem virtuellen Windows-VM-1-Computer her, und rufen Sie mithilfe einer PowerShell-Sitzung mit erhöhten Rechten die Konfiguration des AKS-Edgeclusterbeitritts ab:

    New-AksEdgeScaleConfig -NodeType Linux -ScaleType AddMachine -LinuxNodeIp <AKS-Edge-Linux-VM-2>
    
  27. Kopieren Sie die Konfigurationsdatei von AKS Edge Essentials aus Windows-VM-1 , und ändern Sie sie mit den entsprechenden Parametern. Weitere Informationen finden Sie unter Skalieren auf mehreren Computern.

  28. Bereitstellen von AKS-Edge-VM-2 auf Window-VM-2 mithilfe der JSON-Datei der Skalierungskonfiguration aus dem vorherigen Schritt:

    New-AksEdgeDeployment -JsonConfigFilePath <scale-config-json>
    
  29. Überprüfen Sie, ob der Knoten dem Cluster hinzugefügt wurde. Führen Sie auf einem beliebigen Knoten im Cluster das folgende Cmdlet aus:

    kubectl get nodes
    

    Wenn alles ordnungsgemäß eingerichtet wurde, sollten beide Linux-Knoten in Ihrem Cluster ausgeführt werden:

    PS C:\> kubectl get nodes
    NAME                     STATUS   ROLES                       AGE     VERSION
    windows-vm1-ledge        Ready    control-plane,etcd,master   3m45s   v1.24.3+k3s-
    windows-vm2-ledge        Ready    control-plane,etcd,master  10m25s   v1.24.3+k3s-
    

    Hinweis

    Eine Liste der derzeit unterstützten Kubernetes-Versionen für K3s und K8s finden Sie in der Tabelle in Download AKS Edge Essentials.

Nächste Schritte