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, przeniesiesz istniejące węzły do ACL. Istniejące węzły można migrować przy użyciu jednej z następujących metod:
- Usuń istniejące pule węzłów i dodaj nowe pule węzłów ACL.
- Przeprowadź migrację wersji SKU systemu operacyjnego (OS) na miejscu.
Polecenia w tym samouczku używają zmiennych środowiskowych ustawionych w samouczku 1: Tworzenie klastra z listą ACL dla usługi AKS.
Jeśli nie masz żadnych istniejących węzłów do migracji, przejdź do następnego samouczka. W kolejnych samouczkach dowiesz się, jak włączyć telemetrię i monitorowanie w swoich klastrach oraz zaktualizować węzły ACL.
Wymagania wstępne
- W poprzednich samouczkach utworzyłeś i wdrożyłeś klaster ACL. Jeśli nie wykonano tych kroków i chcesz przejść przez ten proces, zobacz Samouczek 1: tworzenie klastra z ACL dla usługi AKS.
- Azure Container Linux wymaga Azure CLI w wersji 2.86.0 lub nowszej. Użyj polecenia ,
az versionaby znaleźć wersję. Aby przeprowadzić uaktualnienie do najnowszej wersji, użyjaz upgradepolecenia .
zagadnienia i ograniczenia dotyczące Azure Container Linux (ACL)
Przed rozpoczęciem zapoznaj się z następującymi kwestiami i ograniczeniami dotyczącymi ACL:
- ACL jest ogólnie dostępne od wersji 1.34 usługi AKS.
- ACL wymaga funkcji Trusted Launch z Secure Boot i vTPM. Warianty uruchamiania inne niż zaufane nie są dostępne.
- ACL na platformie Arm64 wymaga jednostek SKU opartych na procesorach Cobalt (v6), aby zapewnić zgodność z funkcją Trusted Launch.
-
NodeImageiNonesą jedynymi obsługiwanymi kanałami uaktualniania systemu operacyjnego.UnmanagediSecurityPatchnie są zgodne z ACL ze względu na niezmienny katalog/usr. - Przesyłanie strumieniowe artefaktów nie jest obsługiwane.
- Pod Sandboxing nie jest obsługiwany.
- Poufne maszyny wirtualne (CVM) nie są obsługiwane.
- Maszyny wirtualne generacji 1 nie są obsługiwane.
Dodaj pule węzłów ACL i usuń istniejące pule węzłów
Dodaj nową pulę węzłów listy ACL przy użyciu
az aks nodepool addpolecenia . Użyj--mode System, aby nowa pula mogła służyć jako systemowa pula agentów, dzięki czemu w następnym kroku można usunąć oryginalną pulę węzłów. Poniższy przykład tworzy pulę węzłów o nazwie aclsystem , która dodaje trzy węzły do klastra:az aks nodepool add \ --resource-group $RESOURCE_GROUP \ --cluster-name $CLUSTER_NAME \ --name aclsystem \ --mode System \ --os-sku AzureContainerLinux \ --node-count 3Przykładowy wynik:
{ "id": "/subscriptions/xxxxx/resourceGroups/myACLResourceGroup/providers/Microsoft.ContainerService/managedClusters/myACLCluster/nodePools/aclsystem", "name": "aclsystem", "osSku": "AzureContainerLinux", "provisioningState": "Succeeded" }Usuń istniejącą pulę węzłów za pomocą polecenia
az aks nodepool delete.az aks nodepool delete \ --resource-group $RESOURCE_GROUP \ --cluster-name $CLUSTER_NAME \ --name <existing-node-pool-name>
Migracja wersji systemu operacyjnego na miejscu
Ograniczenia dotyczące bezpośredniej migracji SKU systemu operacyjnego
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 SKU systemu operacyjnego nie umożliwia zmiany nazw istniejących pul węzłów.
- Systemy Ubuntu, Azure Linux i AzureContainerLinux są jedynymi obsługiwanymi celami migracji jednostek SKU systemu operacyjnego Linux.
- ACL wymaga funkcji Trusted Launch. Jeśli w puli węzłów nie włączono jeszcze
--enable-secure-booti--enable-vtpm, musisz uwzględnić je podczas migracji do jednostki SKU systemu operacyjnegoAzureContainerLinux. Rozmiar maszyny wirtualnej puli węzłów musi również obsługiwać funkcję Trusted Launch. Jeśli bieżący rozmiar maszyny wirtualnej nie jest obsługiwany, przed migracją należy zmienić rozmiar lub ponownie utworzyć pulę węzłów przy użyciu obsługiwanego rozmiaru maszyny wirtualnej. - Maszyny wirtualne generacji 1 nie są obsługiwane.
- SKU systemu operacyjnego Ubuntu z włączoną funkcją
UseGPUDedicatedVHDnie może przeprowadzić migracji SKU systemu operacyjnego. - Poufne maszyny wirtualne (CVM) nie są obsługiwane.
- Pod Sandboxing nie jest obsługiwany.
- Migracja jednostek SKU systemu operacyjnego Windows nie jest obsługiwana.
Wymagania wstępne dotyczące migracji SKU systemu operacyjnego na miejscu
- Istniejący klaster AKS z co najmniej jedną pulą węzłów z systemem Linux.
- Zalecamy sprawdzenie, czy obciążenia robocze działają poprawnie w środowisku ACL, przez wdrożenie klastra ACL w środowisku deweloperskim lub przedprodukcyjnym przed migracją klastrów produkcyjnych.
- 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. Użyj polecenia ,
az versionaby znaleźć wersję. Aby przeprowadzić uaktualnienie do najnowszej wersji, użyjaz upgradepolecenia .
Migracja do ACL przy użyciu migracji wersji SKU systemu operacyjnego w miejscu
Możesz zmigrować istniejące pule węzłów Ubuntu lub Azure Linux do ACL, zmieniając SKU systemu operacyjnego puli węzłów, co powoduje przeprowadzenie klastra przez standardowy proces uaktualniania obrazu węzłów. Ta metoda nie wymaga tworzenia nowych pul węzłów; zamiast tego istniejące pule węzłów są automatycznie ponownie obrazowane.
Ważna
ACL wymaga funkcji Trusted Launch. Należy uwzględnić --enable-secure-boot i --enable-vtpm podczas migracji do wersji SKU systemu operacyjnego AzureContainerLinux. Rozmiar maszyny wirtualnej puli węzłów musi również obsługiwać funkcję Trusted Launch.
Zmigruj SKU systemu operacyjnego swojej puli węzłów do ACL przy użyciu polecenia az aks nodepool update. To polecenie powoduje ponowne utworzenie obrazu puli węzłów. 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 <existing-node-pool-name> \
--os-sku AzureContainerLinux \
--enable-secure-boot \
--enable-vtpm
Przykładowy wynik:
{
"id": "/subscriptions/xxxxx/resourceGroups/myACLResourceGroup/providers/Microsoft.ContainerService/managedClusters/myACLCluster/nodePools/nodepool1",
"name": "nodepool1",
"osSku": "AzureContainerLinux",
"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 sprawdź następujące kwestie, aby upewnić się, że migracja zakończyła się pomyślnie:
Potwierdź za pomocą następującego polecenia, że nowe węzły działają z włączoną funkcją ACL:
kubectl get nodes -o wideSprawdź za pomocą następującego polecenia, czy wszystkie zasobniki i zestawy DaemonSet działają w nowej puli węzłów:
kubectl get pods -o wide -ASprawdź za pomocą następującego polecenia, czy wszystkie etykiety węzłów w uaktualnionej puli węzłów są zgodne z oczekiwaniami:
kubectl get nodes --show-labelsSprawdź wersję obrazu węzła za pomocą polecenia
az aks nodepool list.az aks nodepool list \ --resource-group $RESOURCE_GROUP \ --cluster-name $CLUSTER_NAME \ --query '[].{name: name, osSku: osSku, nodeImageVersion: nodeImageVersion}'Przykładowy wynik:
[ { "name": "nodepool1", "nodeImageVersion": "AKSAzureContainerLinux-202606.01.0", "osSku": "AzureContainerLinux" } ]
Wskazówka
Zalecamy monitorowanie kondycji usługi przez kilka tygodni przed migracją klastrów produkcyjnych.
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 zmień pole OS SKU z powrotem na poprzednią wartość i prześlij ponownie wdrożenie, co uruchomi kolejną operację aktualizacji i ponownie utworzy obraz puli węzłów przy użyciu poprzedniej wartości OS SKU.
Wróć do poprzedniej wersji SKU systemu operacyjnego za pomocą polecenia az aks nodepool update. Ten przykład pokazuje wycofanie z ACL do systemu Azure Linux:
az aks nodepool update \
--resource-group $RESOURCE_GROUP \
--cluster-name $CLUSTER_NAME \
--name <existing-node-pool-name> \
--os-sku AzureLinux
Następny krok
W tym samouczku przeniosłeś istniejące węzły do mechanizmu ACL. Z następnego samouczka dowiesz się, jak włączyć telemetrię i monitorowanie klastra listy ACL.