Aktualizacje puli węzłów blue-green w Azure Kubernetes Service (AKS) (wersja zapoznawcza)

Uaktualnienia blue-green umożliwiają uaktualnienie pul węzłów usługi AKS przez dodanie nowych zielonych węzłów ze zaktualizowaną konfiguracją (wersja obrazu platformy Kubernetes i węzła) do istniejącej puli węzłów, podczas gdy oryginalne niebieskie węzły będą nadal działać. Ta strategia umożliwia przetestowanie i zweryfikowanie nowej konfiguracji przed zatwierdzeniem nowej wersji z możliwością szybkiego wycofywania w przypadku wystąpienia problemów.

W tym artykule wyjaśniono, kiedy używać uaktualnień niebieski-zielony, jak działa proces, opcje konfiguracji i zagadnienia dotyczące korzystania z tej strategii uaktualniania.

Kiedy należy używać uaktualnień niebiesko-zielonych

Uwaga / Notatka

Należy pamiętać, że uaktualnienia typu blue-green wymagają podwójnej liczby węzłów podczas procesu uaktualniania, co może prowadzić do zwiększenia kosztów i wymagań zasobów.

Rozważ zastosowanie aktualizacji blue-green, gdy:

  • Potrzebujesz szczegółowego testowania i weryfikacji obciążeń w partiach, partia po partii.
  • Przed przełączeniem ruchu produkcyjnego należy zweryfikować nowe konfiguracje węzłów.
  • Potrzebujesz natychmiastowej możliwości cofania zmian bez ponownego konfigurowania węzłów.
  • Uaktualniasz krytyczne obciążenia produkcyjne, które nie mogą tolerować zakłóceń.
  • Należy przetestować zgodność aplikacji z nowymi wersjami platformy Kubernetes.

Jeśli obecnie używasz ręcznego procesu wdrażania blue-green dla aktualizacji puli węzłów i chcesz zautomatyzować ten przepływ pracy, rozważ użycie aktualizacji blue-green usługi AKS. Aby uzyskać więcej informacji na temat ręcznego procesu uaktualniania niebiesko-zielonego, zobacz Ręczne uaktualnienia puli węzłów niebiesko-zielonych.

Kiedy należy używać standardowych stopniowych aktualizacji

Standardowe uaktualnienia stopniowe mogą być bardziej odpowiednie w następujących scenariuszach:

  • Środowiska programistyczne lub testowe z tolerancją przestojów.
  • Wdrożenia wrażliwe na koszty, w których tymczasowe podwojenie jest zbyt kosztowne.
  • Proste aplikacje bezstanowe z efektywnym radzeniem sobie z zakłóceniami.
  • Środowiska z ograniczonym dostępnym limitem przydziału lub pojemnością.

Wymagania wstępne

  • Wystarczający limit przydziału dla podwojenia pojemności puli węzłów.
  • 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.
  • Skonfigurowano automatyczne skalowanie klastra (zalecane, ale nie jest wymagane).

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 dotyczące aktualizacji blue-green

Uaktualnienia blue-green obsługują obecnie następujące funkcje:

Ograniczenia i zagadnienia dotyczące uaktualniania niebiesko-zielonego

Uaktualnienia blue-green nie obsługują obecnie następujących funkcji:

Podczas korzystania z uaktualnień niebiesko-zielonych należy pamiętać o następujących kwestiach:

Zapotrzebowanie na zasoby Zagadnienia dotyczące złożoności Czynniki czasowe
* Wymaga podwójnej pojemności węzła podczas procesu uaktualniania, co prowadzi do zwiększenia kosztów infrastruktury.
* Potrzebujesz dodatkowego limitu przydziału zasobów obliczeniowych w subskrypcji Azure, aby uwzględnić tymczasowe podwojenie węzłów.
* W okresach szczytowego użycia mogą wystąpić regionalne limity pojemności.
* Wymaga starannego planowania obciążeń stanowych w celu zapewnienia spójności danych podczas migracji.
* Wymaga dodatkowego monitorowania zarówno dla niebieskich, jak i zielonych węzłów w okresie przejściowym.
* Dłuższy ogólny czas trwania uaktualnienia w porównaniu z uaktualnieniami typu in-place.
* Okres walidacji dodaje czas przed ostatecznym przełączeniem.

Niebieski zielony przepływ pracy uaktualniania

Proces aktualizacji niebiesko-zielony tworzy środowisko równoległe na potrzeby bezpiecznego i niezawodnego przechodzenia między wersjami puli węzłów. Możesz uaktualnić i zaaprobować nową zieloną pulę po walidacji lub uaktualnić i przywrócić oryginalną niebieską pulę, jeśli wystąpią problemy.

