Udostępnij przez


Samouczek: migrowanie węzłów do systemu Linux platformy Azure za pomocą funkcji OS Guard (wersja zapoznawcza)

W tym samouczku, część trzecia z pięciu, przeprowadzisz migrację istniejących węzłów do systemu Linux platformy Azure za pomocą funkcji OS Guard. Istniejące węzły można migrować przy użyciu jednej z następujących metod:

  • Usuń istniejące pule węzłów i dodaj nowe pule węzłów Azure Linux z OS Guard.
  • Migracja SKU systemu operacyjnego na miejscu.

Jeśli nie masz żadnych istniejących węzłów do migracji, przejdź do następnego samouczka. W kolejnych samouczkach dowiesz się, jak włączyć telemetrię i monitorowanie w klastrach oraz uaktualnić system Azure Linux za pomocą węzłów funkcji OS Guard.

Uwagi i ograniczenia

Przed rozpoczęciem zapoznaj się z następującymi zagadnieniami i ograniczeniami dotyczącymi platformy Azure dla systemu Linux z funkcją OS Guard (wersja zapoznawcza):

  • Platforma Kubernetes w wersji 1.32.0 lub nowszej jest wymagana dla systemu Linux platformy Azure z funkcją OS Guard.
  • Wszystkie obrazy systemu Azure Linux z OS Guard mają włączony standard Federal Information Processing Standard (FIPS) oraz Trusted Launch.
  • Interfejs wiersza polecenia platformy Azure (Azure CLI) i szablony ARM są jedynymi obsługiwanymi metodami wdrażania dla Azure Linux z funkcją OS Guard w AKS w wersji preview. Program PowerShell i program Terraform nie są obsługiwane.
  • Obrazy Arm64 nie są obsługiwane na platformie Azure Linux z funkcją OS Guard w usłudze AKS w wersji zapoznawczej.
  • NodeImage i None są jedynymi obsługiwanymi kanałami uaktualniania systemu operacyjnego dla systemu Linux platformy Azure z funkcją OS Guard w usłudze AKS. Unmanaged i SecurityPatch są niezgodne z systemem Linux platformy Azure z funkcją OS Guard ze względu na niezmienny katalog /usr.
  • Przesyłanie strumieniowe artefaktów nie jest obsługiwane.
  • Pod Sandboxing nie jest obsługiwany.
  • Poufne maszyny wirtualne (CVM) nie są obsługiwane.
  • Maszyny wirtualne 1. generacji nie są obsługiwane.

Wymagania wstępne

Zainstaluj rozszerzenie aks-preview dla Azure CLI

Ważne

Funkcje usługi AKS w wersji zapoznawczej są dostępne na zasadzie samoobsługi i wymagają zapisania się. Wersje zapoznawcze są udostępniane w wersji "as is" i "jako dostępne" i są wykluczone z umów dotyczących poziomu usług i ograniczonej gwarancji. Wersje zapoznawcze usługi AKS są częściowo objęte pomocą techniczną dla klientów, świadczoną w miarę możliwości. W związku z tym te funkcje nie są przeznaczone do użytku produkcyjnego. Aby uzyskać więcej informacji, zobacz następujące artykuły pomocy technicznej:

  • Zainstaluj rozszerzenie aks-preview przy użyciu polecenia az extension add.

    az extension add --name aks-preview
    
  • Przeprowadź aktualizację do najnowszej wersji rozszerzenia przy użyciu az extension update polecenia .

    az extension update --name aks-preview
    

Rejestrowanie flagi funkcji Azure Linux OS Guard w wersji zapoznawczej

  1. Zarejestruj flagę funkcji AzureLinuxOSGuardPreview za pomocą polecenia az feature register.

    az feature register --namespace "Microsoft.ContainerService" --name "AzureLinuxOSGuardPreview"
    

    Wyświetlenie stanu Zarejestrowane trwa kilka minut.

  2. Sprawdź stan rejestracji przy użyciu az feature show polecenia .

    az feature show --namespace "Microsoft.ContainerService" --name "AzureLinuxOSGuardPreview"
    
  3. Gdy stan odzwierciedla Zarejestrowano, użyj polecenia az provider register, aby odświeżyć rejestrację dostawcy zasobów Microsoft.ContainerService.

    az provider register --namespace "Microsoft.ContainerService"
    

