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
- Siehe die Systemanforderungen.
- Betriebssystemanforderungen: Installieren Sie Windows 10/11 IoT Enterprise/Enterprise/Pro auf Ihrem Computer, und aktivieren Sie Windows. Es wird empfohlen, die neueste Clientversion 22H2 (Betriebssystembuild 19045) oder Server 2022 (Betriebssystembuild 20348) zu verwenden. Sie können hier eine Version von Windows 10 oder Windows 11 herunterladen.
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:
- 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.
- Deaktivieren Sie den virtuellen Computer, der im vorherigen Schritt erstellt wurde.
- Wählen Sie den virtuellen Windows-Computer und dann Einstellungen bearbeiten aus.
- Suchen Sie nach Hardwarevirtualisierung, und aktivieren Sie Hardwareunterstützte Virtualisierung für das Gastbetriebssystem verfügbar machen.
- Wählen Sie Speichern aus, und starten Sie den virtuellen Computer.
- 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.
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.
Öffnen Sie eine PowerShell-Sitzung mit erhöhten Rechten.
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
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
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"
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
Wenn Windows-Setup und -Konfiguration abgeschlossen sind, deaktivieren Sie Ihren virtuellen Windows-VM-1-Computer .
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
Aktivieren von MAC-Spoofing für Windows-VM-1:
Get-VMNetworkAdapter -VMName <windows-vm-name> | Set-VMNetworkAdapter -MacAddressSpoofing On
Aktivieren Sie den virtuellen Windows-VM-1-Computer , und stellen Sie eine Verbindung über die Hyper-V Connect-Option her.
Öffnen Sie innerhalb des virtuellen Windows-VM-1-Computers eine PowerShell-Sitzung mit erhöhten Rechten.
Ü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 . . . . . . . . . :
Rufen Sie den ifIndex des Ethernet-Adapters mit dem Namen aus dem vorherigen Schritt ab:
$ifIndex = (Get-NetAdapter -Name "<name>").ifIndex
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"
Richten Sie den virtuellen Windows-VM-1-Computer ein, und führen Sie die Schritte "Vorbereiten Ihrer Computer für AKS Edge Essentials " aus.
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
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
Bereitstellen der vollständigen Bereitstellung von AKS Edge Essentials mithilfe der im vorherigen Schritt erstellten Konfigurations-JSON-Datei:
New-AksEdgeDeployment -JsonConfigFilePath .\AksEdgeDeployConfigTemplate.json
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"
Pingen Sie AKS-Edge-VM-1 vom virtuellen Windows-VM-1-Computer :
ping 172.20.1.4
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.
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>
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
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.
Richten Sie den virtuellen Windows-VM-2-Computer ein, und führen Sie die Schritte "Vorbereiten Ihrer Computer für AKS Edge Essentials " aus.
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
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>
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.
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>
Ü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
- Hinzufügen von Workloads durch Bereitstellen von Anwendungen
- Problembehandlung bei der Bereitstellung