Scenariusz uaktualniania i zatwierdzania

Na poniższym diagramie przedstawiono przepływ pracy uaktualniania i zatwierdzania:

Diagram przedstawiający przepływ pracy scenariusza uaktualniania i zatwierdzania.

Proces uaktualniania i zatwierdzania jest następujący:

  1. Niebieskie węzły Cordon: Istniejące niebieskie węzły są oznaczone jako nieplanowalne.
  2. Dodaj zielone węzły: nowe zielone węzły ze zaktualizowaną konfiguracją są dodawane do istniejącej puli węzłów.
  3. Operacja równoległa: zarówno niebieskie , jak i zielone węzły są uruchamiane jednocześnie w tej samej puli węzłów.
  4. Stopniowa migracja: obciążenia są stopniowo opróżniane z niebieskich węzłów i ponownie ułożone do zielonych węzłów w partiach.
  5. Weryfikowanie zielonych węzłów: monitorowanie i testowanie obciążeń w nowych węzłach podczas migracji.
  6. Pełne przejście: po ostatnim okresie weryfikacji niebieskie węzły są usuwane, a zielone węzły stają się podstawowymi.

Scenariusz uaktualniania i cofania

Na poniższym diagramie przedstawiono przepływ pracy uaktualniania i wycofywania:

Diagram przedstawiający przepływ pracy scenariusza uaktualniania i wycofywania.

Proces uaktualniania i wycofywania jest następujący:

  1. Niebieskie węzły Cordon: Istniejące niebieskie węzły są oznaczone jako nieplanowalne.
  2. Dodaj zielone węzły: nowe zielone węzły ze zaktualizowaną konfiguracją są dodawane do istniejącej puli węzłów.
  3. Operacja równoległa: zarówno niebieskie , jak i zielone węzły są uruchamiane jednocześnie w tej samej puli węzłów.
  4. Wykrywanie problemów: zidentyfikuj problemy podczas walidacji w zielonych węzłach.
  5. Wykonaj wycofywanie: usuń niebieskie węzły, opróżnij zielone węzły i zmigruj obciążenia z powrotem do niebieskich węzłów.
  6. Stan przywracania: Zielone węzły są usuwane, a pula węzłów powraca do oryginalnej konfiguracji.

Wybieranie strategii uaktualniania

Podczas tworzenia lub aktualizowania puli węzłów usługi AKS można określić strategię aktualizacji (upgradeStrategy), której chcesz użyć. Dostępne strategie obejmują:

Strategia Opis
Rolling (ustawienie domyślne) Standardowe stopniowe uaktualnienie, w którym węzły są aktualizowane pojedynczo.
BlueGreen Dodaje nowe zielone węzły ze zaktualizowaną konfiguracją do istniejącej puli węzłów, jednocześnie utrzymując działanie oryginalnych niebieskich węzłów.

Podczas trwającej aktualizacji usługa AKS umożliwia przełączanie z BlueGreen na Rolling, ale nie z Rolling na BlueGreen.

Dostosowywanie właściwości aktualizacji typu blue-green

Możesz dostosować następujące właściwości aktualizacji w trybie blue-green (NodePoolBlueGreenUpgradeSettings):

Majątek Opis Dozwolone wartości Wartość domyślna
drainBatchSize Liczba lub procent węzłów do opróżniania w każdej grupie podczas uaktualniania. Wartość procentowa jest obliczana na podstawie całkowitej liczby niebieskich węzłów na początku uaktualnienia. Węzły ułamkowe są zaokrąglane w górę. Liczba całkowita (na przykład 5) lub procent (na przykład 50%). Musi być wartością inną niż zero. 10%
drainTimeoutInMinutes Maksymalny czas (w minutach) oczekiwania na łagodne zakończenie działania podów na każdym węźle przed niepowodzeniem aktualizacji. Honoruje budżety zakłóceń zasobników podczas tego czasu oczekiwania. Jeśli zostanie przekroczony, uaktualnienie zakończy się niepowodzeniem. Liczba całkowita z zakresu od 1 do 1440 (24 godziny). 30 minut
batchSoakDurationInMinutes Czas wstrzymania (w minutach) między opróżnianiem partiami węzłów, aby umożliwić obserwację i sprawdzenie. Liczba całkowita z zakresu od 0 do 1440 (24 godziny). 15 minut
finalSoakDurationInMinutes Czas oczekiwania (w minutach) po opróżnieniu wszystkich węzłów przed usunięciem starych węzłów. Zapewnia ostateczny okres weryfikacji przed zatwierdzeniem uaktualnienia. Operacje wycofywania są dostępne tylko w tym ostatnim okresie moczenia. Po wygaśnięciu tego okresu i usunięciu niebieskiej puli wycofanie nie jest już możliwe. Liczba całkowita z zakresu od 0 do 10080, odnosząca się do okresu siedmiu dni. 60 minut

