Wycofywanie wersji puli węzłów w Azure Kubernetes Service (AKS) (wersja zapoznawcza)

Funkcja wycofywania wersji puli węzłów w Azure Kubernetes Service (AKS) umożliwia przywracanie po nieoczekiwanych zachowaniach po aktualizacji Kubernetes. Jeśli wystąpią problemy, możesz wycofać pule węzłów do poprzedniej wersji Kubernetes i kombinacji obrazu węzła, zapewniając ciągłość działania i minimalizując przestoje. W tym artykule wyjaśniono, kiedy i jak korzystać z funkcji wycofywania, jej możliwości i ograniczeń oraz najlepsze rozwiązania dotyczące akcji po wycofaniu.

Wymagania wstępne

  • Azure CLI w wersji 2.64.0 lub nowszej. Znajdź swoją wersję przy użyciu az --version polecenia . Jeśli musisz zainstalować lub uaktualnić, zobacz Install Azure CLI.
  • Rozszerzenie aks-preview Azure CLI zainstalowane i zaktualizowane do najnowszej wersji.
  • Wersja interfejsu API 2025-08-02-preview lub nowsza.

Instalowanie rozszerzenia aks-preview Azure CLI

Ważne

Funkcje usługi AKS w wersji zapoznawczej są dostępne na zasadzie samoobsługi i wymagają zapisania się. Wersje zapoznawcze są udostępniane w wersji "as is" i "jako dostępne" i są wykluczone z umów dotyczących poziomu usług i ograniczonej gwarancji. Wersje zapoznawcze usługi AKS są częściowo objęte pomocą techniczną dla klientów, świadczoną w miarę możliwości. W związku z tym te funkcje nie są przeznaczone do użytku produkcyjnego. Aby uzyskać więcej informacji, zobacz następujące artykuły pomocy technicznej:

Zainstaluj lub zaktualizuj rozszerzenie aks-preview za pomocą poleceń az extension add i az extension update.

# Install the aks-preview extension
az extension add --name aks-preview

# Update the aks-preview extension
az extension update --name aks-preview

Obsługiwane funkcje wycofywania wersji puli węzłów

Funkcja wycofywania wersji puli węzłów obsługuje następujące możliwości:

Funkcja Opis
Przywróć wersję Przywraca wersje obrazów Kubernetes oraz węzła do ich poprzedniego stanu.
Ręczne inicjowanie, automatyczne wykonywanie Wycofanie wymaga ręcznej inicjacji, ale po wyzwoleniu system automatycznie obsługuje cały proces wycofywania bez dalszej interwencji.
Zgodność puli węzłów Działa we wszystkich typach pul węzłów, w tym zarówno pul maszyn wirtualnych, jak i pul węzłów opartych na Virtual Machine Scale Sets (VMSS).
Obsługa systemów operacyjnych Zgodność ze wszystkimi jednostkami magazynowymi (SKU) systemu operacyjnego, w tym Ubuntu, Azure Linux i pulami Windows.
Uproszczony proces Zarządzanie migawkami nie jest wymagane.

Ograniczenia i zagadnienia dotyczące wycofywania puli węzłów

Podczas korzystania z funkcji wycofywania puli węzłów należy pamiętać o następujących ograniczeniach:

  • Ograniczone wyłącznie do zmian wersji. Inne zmiany puli węzłów nie są przywracane.
  • Podczas wycofywania nie są dozwolone żadne operacje współbieżne.
  • Jeśli zostało skonfigurowane, należy wyłączyć automatyczne aktualizacje klastra przed przystąpieniem do wycofania.
  • Dostępne tylko przez siedem dni po zakończeniu uaktualniania.
  • Nie można wykonać kolejnych wycofań, aby wrócić do wcześniejszych wersji.
  • Przywracanie nie obsługuje cofania zmian w SKU systemu operacyjnego. Jeśli zmieniłeś wersję SKU systemu operacyjnego puli nodów (na przykład z Ubuntu na Azure Linux), próba przywrócenia stara się przywrócić poprzednią wersję obrazu noda, która pochodzi z innej wersji systemu operacyjnego, co skutkuje jej odrzuceniem. Aby przywrócić zmianę wersji SKU systemu operacyjnego, użyj az aks nodepool update --os-sku polecenia.

Podczas wycofywania puli węzłów należy pamiętać o następujących kwestiach:

