Uw geneste virtualisatieomgeving voorbereiden voor AKS Edge Essentials
In dit artikel wordt beschreven hoe u een geneste virtualisatieomgeving instelt om een AKS-cluster (Azure Kubernetes Service) Edge Essentials te implementeren.
Notitie
Het implementeren van AKS Edge Essentials bovenop een geneste virtualisatieomgeving op VMware ESXi wordt ondersteund. Andere geneste virtualisatie-implementaties worden niet ondersteund voor productiescenario's en zijn beperkt tot ontwikkelaarsdoeleinden. In deze handleiding wordt ervan uitgegaan dat u de Hyper-V-hypervisor gebruikt. We bieden geen ondersteuning voor het gebruik van een niet-Microsoft-hypervisor, zoals KVM.
Vereisten
- Bekijk de systeemvereisten.
- Besturingssysteemvereisten: Installeer Windows 10/11 IoT Enterprise/Enterprise/Pro op uw computer en activeer Windows. U wordt aangeraden de nieuwste clientversie 22H2 (OS build 19045) of Server 2022 (OS build 20348) te gebruiken. U kunt hier of Windows 11 een versie van Windows 10 downloaden.
Implementatie op Windows-VM op VMware ESXi
VMware ESXi 7.0 - en 8.0-versies kunnen AKS Edge Essentials op een virtuele Windows-machine hosten.
Als u AKS Edge Essentials wilt instellen op een virtuele VMware ESXi Windows-machine, gebruikt u de volgende stappen:
- Maak een virtuele Windows-machine op de VMware ESXi-host. Zie VMware - Virtuele machines implementeren voor meer informatie over de implementatie van VMware-VM's.
Notitie
Als u een virtuele Windows 11-machine maakt, moet u ervoor zorgen dat deze voldoet aan de minimale vereisten van Microsoft om Windows 11 uit te voeren. Zie Windows 11 installeren als gastbesturingssystemen op VMware voor meer informatie over VMware-ondersteuning voor Windows 11-VM's.
- Schakel de virtuele machine uit die u in de vorige stap hebt gemaakt.
- Selecteer de virtuele Windows-machine en vervolgens Instellingen bewerken.
- Zoek naar hardwarevirtualisatie en schakel hardware-ondersteunde virtualisatie beschikbaar maken in voor het gastbesturingssystemen.
- Selecteer Opslaan en start de virtuele machine.
- Installeer de Hyper-V-hypervisor. Als u een Windows-client gebruikt, moet u Hyper-V installeren in Windows 10. Als u Windows Server gebruikt, moet u ervoor zorgen dat u de Hyper-V-functie installeert.
Implementatie op virtuele Azure-machines
Als u AKS Edge Essentials boven op een Azure-VM uitvoert, moet u ervoor zorgen dat u een Azure Compute Unit (ACU) gebruikt die ondersteuning biedt voor geneste virtualisatie. Zie Azure Compute Unit (ACU) voor meer informatie. Azure-VM's bieden ook geen ondersteuning voor het gebruik van een externe virtuele switch, dus AKS Edge Essentials-implementaties boven op het VM-hostbesturingssysteem zijn beperkt tot clusters met één machine.
Implementatieomgeving
In deze sectie wordt de geneste architectuur beschreven, waarin de belangrijkste onderdelen en configuratie worden gemarkeerd die nodig zijn. De niveaus van virtualisatie die verderop in dit artikel worden beschreven, zijn:
- L0-hostbesturingssysteem: Windows-hostbesturingssysteem. Dit besturingssysteem kan bare-metal of als virtuele machine worden uitgevoerd, maar in dit artikel is het L0-hostbesturingssysteem het besturingssysteem dat de geneste Windows L1-VM's maakt.
- Virtuele L1-machine: Windows-VM die wordt uitgevoerd op het besturingssysteem L0 Windows-host. Deze VM heeft de AKS Edge Essentials-installatie.
- L2 Virtual Machine: AKS Edge Essentials geneste VM (Linux of Windows) die boven op de virtuele L1 Windows-machine wordt uitgevoerd.
U kunt een geneste omgeving instellen met behulp van een interne of externe virtuele switch. In dit artikel wordt echter ervan uitgegaan dat u een interne virtuele switch gebruikt. IP-adressen van de virtuele L0 Windows-machine en L1/L2 kunnen veranderen, afhankelijk van het netwerkscenario. In dit artikel wordt ervan uitgegaan dat u de IP-adresfamilie 172.20.1.0/24 gebruikt.
Het implementeren van AKS Edge Essentials Windows-knooppunten is ook optioneel en heeft invloed op uw toegewezen geheugenvereisten. In dit artikel wordt een implementatie met alleen Linux beschreven, maar u kunt uw Windows-knooppunten toevoegen door de juiste configuratie toe te voegen aan de JSON-implementatiebestanden.
Tip
Als u externe virtuele switches voor de implementatie gebruikt, moet u ervoor zorgen dat u de juiste netwerkadapters en IP-adressentoewijzingen gebruikt.
In het vorige diagram ziet u de verschillende virtuele machines en onderdelen van deze geneste architectuur.
Apparaat/VM | Besturingssysteem | Niveau | Parent | Geheugen | IP-adres |
---|---|---|---|---|---|
Windows-host-besturingssysteem | Windows | L0 | - | 32/64 GB | 172.20.1.1 |
Windows-VM-1 | Windows | L1 | Windows-host-besturingssysteem | 8/16 GB | 172.20.1.2 |
Windows-VM-2 | Windows | L1 | Windows-host-besturingssysteem | 8/16 GB | 172.20.1.3 |
AKS-Edge-Linux-VM-1 | CBL-Mariner | L2 | Windows-VM-1 | 4 GB | 172.20.1.4 |
AKS-Edge-Windows-VM-1 (optioneel) | Windows | L2 | Windows-VM-1 | 4 GB | 172.20.1.5 |
AKS-Edge-Linux-VM-2 | CBL-Mariner | L2 | Windows-VM-2 | 4 GB | 172.20.1.6 |
AKS-Edge-Windows-VM-2 (optioneel) | Windows | L2 | Windows-VM-2 | 4 GB | 172.20.1.7 |
Geneste virtuele machines instellen
De volgende handleiding is een voorbeeld van IP-adrestoewijzing. U kunt uw eigen toewijzing gebruiken op basis van uw netwerkomgeving en vereisten. Naamconventies voor virtuele machines en toewijzingen van virtuele hardware worden ook voorgesteld, maar u kunt uw eigen configuratie gebruiken.
Open een PowerShell-sessie met verhoogde bevoegdheid.
Een interne virtuele switch maken:
New-VMSwitch -Name "AKS-Int" -SwitchType Internal
Als u de switch correct hebt gemaakt, ziet u iets vergelijkbaars met de volgende uitvoer:
Name SwitchType NetAdapterInterfaceDescription ---- ---------- ------------------------------ AKS-Int Internal
Wijs een IP-adres toe aan de virtuele AKS-Int-switch . In dit voorbeeld wordt het netwerk 172.20.1.0/24 gebruikt. Het Windows-hostbesturingssystem gebruikt dit IP-adres van de virtuele switch om te communiceren met de andere virtuele machines en AKS Edge Essentials-knooppunten:
$ifIndex = (Get-NetAdapter -Name "vEthernet (AKS-Int)").ifIndex New-NetIPAddress –IPAddress "172.20.1.1" -PrefixLength "24" -InterfaceIndex $ifIndex
Maak een NAT-tabel voor het verbinden van de interne virtuele switch en het interne netwerk dat is verbonden met het externe/internetnetwerk:
New-NetNat -Name "AKS-EE-Int-Network" -InternalIPInterfaceAddressPrefix "172.20.1.0/24"
Maak met Hyper-V-beheer de eerste virtuele Windows-machine en geef deze de naam Windows-VM-1. Zie Windows Server-virtualisatie voor meer informatie over het maken van virtuele machines. Zorg er tijdens de configuratie van de VM voor dat u de volgende parameters correct instelt:
- Processors: Aantal virtuele processors: 4
- Geheugen: RAM: 8192 MB
- Netwerkadapter: virtuele switch: AKS-Int
Wanneer De installatie en configuratie van Windows zijn voltooid, schakelt u de virtuele machine van Windows-VM-1 uit.
Geneste virtualisatie inschakelen voor Windows-VM-1. Zie Hyper-V uitvoeren in een virtuele machine met geneste virtualisatie voor meer informatie over geneste virtualisatie:
Set-VMProcessor -VMName <windows-vm-name> -ExposeVirtualizationExtensions $true
MAC-adresvervalsing inschakelen voor Windows-VM-1:
Get-VMNetworkAdapter -VMName <windows-vm-name> | Set-VMNetworkAdapter -MacAddressSpoofing On
Schakel de virtuele Windows-VM-1-machine in en maak verbinding met behulp van de optie Hyper-V Connect .
Open in de virtuele Windows-VM-1-machine een PowerShell-sessie met verhoogde bevoegdheid.
Controleer de adapters die zijn verbonden met de virtuele machine. Zoek de naam van de verbonden Ethernet-adapter<>. Bijvoorbeeld Ethernet 2:
ipconfig
De uitvoer moet er ongeveer uitzien als hieronder is weergegeven:
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 . . . . . . . . . :
Haal de ifIndex van de Ethernet-adapter op met de naam uit de vorige stap:
$ifIndex = (Get-NetAdapter -Name "<name>").ifIndex
Configureer statische IP 172.20.1.2 en gateway-IP 172.20.1.1 en DNS-server 172.20.1.1:
Tip
Als u een Virtuele Azure-machine gebruikt, gebruikt u de DNS-server van het Windows-host-besturingssysteem (L0 ). Gebruik de
ipconfig /all
opdracht om het DNS-serveradres op te halen. Controleer of u internettoegang kunt krijgen via uw webbrowser. Als u geen toegang hebt, controleert u of de DNS-server juist is geconfigureerd: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"
Stel de virtuele Windows-VM-1-machine in op basis van de procedure Prepare your machines for AKS Edge Essentials .
Installeer alle AKS Edge Essentials-vereisten voor de virtuele Machine van Windows-VM-1 . Zie AKS Edge Essentials-vereisten en ondersteuningsmatrix voor meer informatie over vereisten:
Install-AksEdgeHostFeatures
Maak het configuratiebestand voor de volledige implementatie van AKS Edge Essentials. Nadat de JSON is gemaakt, voegt u de vereiste parameters toe. Zorg ervoor dat u de netwerkadapter wijzigt voor het maken van externe virtuele switch, DNS-server, toegewezen geheugen en juiste statische IP-adressen. Zie Volledige Kubernetes-implementaties in AKS Edge Essentials voor meer informatie:
New-AksEdgeConfig -NodeType Linux -DeploymentType ScalableCluster
Implementeer de AKS Edge Essentials-implementatie op volledige schaal met behulp van het JSON-configuratiebestand dat u in de vorige stap hebt gemaakt:
New-AksEdgeDeployment -JsonConfigFilePath .\AksEdgeDeployConfigTemplate.json
ICMP-verkeer pingen op de virtuele AKS-Edge-VM-1-machine inschakelen:
Invoke-AksEdgeNodeCommand -NodeType "Linux" -command "sudo iptables -A INPUT -p ICMP -j ACCEPT"
Ping AKS-Edge-VM-1 vanaf de virtuele Windows-VM-1-machine :
ping 172.20.1.4
Ping AKS-Edge-VM-1 vanuit het Windows-hostbesturingssysteem:
ping 172.20.1.4
Waarschuwing
Als de pingaanvragen voor de AKS-Edge-VM-1-VM mislukken, controleert u de IP-configuratie en lost u problemen met de netwerkverbindingen op.
Haal in Windows-VM-1 het JSON-bestand scaleConfig op dat moet worden gebruikt in Windows-VM-2:
New-AksEdgeScaleConfig -NodeType Linux -ScaleType AddMachine -LinuxNodeIp <VM2-Linux-Node-IP>
Maak de virtuele windows-VM-2-machine . Herhaal stap 4 tot en met 14 met de nieuwe parameters Windows-VM-2 :
- Naam van virtuele machine: Windows-VM-2
- IP-adres: 172.20.1.3
- Processors: Aantal virtuele processors: 4
- Geheugen: 8192 MB
- Netwerkadapter (virtuele switch): AKS-Int
- IP-gatewayadres: 172.20.1.1
- DNS-serveradres: 172.20.1.1
Test de ping van Windows-VM-2 naar AKS-Edge-VM-1:
ping 172.20.1.4
Waarschuwing
Als de pingaanvragen voor de AKS-Edge-VM-1 mislukken, controleert u de IP-configuratie en lost u de netwerkverbindingen op.
Stel de virtuele windows-VM-2-machine in op basis van de procedure Prepare your machines for AKS Edge Essentials .
Installeer alle AKS Edge Essentials-vereisten voor de virtuele Machine van Windows-VM-2 . Zie AKS Edge Essentials-vereisten en ondersteuningsmatrix voor meer informatie over vereisten:
Install-AksEdgeHostFeatures
Maak verbinding met de virtuele Windows-VM-1-machine en haal met behulp van een PowerShell-sessie met verhoogde bevoegdheid de configuratie van de AKS Edge-clusterdeelname op:
New-AksEdgeScaleConfig -NodeType Linux -ScaleType AddMachine -LinuxNodeIp <AKS-Edge-Linux-VM-2>
Kopieer het AKS Edge Essentials-schaalconfiguratiebestand van Windows-VM-1 en wijzig het met de juiste parameters. Zie Uitschalen op meerdere computers voor meer informatie.
Implementeer AKS-Edge-VM-2 op Window-VM-2 met behulp van het JSON-bestand voor schaalconfiguratie uit de vorige stap:
New-AksEdgeDeployment -JsonConfigFilePath <scale-config-json>
Controleer of het knooppunt is toegevoegd aan het cluster. Voer op elk knooppunt in het cluster de volgende cmdlet uit:
kubectl get nodes
Als alles correct is ingesteld, ziet u dat beide Linux-knooppunten in uw cluster worden uitgevoerd:
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-
Volgende stappen
- Workloads toevoegen door toepassingen te implementeren
- Problemen met uw implementatie oplossen