Tworzenie puli węzłów z domyślnymi niebieskimi zielonymi ustawieniami uaktualniania

  • Utwórz pulę węzłów ze strategią niebiesko-zielonej aktualizacji i ustawień przy użyciu az aks nodepool add polecenia z parametrem ustawionym na wartość --upgrade-strategy. Poniższy przykład tworzy nową pulę węzłów o nazwie myNodePool w klastrze usługi AKS myAKSCluster w grupie zasobów myResourceGroup:

    az aks nodepool add \
        --name myNodePool \
        --cluster-name myAKSCluster \
        --resource-group myResourceGroup \
        --upgrade-strategy bluegreen
    

Utwórz pulę węzłów z niestandardowymi ustawieniami aktualizacji *blue-green*

  • Utwórz pulę węzłów z niestandardowymi ustawieniami blue-green do uaktualniania, używając polecenia az aks nodepool add z parametrem --upgrade-strategy ustawionym na bluegreen, i dostosuj dowolne niestandardowe ustawienia uaktualniania blue-green. Poniższy przykład tworzy nową pulę węzłów o nazwie myNodePool w klastrze myAKSCluster usługi AKS w grupie myResourceGroup zasobów z niestandardowymi ustawieniami uaktualnienia niebiesko-zielonych:

    az aks nodepool add \
        --name myNodePool \
        --cluster-name myAKSCluster \
        --resource-group myResourceGroup \
        --upgrade-strategy bluegreen \
        --drain-timeout-bg 5 \
        --batch-soak-duration 5 \
        --drain-batch-size 50% \
        --final-soak-duration 180
    

Rozpocznij aktualizację blue-green dla istniejącej puli węzłów

Ważne

Po wznowieniu wstrzymanej aktualizacji można zaktualizować ustawienia blue-green, ale nie można zmienić wersji Kubernetes. Możesz przełączyć trwającą aktualizację typu blue-green na strategię kroczącą, ale nie możesz przełączyć trwającej aktualizacji kroczącej na blue-green.

  • Aby uruchomić niebiesko-zielone uaktualnienie istniejącej puli węzłów, użyj polecenia az aks nodepool upgrade z parametrem --kubernetes-version ustawionym na żądaną wersję. Możesz rozpocząć niebiesko-zieloną aktualizację puli węzłów już korzystając z strategii niebiesko-zielonej lub dla puli węzłów, która nie jest jeszcze skonfigurowana za pomocą strategii niebiesko-zielonej. W poniższych przykładach przedstawiono oba scenariusze:

    # Start a blue-green upgrade for an existing node pool already using blue-green strategy
    az aks nodepool upgrade \
        --name myNodePool \
        --cluster-name myAKSCluster \
        --resource-group myResourceGroup \
        --kubernetes-version <kubernetes-version>
    
    # Start a blue-green upgrade for an existing node pool not yet using blue-green strategy
    az aks nodepool upgrade \
        --name myNodePool \
        --cluster-name myAKSCluster \
        --resource-group myResourceGroup \
        --kubernetes-version <kubernetes-version> \
        --upgrade-strategy bluegreen
    

Zatrzymanie lub anulowanie uaktualnienia blue-green

  • Anuluj lub wstrzymaj trwające uaktualnianie blue-green przy użyciu polecenia az aks nodepool operation-abort. Poniższy przykład wstrzymuje lub anuluje uaktualnienie niebiesko-zielone dla puli węzłów o nazwie myNodePool w klastrze usługi AKS w grupie zasobów myAKSCluster.

    az aks nodepool operation-abort \
        --name myNodePool \
        --cluster-name myAKSCluster \
        --resource-group myResourceGroup
    

Przełącz trwającą aktualizację blue-green na kroczącą

Jeśli nie można wznowić trwającej aktualizacji blue-green, ponieważ zmiany właściwości puli węzłów wymagałyby ponownego utworzenia obrazu węzła, możesz przełączyć strategię aktualizacji puli węzłów na kroczącą. Usługa AKS usuwa zabezpieczenia aktualizacji blue-green i następnie kontynuuje czyszczenie przy użyciu mechanizmu aktualizacji stopniowej.

