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.
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 --versionpolecenia . Jeśli musisz zainstalować lub uaktualnić, zobacz Install Azure CLI. - Rozszerzenie
aks-previewAzure CLI zainstalowane i zaktualizowane do najnowszej wersji. - Wersja interfejsu API
2025-08-02-previewlub 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:
- Uaktualnienia wersji platformy Kubernetes
- Aktualizacje obrazu węzła
- Pula węzłów systemowych i użytkownika
- Ręczna kontrola zatwierdzania i cofania
- Automatyczny skalowacz klastra
- Strefy dostępności
- PodDisruptionBudgets
- Automatyczne aktualizowanie kanałów i okna planowanej konserwacji
- Menedżer komunikacji usługi AKS
Ograniczenia i zagadnienia dotyczące uaktualniania niebiesko-zielonego
Uaktualnienia blue-green nie obsługują obecnie następujących funkcji:
- Automatyczne wycofywanie
- Używanie strategii niebiesko-zielonej do aktualizacji poza Kubernetes i aktualizacjami wersji obrazu węzła (np. rotacja certyfikatów, aktualizacje konfiguracji kubelet/os itp.)
- Pule maszyn wirtualnych
- Ustawienie Maksymalna niedostępna
- Zachowanie węzła niedrenowalnego i ustawienie maxBlockedNodes
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:
Proces uaktualniania i zatwierdzania jest następujący:
- Niebieskie węzły Cordon: Istniejące niebieskie węzły są oznaczone jako nieplanowalne.
- Dodaj zielone węzły: nowe zielone węzły ze zaktualizowaną konfiguracją są dodawane do istniejącej puli węzłów.
- Operacja równoległa: zarówno niebieskie , jak i zielone węzły są uruchamiane jednocześnie w tej samej puli węzłów.
- 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.
- Weryfikowanie zielonych węzłów: monitorowanie i testowanie obciążeń w nowych węzłach podczas migracji.
- 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:
Proces uaktualniania i wycofywania jest następujący:
- Niebieskie węzły Cordon: Istniejące niebieskie węzły są oznaczone jako nieplanowalne.
- Dodaj zielone węzły: nowe zielone węzły ze zaktualizowaną konfiguracją są dodawane do istniejącej puli węzłów.
- Operacja równoległa: zarówno niebieskie , jak i zielone węzły są uruchamiane jednocześnie w tej samej puli węzłów.
- Wykrywanie problemów: zidentyfikuj problemy podczas walidacji w zielonych węzłach.
- Wykonaj wycofywanie: usuń niebieskie węzły, opróżnij zielone węzły i zmigruj obciążenia z powrotem do niebieskich węzłów.
- 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 addpolecenia z parametrem ustawionym na wartość--upgrade-strategy. Poniższy przykład tworzy nową pulę węzłów o nazwiemyNodePoolw klastrze usługi AKSmyAKSClusterw grupie zasobówmyResourceGroup: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 addz parametrem--upgrade-strategyustawionym nabluegreen, i dostosuj dowolne niestandardowe ustawienia uaktualniania blue-green. Poniższy przykład tworzy nową pulę węzłów o nazwiemyNodePoolw klastrzemyAKSClusterusługi AKS w grupiemyResourceGroupzasobó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 upgradez parametrem--kubernetes-versionustawionym 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 nazwiemyNodePoolw klastrze usługi AKS w grupie zasobówmyAKSCluster.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.
Treści powiązane
Aby dowiedzieć się więcej na temat aktualizacji puli węzłów w usłudze AKS, przeczytaj następujące artykuły: