Udostępnij za pośrednictwem


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 na KB2009916 VMware. 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

Wdrażanie na maszynie wirtualnej z systemem Windows na maszynie wirtualnej VMware ESXi

Wersje VMware ESXi 7.0 i 8.0 mogą hostować podstawowe elementy usługi AKS Edge na maszynie wirtualnej z systemem Windows. Aby uzyskać więcej informacji na temat obsługi wirtualizacji zagnieżdżonych programu VMware ESXi, zobacz VMware KB2009916 .

Aby skonfigurować usługę AKS Edge Essentials na maszynie wirtualnej VMware ESXi z systemem Windows, wykonaj następujące kroki:

  1. 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 Virtual Machines.

Uwaga

Jeśli tworzysz maszynę wirtualną Windows 11, upewnij się, że spełnia ona minimalne wymagania firmy Microsoft dotyczące uruchamiania Windows 11. Aby uzyskać więcej informacji na temat obsługi oprogramowania VMware Windows 11 maszyn wirtualnych, zobacz Instalowanie Windows 11 jako system operacyjny gościa w programie VMware.

  1. Wyłącz maszynę wirtualną utworzoną w poprzednim kroku.
  2. Wybierz maszynę wirtualną z systemem Windows, a następnie pozycję Edytuj ustawienia.
  3. Wyszukaj wirtualizację sprzętu i włącz opcję Uwidacznij wirtualizację wspomaganą sprzętem w systemie operacyjnym gościa.
  4. Wybierz pozycję Zapisz i uruchom maszynę wirtualną.
  5. Zainstaluj funkcję hypervisor funkcji Hyper-V. Jeśli używasz klienta systemu Windows, upewnij się, że zainstalowano funkcję Hyper-V na 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ą korzystania z 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 jedno maszynowych.

Środowisko wdrażania

W tej sekcji opisano architekturę zagnieżdżonych, wyróżniając główne składniki 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 uruchomiona na platformie L0 systemu operacyjnego hosta 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 maszyny wirtualnej L0 z systemem Windows i maszyn wirtualnych 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 w usłudze 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 można dodać węzły systemu Windows, dodając odpowiednią konfigurację do plików JSON wdrożenia.

Porada

Jeśli do wdrożenia używasz zewnętrznych przełączników wirtualnych, upewnij się, że używasz prawidłowych kart sieciowych i alokacji adresów IP.

Diagram przedstawiający architekturę wirtualizacji zagnieżdżonej.

Na poprzednim diagramie przedstawiono różne maszyny wirtualne i składniki tej zagnieżdżonej architektury.

