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. 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 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:

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

  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ę Uwidaczniaj 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 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.

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

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.

  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ę 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"
    
  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 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
  6. Po zakończeniu instalacji i konfiguracji systemu Windows wyłącz maszynę wirtualną z systemem Windows-VM-1 .

  7. 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
    
  8. Włącz fałszowanie mac dla maszyny wirtualnej z systemem Windows-VM-1:

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

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

  11. 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 . . . . . . . . . :
    
  12. Pobierz właściwość ifIndex karty 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:

    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"
    
  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 i macierz obsługi usługi AKS Edge Essentials):

    Install-AksEdgeHostFeatures
    
  16. 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
    
  17. 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
    
  18. 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"
    
  19. Wyślij polecenie ping do maszyny wirtualnej 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 usługi 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-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>
    
  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-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
  23. 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.

  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 i macierz obsługi usługi AKS Edge Essentials):

    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ń, uzyskaj konfigurację dołączania klastra usługi AKS Edge:

    New-AksEdgeScaleConfig -NodeType Linux -ScaleType AddMachine -LinuxNodeIp <AKS-Edge-Linux-VM-2>
    
  27. 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.

  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-
    

    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