Przygotowywanie zagnieżdżonego środowiska wirtualizacji dla usługi AKS Edge Essentials
W tym artykule opisano sposób konfigurowania zagnieżdżonego środowiska wirtualizacji w celu wdrożenia klastra Azure Kubernetes Service (AKS) Edge Essentials.
Uwaga
Wdrażanie usługi AKS Edge Essentials na podstawie zagnieżdżonego środowiska wirtualizacji w środowisku VMware ESXi jest obsługiwane. Inne zagnieżdżone wdrożenia wirtualizacji nie są obsługiwane w scenariuszach produkcyjnych i są ograniczone do celów deweloperskich. W tym przewodniku założono, że używasz funkcji hypervisor funkcji Hyper-V. Nie obsługujemy używania funkcji hypervisor innej niż Microsoft, takiej jak KVM.
Wymagania wstępne
- Zobacz wymagania systemowe.
- Wymagania dotyczące systemu operacyjnego: zainstaluj system Windows 10/11 IoT Enterprise/Enterprise/Pro na maszynie i aktywuj system Windows. Zalecamy użycie najnowszej wersji klienta 22H2 (kompilacja systemu operacyjnego 19045) lub server 2022 (kompilacja systemu operacyjnego 20348). Możesz pobrać wersję systemu Windows 10 tutaj lub Windows 11 tutaj.
Wdrażanie na maszynie wirtualnej z systemem Windows w programie VMware ESXi
Wersje VMware ESXi 7.0 i 8.0 mogą hostować elementy AKS Edge Essentials na maszynie wirtualnej z systemem Windows.
Aby skonfigurować usługę AKS Edge Essentials na maszynie wirtualnej VMware ESXi z systemem Windows, wykonaj następujące kroki:
- Utwórz maszynę wirtualną z systemem Windows na hoście VMware ESXi. Aby uzyskać więcej informacji na temat wdrażania maszyn wirtualnych VMware, zobacz VMware — Wdrażanie maszyn wirtualnych.
Uwaga
Jeśli tworzysz maszynę wirtualną z systemem Windows 11, upewnij się, że spełnia ona minimalne wymagania firmy Microsoft dotyczące uruchamiania systemu Windows 11. Aby uzyskać więcej informacji na temat obsługi oprogramowania VMware maszyn wirtualnych z systemem Windows 11, zobacz Instalowanie systemu operacyjnego Gościa w programie VMware.
- Wyłącz maszynę wirtualną utworzoną w poprzednim kroku.
- Wybierz maszynę wirtualną z systemem Windows, a następnie pozycję Edytuj ustawienia.
- Wyszukaj wirtualizację sprzętu i włącz opcję Uwidaczniaj wirtualizację wspomaganą sprzętem w systemie operacyjnym gościa.
- Wybierz pozycję Zapisz i uruchom maszynę wirtualną.
- Zainstaluj funkcję hypervisor funkcji Hyper-V. Jeśli używasz klienta systemu Windows, upewnij się, że zainstalowano funkcję Hyper-V w systemie Windows 10. Jeśli używasz systemu Windows Server, upewnij się, że zainstalowano rolę funkcji Hyper-V.
Wdrażanie na maszynach wirtualnych platformy Azure
Jeśli korzystasz z usługi AKS Edge Essentials na maszynie wirtualnej platformy Azure, upewnij się, że używasz jednostki obliczeniowej platformy Azure obsługującej wirtualizację zagnieżdżonych. Aby uzyskać więcej informacji, zobacz Azure Compute Unit (ACU). Ponadto maszyny wirtualne platformy Azure nie obsługują używania zewnętrznego przełącznika wirtualnego, dlatego wdrożenia usługi AKS Edge Essentials na podstawie systemu operacyjnego hosta maszyny wirtualnej są ograniczone do klastrów z jedną maszyną.
Środowisko wdrażania
W tej sekcji opisano architekturę zagnieżdżoną z wyróżnionymi głównymi składnikami i wymaganą konfiguracją. Poziomy wirtualizacji opisane w dalszej części tego artykułu to:
- L0 System operacyjny hosta: system operacyjny hosta systemu Windows. Ten system operacyjny może być uruchomiony bez systemu operacyjnego lub jako maszyna wirtualna, ale w tym artykule system operacyjny hosta L0 jest tym, który tworzy zagnieżdżone maszyny wirtualne z systemem Windows L1.
- L1 Maszyna wirtualna: Maszyna wirtualna z systemem Windows działająca na komputerze Z systemem operacyjnym hosta L0 systemu Windows. Ta maszyna wirtualna ma instalację AKS Edge Essentials.
- Maszyna wirtualna L2: zagnieżdżona maszyna wirtualna usługi AKS Edge Essentials (Linux lub Windows) uruchomiona na maszynie wirtualnej Z systemem Windows L1.
Środowisko zagnieżdżone można skonfigurować przy użyciu wewnętrznego lub zewnętrznego przełącznika wirtualnego. Jednak w tym artykule założono, że używasz wewnętrznego przełącznika wirtualnego. Adresy IP maszyn wirtualnych L0 z systemem Windows i L1/L2 mogą się zmieniać w zależności od scenariusza sieci. W tym artykule założono, że używasz rodziny adresów IP 172.20.1.0/24 .
Ponadto wdrażanie węzłów systemu Windows usługi AKS Edge Essentials jest opcjonalne i ma wpływ na przypisane wymagania dotyczące pamięci. W tym artykule opisano wdrożenie tylko dla systemu Linux, ale węzły systemu Windows można dodać, dodając odpowiednią konfigurację do plików JSON wdrożenia.
Napiwek
Jeśli używasz zewnętrznych przełączników wirtualnych do wdrożenia, upewnij się, że używasz prawidłowych kart sieciowych i alokacji adresów IP.
Na poprzednim diagramie przedstawiono różne maszyny wirtualne i składniki tej architektury zagnieżdżonej.
Urządzenie/maszyna wirtualna | System operacyjny | Poziom | Parent | Pamięć | Adres IP |
---|---|---|---|---|---|
System operacyjny hosta systemu Windows | Windows | L0 | - | 32/64 GB | 172.20.1.1 |
Maszyna wirtualna z systemem Windows-1 | Windows | L1 | System operacyjny hosta systemu Windows | 8/16 GB | 172.20.1.2 |
Maszyna wirtualna z systemem Windows-2 | Windows | L1 | System operacyjny hosta systemu Windows | 8/16 GB | 172.20.1.3 |
AKS-Edge-Linux-VM-1 | CBL-Mariner | L2 | Maszyna wirtualna z systemem Windows-1 | 4 GB | 172.20.1.4 |
AKS-Edge-Windows-VM-1 (opcjonalnie) | Windows | L2 | Maszyna wirtualna z systemem Windows-1 | 4 GB | 172.20.1.5 |
AKS-Edge-Linux-VM-2 | CBL-Mariner | L2 | Maszyna wirtualna z systemem Windows-2 | 4 GB | 172.20.1.6 |
AKS-Edge-Windows-VM-2 (opcjonalnie) | Windows | L2 | Maszyna wirtualna z systemem Windows-2 | 4 GB | 172.20.1.7 |
Konfigurowanie zagnieżdżonych maszyn wirtualnych
Poniższy przewodnik jest przykładem alokacji adresów IP. Możesz użyć własnej alokacji na podstawie środowiska sieciowego i wymagań. Sugerowane są również konwencje nazewnictwa maszyn wirtualnych i przypisań sprzętu wirtualnego, ale można użyć własnej konfiguracji.
Otwórz sesję programu PowerShell z podwyższonym poziomem uprawnień.
Utwórz wewnętrzny przełącznik wirtualny:
New-VMSwitch -Name "AKS-Int" -SwitchType Internal
Jeśli przełącznik został utworzony poprawnie, powinien zostać wyświetlony komunikat podobny do następujących danych wyjściowych:
Name SwitchType NetAdapterInterfaceDescription ---- ---------- ------------------------------ AKS-Int Internal
Przypisz adres IP do przełącznika wirtualnego usługi AKS-Int . W tym przykładzie użyto sieci 172.20.1.0/24 . System operacyjny hosta systemu Windows używa tego adresu IP przełącznika wirtualnego do komunikowania się z innymi maszynami wirtualnymi i węzłami AKS Edge Essentials:
$ifIndex = (Get-NetAdapter -Name "vEthernet (AKS-Int)").ifIndex New-NetIPAddress –IPAddress "172.20.1.1" -PrefixLength "24" -InterfaceIndex $ifIndex
Utwórz tabelę translatora adresów sieciowych na potrzeby łączenia wewnętrznego przełącznika wirtualnego i wewnętrznej sieci połączonej z siecią zewnętrzną/internetową:
New-NetNat -Name "AKS-EE-Int-Network" -InternalIPInterfaceAddressPrefix "172.20.1.0/24"
Za pomocą Menedżera funkcji Hyper-V utwórz pierwszą maszynę wirtualną z systemem Windows i nadaj jej nazwę Windows-VM-1. Aby uzyskać więcej informacji na temat tworzenia maszyny wirtualnej, zobacz Wirtualizacja systemu Windows Server. Podczas konfigurowania maszyny wirtualnej upewnij się, że prawidłowo skonfigurowaliśmy następujące parametry:
- Procesory: liczba procesorów wirtualnych: 4
- Pamięć: PAMIĘĆ RAM: 8192 MB
- Karta sieciowa: Przełącznik wirtualny: AKS-Int
Po zakończeniu instalacji i konfiguracji systemu Windows wyłącz maszynę wirtualną z systemem Windows-VM-1 .
Włącz wirtualizację zagnieżdżonych dla maszyny wirtualnej z systemem Windows-VM-1. Aby uzyskać więcej informacji na temat wirtualizacji zagnieżdżonej, zobacz Uruchamianie funkcji Hyper-V na maszynie wirtualnej przy użyciu wirtualizacji zagnieżdżonej:
Set-VMProcessor -VMName <windows-vm-name> -ExposeVirtualizationExtensions $true
Włącz fałszowanie mac dla maszyny wirtualnej z systemem Windows-VM-1:
Get-VMNetworkAdapter -VMName <windows-vm-name> | Set-VMNetworkAdapter -MacAddressSpoofing On
Włącz maszynę wirtualną z systemem Windows-VM-1 i połącz się przy użyciu opcji Hyper-V Connect .
Na maszynie wirtualnej z systemem Windows-VM-1 otwórz sesję programu PowerShell z podwyższonym poziomem uprawnień.
Sprawdź karty połączone z maszyną wirtualną. Wyszukaj nazwę> podłączonej karty <Ethernet. Na przykład Sieć Ethernet 2:
ipconfig
Powinny zostać wyświetlone dane wyjściowe podobne do poniższych:
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 . . . . . . . . . :
Pobierz właściwość ifIndex karty Ethernet o nazwie z poprzedniego kroku:
$ifIndex = (Get-NetAdapter -Name "<name>").ifIndex
Skonfiguruj statyczny adres IP 172.20.1.2 i adres IP bramy 172.20.1.1 i serwer DNS 172.20.1.1:
Napiwek
Jeśli używasz maszyny wirtualnej platformy Azure, użyj serwera DNS systemu operacyjnego hosta systemu Windows (L0 ). Użyj polecenia ,
ipconfig /all
aby uzyskać adres serwera DNS. Sprawdź, czy możesz uzyskać dostęp do Internetu przy użyciu przeglądarki internetowej. Jeśli nie masz dostępu, sprawdź, czy serwer DNS jest poprawnie skonfigurowany: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"
Skonfiguruj maszynę wirtualną z systemem Windows-VM-1 zgodnie z procedurą Przygotowywanie maszyn do usługi AKS Edge Essentials .
Zainstaluj wszystkie wymagania wstępne usługi AKS Edge Essentials dla maszyny wirtualnej z systemem Windows-VM-1 . Aby uzyskać więcej informacji na temat wymagań wstępnych, zobacz AKS Edge Essentials requirements and support matrix (Wymagania i macierz obsługi usługi AKS Edge Essentials):
Install-AksEdgeHostFeatures
Utwórz plik konfiguracji wdrożenia usługi AKS Edge Essentials o pełnej skali. Po utworzeniu kodu JSON dodaj wymagane parametry. Pamiętaj, aby zmienić kartę sieciową na potrzeby tworzenia zewnętrznego przełącznika wirtualnego, serwera DNS, przypisanej pamięci i poprawnych statycznych adresów IP. Aby uzyskać więcej informacji, zobacz Pełne wdrożenia kubernetes w usłudze AKS Edge Essentials:
New-AksEdgeConfig -NodeType Linux -DeploymentType ScalableCluster
Wdróż wdrożenie usługi AKS Edge Essentials w pełnej skali przy użyciu pliku JSON konfiguracji utworzonego w poprzednim kroku:
New-AksEdgeDeployment -JsonConfigFilePath .\AksEdgeDeployConfigTemplate.json
Włącz pingowanie ruchu ICMP na maszynie wirtualnej AKS-Edge-VM-1 :
Invoke-AksEdgeNodeCommand -NodeType "Linux" -command "sudo iptables -A INPUT -p ICMP -j ACCEPT"
Wyślij polecenie ping do maszyny wirtualnej AKS-Edge-VM-1 z maszyny wirtualnej z systemem Windows-VM-1 :
ping 172.20.1.4
Ping AKS-Edge-VM-1 z systemu operacyjnego hosta systemu Windows:
ping 172.20.1.4
Ostrzeżenie
Jeśli żądanie ping do maszyny wirtualnej usługi AKS-Edge-VM-1 zakończy się niepowodzeniem, zapoznaj się z konfiguracją adresu IP i rozwiąż problemy z połączeniami sieciowymi.
Wewnątrz maszyny wirtualnej z systemem Windows-VM-1 pobierz plik JSON scaleConfig do użycia w maszynie wirtualnej z systemem Windows-VM-2:
New-AksEdgeScaleConfig -NodeType Linux -ScaleType AddMachine -LinuxNodeIp <VM2-Linux-Node-IP>
Utwórz maszynę wirtualną z systemem Windows-VM-2 . Powtórz kroki od 4 do 14 przy użyciu nowych parametrów maszyny wirtualnej z systemem Windows-VM-2 :
- Nazwa maszyny wirtualnej: Windows-VM-2
- Adres IP: 172.20.1.3
- Procesory: liczba procesorów wirtualnych: 4
- Pamięć: 8192 MB
- Karta sieciowa (przełącznik wirtualny): AKS-Int
- Adres bramy IP: 172.20.1.1
- Adres serwera DNS: 172.20.1.1
Przetestuj polecenie ping z maszyny wirtualnej z systemem Windows-VM-2 do usługi AKS-Edge-VM-1:
ping 172.20.1.4
Ostrzeżenie
Jeśli żądanie ping do usługi AKS-Edge-VM-1 zakończy się niepowodzeniem, zapoznaj się z konfiguracją adresu IP i rozwiąż problemy z połączeniami sieciowymi.
Skonfiguruj maszynę wirtualną z systemem Windows-VM-2 zgodnie z procedurą Przygotowywanie maszyn do usługi AKS Edge Essentials .
Zainstaluj wszystkie wymagania wstępne usługi AKS Edge Essentials dla maszyny wirtualnej z systemem Windows-VM-2 . Aby uzyskać więcej informacji na temat wymagań wstępnych, zobacz AKS Edge Essentials requirements and support matrix (Wymagania i macierz obsługi usługi AKS Edge Essentials):
Install-AksEdgeHostFeatures
Połącz się z maszyną wirtualną z systemem Windows-VM-1 i użyj sesji programu PowerShell z podwyższonym poziomem uprawnień, uzyskaj konfigurację dołączania klastra usługi AKS Edge:
New-AksEdgeScaleConfig -NodeType Linux -ScaleType AddMachine -LinuxNodeIp <AKS-Edge-Linux-VM-2>
Skopiuj plik konfiguracji AKS Edge Essentials skalowania z maszyny wirtualnej z systemem Windows-VM-1 i zmodyfikuj go przy użyciu odpowiednich parametrów. Aby uzyskać więcej informacji, zobacz Skalowanie w górę na wielu maszynach.
Wdróż usługę AKS-Edge-VM-2 w oknie VM-2 przy użyciu pliku JSON konfiguracji skalowania z poprzedniego kroku:
New-AksEdgeDeployment -JsonConfigFilePath <scale-config-json>
Sprawdź, czy węzeł został dodany do klastra. W dowolnym węźle w klastrze uruchom następujące polecenie cmdlet:
kubectl get nodes
Jeśli wszystko zostało poprawnie skonfigurowane, powinny zostać wyświetlone oba węzły systemu Linux uruchomione w klastrze:
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-
Uwaga
Aby uzyskać listę aktualnie obsługiwanych wersji platformy Kubernetes w wersjach K3s i K8s, zobacz tabelę w temacie Pobieranie podstaw usługi AKS Edge.
Następne kroki
- Dodawanie obciążeń przez wdrażanie aplikacji
- Rozwiązywanie problemów z wdrożeniem