Dodaj pule węzłów systemu Linux platformy Azure z funkcją OS Guard i usuń istniejące pule węzłów

  1. Dodaj nową pulę węzłów usługi Azure Linux z funkcją OS Guard przy użyciu az aks nodepool add polecenia . To polecenie dodaje nową pulę węzłów do klastra z --mode System flagą , co sprawia, że jest to pula węzłów systemowych. Pule węzłów systemowych są wymagane dla systemu Linux platformy Azure z klastrami OS Guard.

    # Declare environment variables with a random suffix for uniqueness
    export RANDOM_SUFFIX=$(openssl rand -hex 3)
    export NODE_POOL_NAME="np$RANDOM_SUFFIX"
    az aks nodepool add --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME --name $NODE_POOL_NAME --mode System --os-sku AzureLinuxOSGuard --node-osdisk-type Managed --enable-fips-image --enable-secure-boot --enable-vtpm
    

    Przykładowy wynik:

    {
      "id": "/subscriptions/xxxxx/resourceGroups/myResourceGroupxxx/providers/Microsoft.ContainerService/managedClusters/myAKSCluster/nodePools/systempool",
      "name": "systempool",
      "provisioningState": "Succeeded"
    }
    
  2. Usuń istniejące węzły przy użyciu az aks nodepool delete polecenia .

    az aks nodepool delete --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME --name $NODE_POOL_NAME 
    

Ograniczenia dotyczące bezpośredniej migracji SKU systemu operacyjnego

Istnieje kilka ustawień, które mogą blokować żądanie migracji jednostki SKU systemu operacyjnego. Aby zapewnić pomyślną migrację, zapoznaj się z następującymi wytycznymi i ograniczeniami:

  • Funkcja migracji jednostki SKU systemu operacyjnego nie jest dostępna za pośrednictwem programu PowerShell ani witryny Azure Portal. W przypadku korzystania z funkcji migracji SKU systemu operacyjnego z Azure Linux z funkcją OS Guard (wersja zapoznawcza) nie jest dostępna za pośrednictwem narzędzia Terraform, narzędzia PowerShell ani portalu Azure.
  • Funkcja migracji SKU systemu operacyjnego nie umożliwia zmiany nazw istniejących pul węzłów.
  • Systemy Ubuntu, Azure Linux i Azure Linux z funkcją OS Guard są jedynymi obsługiwanymi celami migracji jednostek SKU systemu operacyjnego Linux.
  • Zaufane uruchamianie jest domyślnie wymagane dla systemu Linux platformy Azure z funkcją OS Guard. Aby przeprowadzić migrację do platformy Azure z systemem Linux za pomocą funkcji OS Guard, musisz mieć włączoną opcję Zaufane uruchamianie. Może to wymagać utworzenia nowych pul węzłów.
  • Protokół FIPS jest wymagany podczas włączania systemu Linux platformy Azure z funkcją OS Guard. Jeśli obecnie nie używasz obrazu FIPS, możesz dołączyć --enable-fips do polecenia aktualizacji puli węzłów.
  • Maszyny wirtualne 1. generacji nie są obsługiwane.
  • SKU systemu operacyjnego Ubuntu z włączoną funkcją UseGPUDedicatedVHD nie może przeprowadzić migracji SKU systemu operacyjnego.
  • Poufne maszyny wirtualne (CVM) nie są obsługiwane.
  • Pod Sandboxing nie jest obsługiwany.
  • Migracja jednostek SKU systemu operacyjnego Windows nie jest obsługiwana.
  • Migracja jednostki SKU systemu operacyjnego z Mariner do Azure Linux jest obsługiwana, ale powrót do Mariner nie jest obsługiwany.

Wymagania wstępne dotyczące migracji SKU systemu operacyjnego na miejscu

  • Istniejący klaster AKS z co najmniej jedną pulą węzłów Azure Linux.
  • Zalecamy upewnienie się, że obciążenia są skonfigurowane i uruchomione pomyślnie na systemie Linux platformy Azure z OS Guard, zanim spróbujesz użyć funkcji migracji SKU systemu operacyjnego, poprzez wdrożenie klastra Azure Linux z OS Guard w środowisku deweloperskim/produkcyjnym i zweryfikowanie, czy usługa pozostaje w dobrej kondycji.
  • Przed użyciem procesu w klastrze produkcyjnym upewnij się, że funkcja migracji działa dla Ciebie w środowisku testowym/deweloperskim.
  • Upewnij się, że zasobniki mają wystarczający budżet zakłóceń zasobnika, aby umożliwić usłudze AKS przenoszenie zasobników między maszynami wirtualnymi podczas aktualizacji.
  • Potrzebujesz interfejsu wiersza polecenia platformy Azure w wersji 2.61.0 lub nowszej. Użyj polecenia , az version aby znaleźć wersję. Aby przeprowadzić uaktualnienie do najnowszej wersji, użyj az upgrade polecenia .

