Udostępnij za pośrednictwem


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.

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

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 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.
  • 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.
  • Migracja jednostki SKU systemu operacyjnego z platformy Mariner do platformy Azure z systemem Linux jest obsługiwana, ale wycofywanie z platformy Mariner nie jest obsługiwane.

Wymagania wstępne

  • 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 2.61.0 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.
  • Jeśli używasz narzędzia Terraform, musisz mieć moduł Terraform w wersji 3.111.0 lub nowszej.

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 . Na koniec w przypadku programu Terraform należy użyć "os_sku = "AzureLinux" polecenia default_node_pool w sekcji . Upewnij się, że ustawiono apiVersion 2023-07-01 wartość lub nowszą.
  2. Ponownie wdróż szablon ARM, Bicep lub Terraform 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.

Uwaga

Migracja jednostek SKU systemu operacyjnego nie obsługuje wycofywania do jednostek SKU systemu operacyjnego Mariner.

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

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