Urządzenie/maszyna wirtualna System operacyjny Poziom Parent Memory (Pamięć) Adres IP
System operacyjny hosta systemu Windows Windows L0 - 32/64 GB 172.20.1.1
Windows-VM-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 Windows-VM-1 4 GB 172.20.1.4
AKS-Edge-Windows-VM-1 (opcjonalnie) Windows L2 Windows-VM-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 zawiera przykład 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.

  1. Otwórz sesję programu PowerShell z podwyższonym poziomem uprawnień.

  2. 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
    
  3. 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
    
  4. Utwórz tabelę NAT na potrzeby łączenia wewnętrznego przełącznika wirtualnego i urządzeń połączonych z siecią wewnętrzną z siecią zewnętrzną/internetową:

     New-NetNat -Name "AKS-EE-Int-Network" -InternalIPInterfaceAddressPrefix "172.20.1.0/24"
    
  5. 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 poprawnie skonfigurowaliśmy następujące parametry:

    • Procesory: liczba procesorów wirtualnych: 4
    • Pamięć: PAMIĘĆ RAM: 8192 MB
    • Karta sieciowa: przełącznik wirtualny: AKS-Int
  6. Po zakończeniu instalacji i konfiguracji systemu Windows wyłącz maszynę wirtualną z systemem Windows-VM-1 .

  7. Włącz wirtualizację zagnieżdżona dla maszyny wirtualnej z systemem Windows-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
    
  8. Włącz fałszowanie mac dla maszyny wirtualnej z systemem Windows-1:

    Get-VMNetworkAdapter -VMName <windows-vm-name> | Set-VMNetworkAdapter -MacAddressSpoofing On
    
  9. Włącz maszynę wirtualną z systemem Windows-VM-1 i nawiąż połączenie przy użyciu opcji Podłączanie funkcji Hyper-V.

  10. Na maszynie wirtualnej z systemem Windows-VM-1 otwórz sesję programu PowerShell z podwyższonym poziomem uprawnień.

  11. Sprawdź karty podłączone do maszyny wirtualnej. Poszukaj nazwy>połączonej karty <Ethernet. Na przykład 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 . . . . . . . . . :
    
  12. Pobierz właściwość ifIndexkarty Ethernet o nazwie z poprzedniego kroku:

    $ifIndex = (Get-NetAdapter -Name "<name>").ifIndex
    
  13. Skonfiguruj statyczny adres IP 172.20.1.2 i adres IP bramy 172.20.1.1 i serwer DNS 172.20.1.1:

    Porada

    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 za pomocą 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 $ifIndex
    Set-DNSClientServerAddress –InterfaceIndex $ifIndex –ServerAddresses "172.20.1.1"
    
  14. Skonfiguruj maszynę wirtualną z systemem Windows-VM-1 zgodnie z procedurą Przygotowywanie maszyn do usługi AKS Edge Essentials .

  15. 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 wstępne usługi AKS Edge Essentials i macierz obsługi):

    Install-AksEdgeHostFeatures
    
  16. Utwórz plik konfiguracji wdrożenia usługi AKS Edge Essentials na pełną skalę. Po utworzeniu kodu JSON dodaj wymagane parametry. Pamiętaj, aby zmienić kartę sieciową na potrzeby zewnętrznego tworzenia 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
    
  17. Wdróż wdrożenie usługi AKS Edge Essentials na pełną skalę przy użyciu pliku JSON konfiguracji utworzonego w poprzednim kroku:

    New-AksEdgeDeployment -JsonConfigFilePath .\AksEdgeDeployConfigTemplate.json
    
  18. Włącz ruch ICMP ping na maszynie wirtualnej AKS-Edge-VM-1 :

    Invoke-AksEdgeNodeCommand -NodeType "Linux" -command "sudo iptables -A INPUT -p ICMP -j ACCEPT"
    
  19. Ping AKS-Edge-VM-1 z maszyny wirtualnej z systemem Windows-VM-1 :

    ping 172.20.1.4
    
  20. 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 AKS-Edge-VM-1 zakończy się niepowodzeniem, zapoznaj się z konfiguracją adresu IP i rozwiąż problemy z połączeniami sieciowymi.

  21. Wewnątrz maszyny wirtualnej z systemem Windows-1 pobierz plik JSON scaleConfig , który ma być używany w maszynie wirtualnej z systemem Windows-2:

     New-AksEdgeScaleConfig -NodeType Linux -ScaleType AddMachine -LinuxNodeIp <VM2-Linux-Node-IP>
    
  22. 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-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
  23. Przetestuj polecenie ping z maszyny wirtualnej z systemem Windows-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.

  24. Skonfiguruj maszynę wirtualną z systemem Windows-VM-2 zgodnie z procedurą Przygotowywanie maszyn do usługi AKS Edge Essentials .

  25. 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 wstępne usługi AKS Edge Essentials i macierz obsługi):

    Install-AksEdgeHostFeatures
    
  26. Połącz się z maszyną wirtualną z systemem Windows-VM-1 i użyj sesji programu PowerShell z podwyższonym poziomem uprawnień, pobierz konfigurację przyłączania do klastra usługi AKS Edge:

    New-AksEdgeScaleConfig -NodeType Linux -ScaleType AddMachine -LinuxNodeIp <AKS-Edge-Linux-VM-2>
    
  27. Skopiuj plik konfiguracji usługi AKS Edge Essentials skalowania z maszyny wirtualnej z systemem Windows-1 i zmodyfikuj go przy użyciu odpowiednich parametrów. Aby uzyskać więcej informacji, zobacz Skalowanie w górę na wielu maszynach.

  28. 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>
    
  29. 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-
    

Następne kroki