Przeprowadzanie migracji SKU systemu operacyjnego na miejscu

Można migrować istniejące pule węzłów z Ubuntu lub Azure Linux do systemu Linux platformy Azure za pomocą funkcji OS Guard, zmieniając SKU systemu operacyjnego w puli węzłów, co przerzuca klaster przez standardowy proces uaktualniania obrazu węzła. Ta nowa funkcja nie wymaga tworzenia nowych pul węzłów; zamiast tego istniejące pule węzłów są automatycznie ponownie tworzone.

Migrowanie jednostki SKU systemu operacyjnego puli węzłów kontenera systemu Linux platformy Azure do systemu Linux za pomocą funkcji OS Guard

  • Przeprowadź migrację SKU systemu operacyjnego (OS) puli węzłów do systemu Linux platformy Azure za pomocą OS Guard, używając polecenia az aks nodepool update. Polecenie to wyzwala ponowne obrazowanie puli węzłów, aktualizując OS SKU puli węzłów z Azure Linux do Azure Linux z OS Guard. Zmiana jednostki SKU systemu operacyjnego wyzwala natychmiastową operację uaktualniania, która trwa kilka minut.

    az aks nodepool update --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME --name $NODE_POOL_NAME --os-sku AzureLinuxOSGuard --node-osdisk-type Managed --enable-fips-image --enable-secure-boot --enable-vtpm
    

    Przykładowy wynik:

    {
      "id": "/subscriptions/xxxxx/resourceGroups/myResourceGroupxxx/providers/Microsoft.ContainerService/managedClusters/myAKSCluster/nodePools/nodepool1",
      "name": "nodepool1",
      "osSku": "AzureLinuxOSGuard",
      "provisioningState": "Succeeded"
    }
    

Uwaga / Notatka

Jeśli napotkasz problemy podczas migracji wersji SKU systemu operacyjnego, możesz przywrócić poprzednią wersję SKU systemu operacyjnego.

Zweryfikuj migrację SKU systemu operacyjnego

Po zakończeniu migracji w klastrach testowych należy sprawdzić następujące elementy, aby zapewnić pomyślną migrację:

  • Jeśli celem migracji jest platforma Azure Linux z funkcją OS Guard, uruchom kubectl get nodes -o wide polecenie . Wynik powinien pokazywać Microsoft Azure Linux 3.0 jako obraz systemu operacyjnego i .azl3 na końcu wersji jądra.
  • Uruchom polecenie kubectl get pods -o wide -A, aby sprawdzić, czy wszystkie pody i zestawy demonów są uruchomione w nowej puli węzłów.
  • Uruchom polecenie kubectl get nodes --show-labels aby sprawdzić, czy wszystkie etykiety węzłów w uaktualnionej puli węzłów są takie, jak oczekujesz.

Wskazówka

Zalecamy monitorowanie kondycji usługi przez kilka tygodni przed migracją klastrów produkcyjnych.

Przywróć poprzednią wersję SKU systemu operacyjnego

Jeśli podczas migracji jednostki SKU systemu operacyjnego wystąpią problemy, możesz przywrócić poprzednią jednostkę SKU systemu operacyjnego. W tym celu należy zmienić pole SKU systemu operacyjnego w szablonie i ponownie przesłać wdrożenie, co spowoduje wyzwolenie kolejnej operacji aktualizacji i przywrócenie puli węzłów do wcześniejszego SKU systemu operacyjnego.

Uwaga / Notatka

Migracja SKU systemu operacyjnego nie obsługuje przywracania do SKU Mariner.

  • Wróć do poprzedniej wersji SKU systemu operacyjnego za pomocą polecenia az aks nodepool update. To polecenie aktualizuje SKU systemu operacyjnego dla puli węzłów z systemu Azure Linux z włączoną funkcją OS Guard, przywracając go do zwykłego systemu Azure Linux.

Dalsze kroki

W tym samouczku przeprowadzono migrację istniejących węzłów do systemu Linux platformy Azure za pomocą funkcji OS Guard. Z następnego samouczka dowiesz się, jak włączyć telemetrię do monitorowania klastrów.