Implikacje dotyczące zabezpieczeń Zagadnienia operacyjne
* Narażenie na luki w zabezpieczeniach: Wycofywanie usuwa poprawki zabezpieczeń i aktualizacje z nowszej wersji. W związku z tym zalecamy używanie wycofywania tylko tymczasowo podczas rozwiązywania problemów, a następnie jak najszybszego ponownego uaktualniania. * Przerwy w działaniu usługi: Proces wycofywania może spowodować tymczasowe przerwy w obciążeniu.
* Dostępność zasobów: zapewnij wystarczającą pojemność dla operacji wycofywania.
* Wymagania dotyczące testowania: Zaplanuj rozwiązanie podstawowych problemów przed ponownym podjęciem próby uaktualnienia.

Dlaczego warto używać przywracania

Wycofywanie zapewnia krytyczny mechanizm odzyskiwania dla środowisk produkcyjnych:

  • Ciągłość działania: minimalizuj przestoje, gdy uaktualnienia powodują nieoczekiwane problemy
  • Ograniczenie ryzyka: Szybkie przywracanie znanych dobrych konfiguracji bez złożonych procedur odzyskiwania
  • Uproszczone odzyskiwanie: unikaj ręcznej interwencji lub ponownego kompilowania klastrów z kopii zapasowych

Kiedy należy użyć przywracania puli węzłów

Rozważ użycie opcji wycofania w następujących scenariuszach:

  • Występują błędy uaktualniania: problemy z infrastrukturą, ograniczenia zasobów lub problemy ze zgodnością uniemożliwiają pomyślne uaktualnienia.
  • Awaria aplikacji: obciążenia doświadczają krytycznych awarii lub uszkodzenia danych w nowszych wersjach platformy Kubernetes.
  • Wydajność spada: nowe wersje powodują niedopuszczalne opóźnienia, problemy z przepływnością lub zużycie zasobów.
  • Pojawiają się luki w testowaniu: problemy pojawiają się w środowisku produkcyjnym, które nie zostały przechwycone podczas testowania przedprodukcyjnego.

Przepływ pracy przywracania puli węzłów

Na poniższym diagramie przedstawiono przepływ pracy wycofywania puli węzłów:

Diagram przedstawiający proces przywrócenia puli węzłów.

Proces wycofywania przywraca wszystkie węzły w puli węzłów do ich poprzedniego stanu wersji. Kluczowe aspekty przepływu pracy obejmują:

  • Podejście wszystko albo nic: Wszystkie węzły muszą pomyślnie powrócić do poprzedniej wersji, aby proces wycofywania zakończył się pomyślnie. Jeśli którykolwiek węzeł nie zostanie wycofany, cała operacja zakończy się niepowodzeniem, aby wyraźnie przekazać stan klastra, podobnie jak operacja uaktualniania.
  • Śledzenie postępu: Monitorowanie stanu wycofywania za pomocą dziennika aktywności Azure w celu uzyskania historii operacji oraz interfejsu API stanu operacji w celu uzyskania aktualizacji w czasie rzeczywistym.

Cofnij wersję puli węzłów

Ważne

Podczas wycofywania wersji puli węzłów należy pamiętać o następujących informacjach:

  • Przechowywanie starszych wersji długoterminowych zwiększa ryzyko bezpieczeństwa i może ostatecznie zapobiec uaktualnieniu z powodu ograniczeń niesymetryczności wersji. Traktuj wycofywanie jako tymczasowy mechanizm odzyskiwania, a nie trwałe rozwiązanie.
  • Korzystając z interfejsu API REST, możesz najpierw wywołać API Uzyskaj Profil Uaktualnienia, aby pobrać ostatnio używane wersje. Użyj tych informacji, aby określić wersję docelową w żądaniu wycofania.
  • Wycofaj wersję puli węzłów za pomocą polecenia az aks nodepool rollback. Poniższy przykład cofa pulę węzłów o nazwie myNodePool w klastrze AKS o nazwie myAKSCluster w grupie zasobów myResourceGroup.

    az aks nodepool rollback --name myNodePool --resource-group myResourceGroup --cluster-name myAKSCluster
    

Monitorowanie stanu przywracania puli węzłów do poprzedniego stanu

Następujące metody umożliwiają monitorowanie stanu operacji cofania zmian w puli węzłów i weryfikowanie pomyślnego cofnięcia zmian:

Najlepsze praktyki po wycofaniu zmian

