Samouczek: migrowanie węzłów do platformy Azure z systemem Linux

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

  • Usuń istniejące pule węzłów i dodaj nowe pule węzłów systemu Linux platformy Azure.
  • Migracja jednostki SKU systemu operacyjnego w miejscu (wersja zapoznawcza).

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

Wymagania wstępne

  • W poprzednich samouczkach utworzono i wdrożono hosta kontenera systemu Linux platformy Azure dla klastra usługi AKS. Aby ukończyć ten samouczek, musisz dodać pulę węzłów systemu Linux platformy Azure do istniejącego klastra. Jeśli nie wykonano tego kroku i chcesz wykonać te czynności, zacznij od samouczka 2: Dodawanie puli węzłów systemu Linux platformy Azure do istniejącego klastra usługi AKS.

    Uwaga

    Podczas dodawania nowej puli węzłów systemu Linux platformy Azure należy dodać co najmniej jedną pulę węzłów jako --mode System. W przeciwnym razie usługa AKS nie umożliwi usunięcia istniejącej puli węzłów.

  • Potrzebna jest najnowsza wersja interfejsu wiersza polecenia platformy Azure. Uruchom polecenie az --version, aby dowiedzieć się, jaka wersja jest używana. Jeśli konieczna będzie instalacja lub uaktualnienie, zobacz Instalowanie interfejsu wiersza polecenia platformy Azure.

Dodawanie pul węzłów systemu Linux platformy Azure i usuwanie istniejących pul węzłów

  1. Dodaj nową pulę węzłów systemu Linux platformy Azure 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 klastrów systemu Linux platformy Azure.

    az aks nodepool add --resource-group <resource-group-name> --cluster-name <cluster-name> --name <node-pool-name> --mode System --os-sku AzureLinux
    
  2. Usuń istniejące węzły przy użyciu az aks nodepool delete polecenia .

    az aks nodepool delete --resource-group <resource-group-name> --cluster-name <cluster-name> --name <node-pool-name>
    

Migracja jednostki SKU systemu operacyjnego w miejscu (wersja zapoznawcza)

Teraz można migrować istniejące pule węzłów systemu Ubuntu do systemu Linux platformy Azure, zmieniając jednostkę SKU systemu operacyjnego puli węzłów, która przenosi klaster za pomocą standardowego procesu uaktualniania obrazu węzła. Ta nowa funkcja nie wymaga tworzenia nowych pul węzłów.

Ograniczenia

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 Terraform, programu PowerShell ani witryny Azure Portal.
  • Funkcja migracji jednostki SKU systemu operacyjnego nie może zmienić nazwy istniejących pul węzłów.
  • Systemy Ubuntu i Azure Linux są jedynymi obsługiwanymi celami migracji jednostek SKU systemu operacyjnego Linux.
  • count Pole Puli agentów nie może ulec zmianie podczas migracji.
  • Jednostka SKU systemu operacyjnego Ubuntu z włączoną UseGPUDedicatedVHD obsługą nie może przeprowadzić migracji jednostki SKU systemu operacyjnego.
  • Jednostka SKU systemu operacyjnego Ubuntu z włączoną funkcją CVM 20.04 nie może przeprowadzić migracji jednostki SKU systemu operacyjnego.
  • Pule węzłów z włączonym programem Kata nie mogą przeprowadzić migracji jednostki SKU systemu operacyjnego.
  • Migracja jednostek SKU systemu operacyjnego Windows nie jest obsługiwana.

Wymagania wstępne

  • aks-preview Zainstaluj rozszerzenie.
  • Zarejestruj flagę OSSKUMigrationPreview funkcji w subskrypcji.
  • Istniejący klaster usługi AKS z co najmniej jedną pulą węzłów systemu Ubuntu.
  • Zalecamy upewnienie się, że obciążenia zostały skonfigurowane i uruchomione pomyślnie na hoście kontenera systemu Linux platformy Azure przed podjęciem próby użycia funkcji migracji jednostki SKU systemu operacyjnego przez wdrożenie klastra systemu Linux platformy Azure w środowisku deweloperskim/prod i sprawdzenie, 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ń zasobników, aby umożliwić usłudze AKS przenoszenie zasobników między maszynami wirtualnymi podczas uaktualniania.
  • Potrzebujesz interfejsu wiersza polecenia platformy Azure w wersji 0.5.172 lub nowszej. Uruchom polecenie az --version, aby dowiedzieć się, jaka wersja jest używana. Jeśli konieczna będzie instalacja lub uaktualnienie, zobacz Instalowanie interfejsu wiersza polecenia platformy Azure.

aks-preview Instalowanie rozszerzenia

Ważne

