Udostępnij przez


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 SKU systemu operacyjnego na 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.

Ważne

Od 30 listopada 2025 r. usługa Azure Kubernetes Service (AKS) nie obsługuje już ani nie zapewnia aktualizacji zabezpieczeń dla systemu Azure Linux 2.0. Obraz węzła systemu Linux 2.0 platformy Azure został zamrożony w wersji 202512.06.0. Od 31 marca 2026 r. obrazy węzłów zostaną usunięte i nie będzie można skalować pul węzłów. Przeprowadź migrację do obsługiwanej wersji systemu Linux platformy Azure, uaktualniając pule węzłów do obsługiwanej wersji rozwiązania Kubernetes lub migrując do systemu osSku AzureLinux3. Aby uzyskać więcej informacji, zobacz Wycofywanie: pule węzłów Linux 2.0 platformy Azure w usłudze AKS.

Wymagania wstępne

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

    Uwaga

    Podczas dodawania nowej puli węzłów systemu Linux na platformie Azure należy dodać co najmniej jeden węzeł jako --mode System. W przeciwnym razie AKS nie pozwoli na usunięcie 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.
# 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 AzureLinux

Wyniki:

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

Migracja wersji systemu operacyjnego na 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, 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 Azure Linux z funkcją OS Guard. Klienci muszą mieć włączone zaufane uruchamianie, aby móc przeprowadzić migrację do Azure Linux z funkcją OS Guard. Ponieważ nie można włączyć zaufanego uruchamiania w istniejących pulach węzłów, może to wymagać utworzenia nowej puli węzłów.
  • Klienci korzystający tylko z rozmiarów maszyn wirtualnych 1. generacji nie będą mogli przeprowadzić migracji do systemu Linux platformy Azure za pomocą funkcji OS Guard, ponieważ nie ma obsługiwanego obrazu generacji 1. Należy utworzyć nowe pule węzłów o rozmiarze maszyny wirtualnej obsługującej 2. generacji.
  • SKU systemu operacyjnego Ubuntu z włączoną funkcją UseGPUDedicatedVHD nie może przeprowadzić migracji 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łączoną funkcją Kata nie mogą przeprowadzić migracji wersji systemu operacyjnego.
  • Migracja jednostek SKU systemu operacyjnego Windows nie jest obsługiwana.
  • Migracja SKU systemu operacyjnego z systemu Mariner do Azure Linux jest obsługiwana, ale cofnięcie migracji do systemu 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, aby upewnić się, że obciążenia skonfigurują się i działają pomyślnie na hoście kontenera Linux platformy Azure, zanim spróbujesz użyć funkcji migracji SKU dla systemu operacyjnego, wdrażając klaster Linux platformy Azure w środowisku deweloperskim/produkcyjnym i sprawdzając, 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. 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ł AzureRM Terraform w wersji 3.111.0 lub nowszej.

Zmigruj SKU systemu operacyjnego puli węzłów Ubuntu

  • Przeprowadź migrację jednostki SKU systemu operacyjnego puli węzłów do systemu Azure Linux przy użyciu polecenia az aks nodepool update. To polecenie aktualizuje SKU systemu operacyjnego puli węzłów z Ubuntu na Azure Linux. 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 AzureLinux

Wyniki:

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

Uwaga

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 elementem docelowym migracji jest Azure Linux, uruchom polecenie kubectl get nodes -o wide. 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.

Napiwek

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

Uruchom migrację SKU systemu operacyjnego w klastrach produkcyjnych

  1. Zaktualizuj istniejące szablony, aby ustawić wartość OSSKU=AzureLinux. W szablonach ARM używasz "OSSKU": "AzureLinux" w sekcji agentPoolProfile. W aplikacji Bicep użyjesz osSku: "AzureLinux" w agentPoolProfile sekcji . Na koniec, w przypadku Terraform, należy użyć os_sku = "AzureLinux" w sekcji default_node_pool. Upewnij się, że twój apiVersion jest ustawiony na 2023-07-01 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 przechodził proces uaktualniania obrazu węzła. Klaster zwiększa swoją pojemność, a następnie ponownie uruchamia istniejące węzły jeden po drugim do najnowszego obrazu AKS z nową wersją SKU systemu operacyjnego.

Cofnięcie

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 SKU systemu operacyjnego nie obsługuje przywracania do wersji SKU systemu operacyjnego Mariner.

  • Wróć do poprzedniej wersji SKU systemu operacyjnego za pomocą polecenia az aks nodepool update. To polecenie aktualizuje jednostkę SKU systemu operacyjnego dla puli węzłów z systemu Linux platformy Azure z powrotem do systemu 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 SKU systemu operacyjnego na miejscu.

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