Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym samouczku, w części trzeciej 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.
- Przeprowadź migrację wersji SKU systemu operacyjnego (OS) na miejscu.
Polecenia w tym samouczku używają zmiennych środowiskowych ustawionych w Tutorial 1: tworzenie klastra przy użyciu hosta kontenera systemu Linux Azure dla usługi AKS.
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 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.
Note
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
az --version, aby znaleźć wersję. Jeśli musisz zainstalować lub uaktualnić, zobacz Install Azure CLI.
Ustawianie zmiennych środowiskowych
Ustaw następujące zmienne środowiskowe, aby utworzyć unikatowe nazwy zasobów dla każdego wdrożenia. Zastąp symbol zastępczy <your-node-pool-name> wybraną nazwą. Opcjonalnie możesz dołączyć losowy sufiks, aby zapewnić unikatowość. Nazwa puli węzłów musi zaczynać się od małej litery i może zawierać tylko znaki alfanumeryczne. W przypadku pul węzłów systemu Linux długość musi zawierać się między jednym a 12 znakami.
# Set random suffix for uniqueness
export RANDOM_SUFFIX=$(openssl rand -hex 3)
# Set node pool name
export NODE_POOL_NAME="<your-node-pool-name>$RANDOM_SUFFIX"
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 addpolecenia . To polecenie dodaje nową pulę węzłów do klastra z--mode Systemflagą , 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 --cluster-name $CLUSTER_NAME --name $NODE_POOL_NAME --mode System --os-sku AzureLinuxPrzykładowy wynik:
{ "id": "/subscriptions/xxxxx/resourceGroups/myResourceGroupxxx/providers/Microsoft.ContainerService/managedClusters/myAKSCluster/nodePools/systempool", "name": "systempool", "provisioningState": "Succeeded" }Usuń istniejące węzły przy użyciu
az aks nodepool deletepolecenia .
Migracja wersji systemu operacyjnego na miejscu
Możesz zmigrować istniejące pule węzłów Ubuntu na Azure Linux, zmieniając SKU systemu operacyjnego puli węzłów, co przeprowadza klaster przez standardowy proces aktualizacji obrazu węzła. Ta nowa funkcja nie wymaga tworzenia nowych pul węzłów.
Ograniczenia migracji jednostki SKU systemu operacyjnego w miejscu
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 systemu Linux platformy Azure z funkcją OS Guard. Aby można było przeprowadzić migrację do systemu Azure Linux za pomocą funkcji OS Guard, musisz mieć włączoną opcję Zaufane uruchamianie. Ponieważ nie można włączyć zaufanego uruchamiania w istniejących pulach węzłów, należy utworzyć nową pulę węzłów z włączoną funkcją Zaufane uruchamianie i zmigrować obciążenia do tej puli węzłów.
- Klienci korzystający tylko z rozmiarów maszyn wirtualnych 1. generacji nie mogą migrować do systemu Azure Linux z funkcją OS Guard, ponieważ nie ma obsługiwanego obrazu 1. generacji. W takim przypadku należy utworzyć nowe pule węzłów o rozmiarze maszyny wirtualnej obsługującej generacji 2.
- SKU systemu operacyjnego Ubuntu z włączoną funkcją
UseGPUDedicatedVHDnie 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.
Wymagania wstępne migracji wersji SKU systemu operacyjnego
- 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 Twoje zasobniki mają odpowiedni budżet zakłóceń zasobników (PDB), aby AKS mógł przenosić zasobniki między maszynami wirtualnymi podczas aktualizacji.
- Potrzebujesz interfejsu wiersza polecenia platformy Azure w wersji 2.61.0 lub nowszej. Uruchom
az --version, aby znaleźć wersję. Jeśli musisz zainstalować lub uaktualnić, zobacz Install Azure CLI. - Jeśli używasz narzędzia Terraform, musisz mieć moduł AzureRM dla 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
Przykładowy wynik:
{
"id": "/subscriptions/xxxxx/resourceGroups/myResourceGroupxxx/providers/Microsoft.ContainerService/managedClusters/myAKSCluster/nodePools/nodepool1",
"name": "nodepool1",
"osSku": "AzureLinux",
"provisioningState": "Succeeded"
}
Note
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.0jako obraz systemu operacyjnego i.azl3na 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-labelsaby 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.
Uruchom migrację SKU systemu operacyjnego w klastrach produkcyjnych
Zaktualizuj istniejące szablony, aby ustawić wartość
OSSKU=AzureLinux. Upewnij się, że twójapiVersionjest ustawiony na2023-07-01lub nowszą.-
Szablony ARM: Użyj
"OSSKU": "AzureLinux"w sekcjiagentPoolProfile. -
Bicep: Użyj
osSku: "AzureLinux"w sekcjiagentPoolProfile. -
Terraform: użyj
os_sku = "AzureLinux"wdefault_node_poolsekcji .
-
Szablony ARM: Użyj
Ponownie wdróż szablon ARM, Bicep lub Terraform dla klastra, aby zastosować nowe
OSSKUustawienie. 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.
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 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.
Możesz powrócić 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ępny krok
W tym samouczku zmigrowano istniejące węzły na Azure Linux, usuwając istniejące pule węzłów i dodając nowe pule węzłów Azure Linux lub przeprowadzając migrację SKU systemu operacyjnego w miejscu.
Z następnego samouczka dowiesz się, jak włączyć telemetrię do monitorowania klastrów.