Funkcje usługi AKS w wersji zapoznawczej są dostępne na zasadzie samoobsługi. 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. 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:

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

    az extension add --name aks-preview
    
  2. Zaktualizuj rozszerzenie, aby upewnić się, że masz najnowszą wersję przy użyciu az extension update polecenia .

    az extension update --name aks-preview
    

Rejestrowanie flagi OSSKUMigrationPreview funkcji

  1. Zarejestruj flagę OSSKUMigrationPreview funkcji w subskrypcji przy użyciu az feature register polecenia .

    az feature register --namespace Microsoft.ContainerService --name OSSKUMigrationPreview
    
  2. Sprawdź stan rejestracji przy użyciu az feature list polecenia .

    az feature list -o table --query "[?contains(name, 'Microsoft.ContainerService/OSSKUMigrationPreview')].{Name:name,State:properties.state}"
    

    Dane wyjściowe powinny wyglądać podobnie do następujących przykładowych danych wyjściowych:

    Name                                            State
    ----------------------------------------------  -------
    Microsoft.ContainerService/OSSKUMigrationPreview  Registered
    
  3. Odśwież rejestrację flagi OSSKUMigrationPreview funkcji przy użyciu az provider register polecenia .

    az provider register --namespace Microsoft.ContainerService
    

Migrowanie jednostki SKU systemu operacyjnego puli węzłów systemu Ubuntu

  • Przeprowadź migrację jednostki SKU systemu operacyjnego puli węzłów do systemu Linux platformy az aks nodepool update Azure przy użyciu polecenia . To polecenie aktualizuje jednostkę SKU systemu operacyjnego dla puli węzłów z systemu Ubuntu do systemu Linux. Zmiana jednostki SKU systemu operacyjnego wyzwala natychmiastową operację uaktualniania, która trwa kilka minut.

    az aks nodepool update --resource-group <resource-group-name> --cluster-name <cluster-name> --name <node-pool-name> --os-sku AzureLinux
    

    Uwaga

    Jeśli podczas migracji jednostki SKU systemu operacyjnego wystąpią problemy, możesz przywrócić poprzednią jednostkę SKU systemu operacyjnego.

Weryfikowanie migracji jednostki SKU systemu operacyjnego

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

  • Jeśli element docelowy migracji to Azure Linux, uruchom kubectl get nodes -o wide polecenie . Dane wyjściowe powinny być wyświetlane CBL-Mariner/Linux jako obraz systemu operacyjnego i .cm2 na końcu wersji jądra.
  • Uruchom polecenie , kubectl get pods -o wide -A aby sprawdzić, czy wszystkie zasobniki i demony 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ą oczekiwane.

Napiwek

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

Uruchamianie migracji jednostki SKU systemu operacyjnego w klastrach produkcyjnych

  1. Zaktualizuj istniejące szablony, aby ustawić wartość OSSKU=AzureLinux. W szablonach usługi ARM użyjesz "OSSKU: "AzureLinux" w agentPoolProfile sekcji . W aplikacji Bicep użyjesz osSku: "AzureLinux" w agentPoolProfile sekcji . Upewnij się, że ustawiono apiVersion2023-07-01 wartość lub nowszą.
  2. Ponownie wdróż szablon usługi ARM dla klastra, aby zastosować nowe OSSKU ustawienie. Podczas tego wdrażania klaster zachowuje się tak, jakby wykonuje uaktualnienie obrazu węzła. Pojemność klastra zwiększa się, a następnie ponownie uruchamia istniejące węzły po jednym do najnowszego obrazu usługi AKS z nowej jednostki SKU systemu operacyjnego.

Wycofywanie

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 jednostki SKU systemu operacyjnego w szablonie i ponownie przesłać wdrożenie, co spowoduje wyzwolenie kolejnej operacji uaktualniania i przywrócenie puli węzłów do poprzedniej jednostki SKU systemu operacyjnego.

  • Wróć do poprzedniej az aks nodepool update jednostki SKU systemu operacyjnego przy użyciu polecenia . To polecenie aktualizuje jednostkę SKU systemu operacyjnego dla puli węzłów z systemu Linux platformy Azure z powrotem do systemu Ubuntu.

    az aks nodepool update --resource-group myResourceGroup --cluster-name myAKSCluster --name mynodepool --os-sku Ubuntu
    

Następne kroki

W tym samouczku przeprowadzono migrację istniejących węzłów do systemu Linux platformy Azure przy użyciu jednej z następujących metod:

  • Usuń istniejące pule węzłów i dodaj nowe pule węzłów systemu Linux platformy Azure.
  • Migracja jednostki SKU systemu operacyjnego w miejscu (wersja zapoznawcza).

Z następnego samouczka dowiesz się, jak włączyć telemetrię do monitorowania klastrów.