az aks nodepool update \
    --name myNodePool \
    --cluster-name myAKSCluster \
    --resource-group myResourceGroup \
    --upgrade-strategy Rolling

Wycofanie aktualizacji blue-green

Po anulowaniu trwającego uaktualnienia blue-green można zainicjować wycofanie przy użyciu polecenia az aks nodepool rollback.

Wycofanie jest dostępne tylko w ostatnim okresie moczenia, zgodnie z opisem we właściwości finalSoakDurationInMinutes .

W poniższym przykładzie przeprowadzane jest wycofywanie aktualizacji niebiesko-zielonej dla puli węzłów o nazwie myNodePool w klastrze AKS myAKSCluster w grupie zasobów myResourceGroup.

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

Często zadawane pytania (FAQ)

Czy aktualizacje niebiesko-zielone obsługują ustawienie maxUnavailable?

Nie, ustawienie maxUnavailable nie ma zastosowania do aktualizacji blue-green. Nowe zielone węzły są dodawane do istniejącej puli węzłów wraz z istniejącymi niebieskimi węzłami, dzięki czemu wszystkie oryginalne węzły pozostaną dostępne podczas procesu uaktualniania.

Czy aktualizacje blue-green mogą być używane do aktualizacji puli węzłów poza wersją Kubernetes i obrazu węzła?

Nie, strategia aktualizacji blue-green obsługuje obecnie tylko uaktualnienia Kubernetes oraz wersji obrazu węzła. Nie można użyć tej strategii w przypadku innych zmian, takich jak rotacja certyfikatów lub zmiany konfiguracji kubeletu i systemu operacyjnego. Jeśli musisz zastosować zmiany powodujące ponowne utworzenie obrazu węzła, gdy trwa uaktualnienie blue-green, przełącz pulę węzłów na strategię uaktualniania stopniowego lub cofnij zmiany właściwości przed ponowną próbą.

Które wersje platformy Kubernetes są zgodne z uaktualnieniami typu blue-green?

Uaktualnienia blue-green współdziałają ze wszystkimi wersjami platformy Kubernetes obsługiwanymi przez usługę AKS, w tym wersjami wspieranymi przez społeczność i wersjami długoterminowego wsparcia (LTS), pod warunkiem że używasz wersji 2025-08-02-preview interfejsu API lub nowszej.

Czy mogę użyć kanału automatycznego poprawek zabezpieczeń z niebieskimi zielonymi uaktualnieniami?

Tak, o ile strategia aktualizacji puli węzłów jest skonfigurowana do używania strategii blue-green. Po skonfigurowaniu poprawki zabezpieczeń są zgodne z niebieskim zielonym procesem uaktualniania zamiast domyślnego mechanizmu aktualizacji stopniowej.

Co się dzieje z trwałymi woluminami podczas aktualizacji typu Blue-Green?

Woluminy trwałe pozostają dostępne. Zasobniki są bezpiecznie opróżniane i ponownie ułożone, utrzymując ich załączniki woluminów.

Czy mogę wykonać aktualizacje typu blue-green dla wielu pul węzłów równocześnie?

Tak, różne pule węzłów mogą mieć przeprowadzane równolegle aktualizacje typu niebieski-zielony, ale każda pula może mieć tylko jedną aktywną aktualizację. Obecnie nie można kontrolować kolejności uaktualnień w wielu pulach.

Jak aktualizacje blue-green obsługują konfiguracje specyficzne dla węzła, takie jak tainty i etykiety?

Wszystkie konfiguracje węzłów, w tym defekty, etykiety i adnotacje, są automatycznie replikowane do zielonej puli.

Jaki jest wpływ kosztów uaktualnień niebiesko-zielonych?

Opłaty są naliczane zarówno za oryginalne niebieskie węzły, jak i nowe zielone węzły w oknie uaktualniania, więc upewnij się, że planujesz podwojenie kosztów tymczasowych w okresie przejściowym.

Co się stanie podczas awarii pojemności?

W przypadku awarii pojemności podczas dodawania zielonych węzłów uaktualnienie kończy się niepowodzeniem, a niebieskie węzły pozostają nienaruszone. Możesz ponowić próbę uaktualnienia, gdy dostępna będzie wystarczająca pojemność, lub zdecydować się na wycofanie.

Co się stanie podczas wycofywania?

Jeśli liczba zielonych węzłów jest mniejsza lub równa liczbie niebieskich węzłów podczas przywracania, zielone węzły są usuwane, a niebieskie węzły są odkordonowane i przywracane w celu wznowienia normalnego działania.

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