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
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
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świetlaneCBL-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
- Zaktualizuj istniejące szablony, aby ustawić wartość
OSSKU=AzureLinux
. W szablonach usługi ARM użyjesz"OSSKU: "AzureLinux"
wagentPoolProfile
sekcji . W aplikacji Bicep użyjeszosSku: "AzureLinux"
wagentPoolProfile
sekcji . Na koniec w przypadku programu Terraform należy użyć"os_sku = "AzureLinux"
poleceniadefault_node_pool
w sekcji . Upewnij się, że ustawionoapiVersion
2023-07-01
wartość lub nowszą. - 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.