Po pomyślnym wycofaniu puli węzłów skorzystaj z następujących najlepszych rozwiązań, aby zapewnić stabilność i bezpieczeństwo:

  • Zbadaj główną przyczynę: określ, dlaczego uaktualnienie nie powiodło się przed podjęciem kolejnej próby uaktualnienia. Przejrzyj dzienniki aplikacji, metryki zasobów i wymagania dotyczące zgodności.
  • Testowanie w środowisku nieprodukcyjnym: zweryfikuj nowszą wersję w środowisku deweloperskim lub przejściowym, aby odtworzyć i rozwiązać problemy przed ponownym uaktualnieniem środowiska produkcyjnego.
  • Zaplanuj ponowne uaktualnienie: nie bądź na wycofanej wersji na czas nieokreślony. Zaplanuj ponowne uaktualnienie, aby zachować poprawki zabezpieczeń i pomoc techniczną:
    • W przypadku krytycznych problemów z zabezpieczeniami: ponowne uaktualnianie w ciągu kilku dni po zweryfikowaniu poprawek.
    • W przypadku problemów ze zgodnością aplikacji: ponowne uaktualnianie w ciągu kilku tygodni po korektach kodu.
    • Maksymalny zalecany przedział czasu: 30 dni, aby uniknąć gromadzenia luk w zabezpieczeniach.

Często zadawane pytania (FAQ)

Czy mogę wykonać inne operacje podczas wycofywania puli węzłów?

Nie, wycofanie musi zostać zakończone przed rozpoczęciem innych operacji. Aby wykonać różne operacje, należy najpierw przerwać wycofywanie.

Czy przywracanie puli węzłów przywraca zarówno wersję Kubernetes, jak i obraz węzła?

Tak, wycofanie jest przywracane do ostatnio używanej wersji platformy Kubernetes i odpowiadającego jej obrazu węzła. Jeśli oba składniki uległy zmianie, system przywróci poprzednią wersję platformy Kubernetes z ostatnim zgodnym obrazem węzła dla tej wersji.

Czy mogę wycofać tylko obraz węzła bez zmiany wersji puli węzłów?

Tak, jeśli w ciągu ostatnich siedmiu dni przeprowadzono tylko aktualizację obrazu węzła (bez uaktualniania wersji puli węzłów), wycofanie przywraca poprzedni obraz wirtualnego dysku twardego (VHD) przy utrzymaniu tej samej wersji Kubernetes.

Czy mogę przywrócić wersję, która nie jest już wspierana?

Nie, nie można wycofać się do wersji rozwiązania Kubernetes, która nie jest już obsługiwana przez usługę AKS. Na przykład, jeśli pula węzłów była w wersji 1.27.9 (obecnie poza listą obsługiwanych wersji) i została zaktualizowana do wersji 1.28.5, nie można jej przywrócić do wersji 1.27.9, ponieważ nie znajduje się już na liście obsługiwanych wersji. Zawsze sprawdzaj zasady obsługi wersji usługi AKS Kubernetes , aby zweryfikować dostępność wersji.

Czy muszę wyłączyć automatyczną aktualizację przed przywróceniem puli węzłów?

Tak, jeśli klaster ma włączoną automatyczną aktualizację, należy ją wyłączyć przed wykonaniem przywrócenia poprzedniej wersji. Ponadto, jeśli klaster znajduje się w grupie aktualizacji w profilu automatycznego uaktualniania Azure Kubernetes Fleet Manager, należy usunąć klaster z grupy aktualizacji przed wykonaniem cofnięcia. W przeciwnym razie proces automatycznego uaktualniania może automatycznie uaktualnić pulę węzłów ponownie po zakończeniu wycofywania.

Czy mogę wycofać się po zmianie jednostki SKU systemu operacyjnego (na przykład z systemu Ubuntu na Azure Linux)?

Nie. Wycofywanie puli węzłów jest ograniczone do zmian wersji i nie przywraca zmian jednostki SKU systemu operacyjnego. Po migracji z jednej jednostki SKU systemu operacyjnego do innej (na przykład Ubuntu do Azure Linux) poprzednia wersja obrazu węzła należy do starej jednostki SKU systemu operacyjnego i jest niezgodna z bieżącą konfiguracją. Operacja wycofywania odrzuca poprzednią wersję obrazu z błędem podobnym do następującego:

NodeImageVersion 'AKSUbuntu-2204gen2containerd-202602.13.5' is not accepted. NodeImageVersion can only be current version 'AKSAzureLinux-V3gen2-202602.13.5' or 'latest'

Aby przywrócić SKU systemu operacyjnego, użyj polecenia az aks nodepool update z parametrem --os-sku. Aby uzyskać więcej informacji, zobacz Wycofywanie wersji systemu operacyjnego.

Aby dowiedzieć się więcej na temat aktualizacji puli węzłów w usłudze AKS, przeczytaj następujące artykuły: