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.
Dotyczy: ✔️ Fleet Manager ✔️ Fleet Manager z klastrem koncentratora
Administratorzy platformy zarządzający dużą liczbą klastrów często mają problemy z przygotowywaniem aktualizacji wielu klastrów (na przykład aktualizacja obrazu systemu operacyjnego węzła lub wersji Kubernetes) w bezpieczny i przewidywalny sposób. Aby rozwiązać to wyzwanie, usługa Azure Kubernetes Fleet Manager (Fleet) umożliwia organizowanie aktualizacji w wielu klastrach przy użyciu przebiegów aktualizacji.
Przebiegi aktualizacji składają się z etapów, grup i strategii i można je stosować ręcznie w przypadku aktualizacji jednorazowych lub automatycznie w przypadku bieżących regularnych aktualizacji przy użyciu profilów automatycznego uaktualniania. Wszystkie przebiegi aktualizacji (ręczne lub zautomatyzowane) honorują okna konserwacji klastrów członkowskich.
W tym przewodniku opisano sposób konfigurowania i ręcznego wykonywania przebiegów aktualizacji.
Wymagania wstępne
Zapoznaj się z koncepcyjnym omówieniem tej funkcji, która zawiera wyjaśnienie strategii aktualizacji, przebiegów, etapów i grup, do których odwołuje się ten przewodnik.
Musisz mieć zasób Fleet z co najmniej jednym klastrem członkowskim. Jeśli nie, postępuj zgodnie z przewodnikiem szybkiego startu, aby utworzyć zasób Fleet i dołączyć klastry usługi Azure Kubernetes Service (AKS) jako swoje elementy składowe.
Ustaw następujące zmienne środowiskowe:
export GROUP=<resource-group> export FLEET=<fleet-name>Jeśli korzystasz z instrukcji interfejsu wiersza polecenia platformy Azure w tym artykule, musisz zainstalować interfejs wiersza polecenia platformy Azure w wersji 2.58.0 lub nowszej. Aby zainstalować lub uaktualnić, zobacz Instalowanie interfejsu wiersza polecenia platformy Azure.
Wymagane jest również rozszerzenie Azure CLI, które można zainstalować, uruchamiając następujące polecenie:
az extension add --name fleetUruchom polecenie ,
az extension updateaby zaktualizować do najnowszej wersji wydanego rozszerzenia:az extension update --name fleet
Definiowanie sekwencji uaktualniania klastra
Przebieg aktualizacji obsługuje dwie opcje sekwencji uaktualniania klastra:
-
Jeden po drugim: jeśli nie chcesz kontrolować sekwencji uaktualniania klastra,
one-by-onezapewnia proste podejście do uaktualniania wszystkich klastrów członkowskich floty pojedynczo. - Kontrolowanie sekwencji aktualizacji klastrów przy użyciu grup aktualizacji i etapów aktualizacji: jeśli chcesz kontrolować sekwencję uaktualniania klastra, możesz konfigurować klastry członkowskie w grupach aktualizacji i etapach tego procesu. Tę sekwencję można przechowywać jako szablon w postaci strategii aktualizacji. Można tworzyć przebiegi aktualizacji później przy użyciu strategii aktualizacji zamiast definiować sekwencję za każdym razem, gdy trzeba utworzyć przebieg aktualizacji.
Uwaga
Procesy aktualizacji respektują okna konserwacyjne, które ustawiłeś na poziomie klastra AKS. Aby uzyskać więcej informacji, zobacz Planowana konserwacja dla wielu klastrów węzłów członkowskich, w którym wyjaśniono, w jaki sposób przebiegi aktualizacji obsługują klastry węzłów członkowskich skonfigurowane przy użyciu planowanych okienek czasowych konserwacji.
Zaktualizuj wszystkie klastry pojedynczo
W witrynie Azure Portal przejdź do zasobu usługi Azure Kubernetes Fleet Manager.
W menu usługi, w obszarze Ustawienia, wybierz Aktualizacja dla wielu klastrów>Utwórz sesję.
Wprowadź nazwę przebiegu aktualizacji, a następnie wybierz pozycję Jeden po jednym dla typu uaktualnienia.
Wybierz jedną z następujących opcji dla zakresu uaktualniania:
- Wersja Kubernetes dla płaszczyzny sterowania i pul węzłów
- Wersja rozwiązania Kubernetes tylko dla płaszczyzny sterowania klastra
- Tylko wersja obrazu węzła
Wybierz jedną z następujących opcji dla Node image:
- Najnowszy obraz: aktualizuje każdy klaster AKS w przebiegu aktualizacji do najnowszego obrazu dostępnego dla tego klastra w jego regionie.
- Spójny obraz: Może się zdarzyć, że podczas aktualizacji klastry AKS będą się znajdować w różnych regionach, gdzie najnowsze dostępne obrazy węzłów mogą się różnić (sprawdź tracker wydań dla uzyskania więcej informacji). Aktualizacja wybiera najnowszy wspólny obraz we wszystkich regionach, aby osiągnąć spójność.
Ważne
Wersje obrazów węzła są ważne tylko przez 90 dni od oryginalnej daty publikacji. Jeśli wersja obrazu węzła docelowego wybrana przez przebieg aktualizacji przekracza przedział 90 dni po uaktualnieniu klastra członkowskiego, uaktualnienie tego klastra członkowskiego może zakończyć się niepowodzeniem.
Wybierz pozycję Utwórz , aby utworzyć przebieg aktualizacji.
Utwórz proces aktualizacji przy użyciu polecenia
az fleet updaterun createz wybranymi wartościami dla flag--upgrade-typeoraz--node-image-selection. Następujące polecenie tworzy proces aktualizacji, który uaktualnia wersję Kubernetes dla płaszczyzny kontrolnej i pul węzłów oraz używa najnowszego dostępnego obrazu węzła dla każdego klastra w jego regionie.Flaga
--upgrade-typeobsługuje następujące wartości:-
Fulluaktualnia wersję platformy Kubernetes dla płaszczyzny sterowania i pul węzłów wraz z obrazami węzłów. -
ControlPlaneOnlyUaktualnia tylko wersję platformy Kubernetes dla płaszczyzny sterowania klastra. -
NodeImageOnlyuaktualnia tylko obrazy węzłów.
Flaga
--node-image-selectionobsługuje następujące wartości:-
Latest: aktualizuje każdy klaster AKS w rundzie aktualizacji do najnowszego dostępnego obrazu dla tego klastra w jego regionie. -
Consistent: Może być możliwe, że podczas aktualizacji w klastrach AKS zlokalizowanych w różnych regionach, najnowsze dostępne obrazy węzłów mogą się różnić (sprawdź śledzenie wersji, aby uzyskać więcej informacji). Aktualizacja wybiera najnowszy wspólny obraz we wszystkich regionach, aby osiągnąć spójność.
az fleet updaterun create \ --resource-group $GROUP \ --fleet-name $FLEET \ --name run-1 \ --upgrade-type Full \ --kubernetes-version 1.26.0 \ --node-image-selection Latest-
Uruchom przebieg aktualizacji przy użyciu
az fleet updaterun startpolecenia .az fleet updaterun start \ --resource-group $GROUP \ --fleet-name $FLEET \ --name run-1
Podczas tworzenia przebiegu aktualizacji masz możliwość kontrolowania zakresu przebiegu aktualizacji. Flaga --upgrade-type obsługuje następujące wartości:
-
ControlPlaneOnlyUaktualnia tylko wersję platformy Kubernetes dla płaszczyzny sterowania klastra. -
Fulluaktualnia wersję platformy Kubernetes dla płaszczyzny sterowania i pul węzłów wraz z obrazami węzłów. -
NodeImageOnlyuaktualnia tylko obrazy węzłów.
--node-image-selection Ponadto flaga obsługuje następujące wartości:
- Najnowsze: Aktualizuje każdy klaster usługi AKS podczas procesu aktualizacji do najnowszego dostępnego obrazu dla tego klastra w jego regionie.
- Spójność: przy uruchamianiu aktualizacji może wystąpić sytuacja, w której klastry AKS znajdują się w różnych regionach, gdzie najnowsze dostępne obrazy węzłów mogą się różnić (sprawdź śledzenie wersji, aby uzyskać więcej informacji). Aktualizacja wybiera najnowszy wspólny obraz we wszystkich regionach, aby osiągnąć spójność.
Ważne
Wersje obrazów węzła są ważne tylko przez 90 dni od oryginalnej daty publikacji. Jeśli wersja obrazu węzła docelowego wybrana przez przebieg aktualizacji przekracza przedział 90 dni po uaktualnieniu klastra członkowskiego, uaktualnienie tego klastra członkowskiego może zakończyć się niepowodzeniem.
Rozpoczynanie procesu aktualizacji:
Aby uruchomić przebiegi aktualizacji, uruchom następujące polecenie:
az fleet updaterun start \
--resource-group $GROUP \
--fleet-name $FLEET \
--name <run-name>
Aktualizowanie klastrów przy użyciu grup i etapów
Przebieg aktualizacji można zdefiniować przy użyciu etapów aktualizacji, aby sekwencyjnie porządkować stosowanie aktualizacji do różnych grup aktualizacji. Na przykład pierwszy etap aktualizacji może aktualizować klastry członkowskie środowiska testowego, a drugi etap aktualizacji spowoduje zaktualizowanie klastrów składowych środowiska produkcyjnego. Można również określić, jakie zatwierdzenia są wymagane przed lub po każdym etapie, oraz czas oczekiwania między etapami aktualizacji. Tę sekwencję można przechowywać jako szablon w postaci strategii aktualizacji.
W witrynie Azure Portal przejdź do zasobu usługi Azure Kubernetes Fleet Manager.
W menu usługi, w obszarze Ustawienia, wybierz Aktualizacja dla wielu klastrów>Utwórz sesję.
Wprowadź nazwę przebiegu aktualizacji, a następnie wybierz pozycję Etapy dla typu sekwencji aktualizacji.
Wybierz Utwórz etap, a następnie wprowadź nazwę etapu i ustaw zatwierdzenia oraz czas oczekiwania między etapami, jeśli to konieczne.
Wybierz grupy aktualizacji, które mają zostać uwzględnione na tym etapie. Możesz również określić kolejność grup aktualizacji, jeśli chcesz je zaktualizować w określonej sekwencji. Po zakończeniu wybierz Utwórz.
Wybierz jedną z następujących opcji dla zakresu uaktualniania:
- Wersja Kubernetes dla płaszczyzny sterowania i pul węzłów
- Wersja rozwiązania Kubernetes tylko dla płaszczyzny sterowania klastra
- Tylko wersja obrazu węzła
Wybierz jedną z następujących opcji dla Node image:
- Najnowszy obraz: aktualizuje każdy klaster AKS w przebiegu aktualizacji do najnowszego obrazu dostępnego dla tego klastra w jego regionie.
- Spójny obraz: Może się zdarzyć, że podczas aktualizacji klastry AKS będą się znajdować w różnych regionach, gdzie najnowsze dostępne obrazy węzłów mogą się różnić (sprawdź tracker wydań dla uzyskania więcej informacji). Aktualizacja wybiera najnowszy wspólny obraz we wszystkich regionach, aby osiągnąć spójność.
Wybierz pozycję Utwórz , aby utworzyć przebieg aktualizacji.
Określanie etapów i ich kolejności za każdym razem, gdy tworzenie przebiegu aktualizacji może być powtarzalne i kłopotliwe. Strategie aktualizacji upraszczają ten proces, umożliwiając przechowywanie szablonów na potrzeby przebiegów aktualizacji. Aby uzyskać więcej informacji, zobacz tworzenie i używanie strategii aktualizacji.
W menu aktualizacji wielu klastrów wybierz proces aktualizacji, a następnie wybierz Uruchom.
Utwórz plik JSON, aby zdefiniować etapy i grupy dla przebiegu aktualizacji. Oto przykład danych wejściowych z pliku etapów (example-stages.json):
{ "stages": [ { "name": "stage1", "maxAllowedFailures": "2", "groups": [ { "name": "group-1a" }, { "name": "group-1b" }, { "name": "group-1c" } ], "afterStageWaitInSeconds": 3600 }, { "name": "stage2", "groups": [ { "name": "group-2a", "maxAllowedFailures": "1" }, { "name": "group-2b" }, { "name": "group-2c" } ] } ] }Uwaga
Opcjonalne pole
maxAllowedFailuresokreśla, ile niepowodzeń aktualizacji klastrów członkowskich może wystąpić na poziomie etapu lub grupy, zanim segment zostanie oznaczony jako zakończony niepowodzeniem. Jeśli nie ustawiono tej opcji lub"0", każda pojedyncza awaria zatrzymuje proces aktualizacji.To ustawienie ocenia tylko liczbę niepowodzeń, a nie współczynnik powodzenia. W rezultacie grupa może osiągnąć
Completed, nawet jeśli niektórzy lub wszyscy jej członkowie ulegli awarii, o ile skonfigurowany próg nie został przekroczony. Po zakończeniu uruchomienia zawsze przejrzyjFailureCount, statusy członków i komunikaty o błędach.Wartości mogą być stałą liczbą całkowitą (na przykład
"2") lub procentową (na przykład"25%"). Aby uzyskać więcej informacji, zobacz Maksymalna dozwolona liczba niepowodzeń (wersja zapoznawcza).Utwórz przebieg aktualizacji, używając polecenia
az fleet updaterun createz flagą--stages, ustawioną na nazwę pliku JSON, i z wybranymi wartościami dla flag--upgrade-typeoraz--node-image-selection. Następujące polecenie tworzy proces aktualizacji, który uaktualnia wersję Kubernetes dla płaszczyzny kontrolnej i pul węzłów oraz używa najnowszego dostępnego obrazu węzła dla każdego klastra w jego regionie.Flaga
--upgrade-typeobsługuje następujące wartości:-
Fulluaktualnia wersję platformy Kubernetes dla płaszczyzny sterowania i pul węzłów wraz z obrazami węzłów. -
ControlPlaneOnlyUaktualnia tylko wersję platformy Kubernetes dla płaszczyzny sterowania klastra. -
NodeImageOnlyuaktualnia tylko obrazy węzłów.
Flaga
--node-image-selectionobsługuje następujące wartości:-
Latest: aktualizuje każdy klaster AKS w rundzie aktualizacji do najnowszego dostępnego obrazu dla tego klastra w jego regionie. -
Consistent: Może być możliwe, że podczas aktualizacji w klastrach AKS zlokalizowanych w różnych regionach, najnowsze dostępne obrazy węzłów mogą się różnić (sprawdź śledzenie wersji, aby uzyskać więcej informacji). Aktualizacja wybiera najnowszy wspólny obraz we wszystkich regionach, aby osiągnąć spójność.
az fleet updaterun create \ --resource-group $GROUP \ --fleet-name $FLEET \ --name run-1 \ --upgrade-type Full \ --kubernetes-version 1.26.0 \ --node-image-selection Latest \ --stages example-stages.json-
Uruchom przebieg aktualizacji przy użyciu
az fleet updaterun startpolecenia .az fleet updaterun start \ --resource-group $GROUP \ --fleet-name $FLEET \ --name run-1
Tworzenie procesu aktualizacji przy użyciu strategii aktualizacji
Utworzenie przebiegu aktualizacji wymaga określenia etapów, grup, kolejności za każdym razem. Strategie aktualizacji upraszczają ten proces, umożliwiając przechowywanie szablonów na potrzeby przebiegów aktualizacji.
Uwaga
Istnieje możliwość utworzenia wielu przebiegów aktualizacji z unikatowymi nazwami z tej samej strategii aktualizacji.
Strategię aktualizacji można utworzyć przy użyciu jednej z następujących metod:
- Utwórz nową strategię aktualizacji, a następnie odwołaj się do niej podczas tworzenia przebiegu aktualizacji.
- Zapisz strategię aktualizacji podczas tworzenia przebiegu aktualizacji przy użyciu witryny Azure Portal.
Zapisywanie strategii aktualizacji podczas tworzenia przebiegu aktualizacji
Zarządzanie przebiegiem aktualizacji
W poniższych sekcjach opisano sposób zarządzania przebiegiem aktualizacji przy użyciu witryny Azure Portal i interfejsu wiersza polecenia platformy Azure.
Na stronie Aktualizacji wielu klastrów zasobu floty można uruchomić przebieg aktualizacji w stanie Nie uruchomiono lub Niepowodzenie:
Na stronie Aktualizacji wielu klastrów zasobu floty można zatrzymać aktualnie uruchomione lub oczekujące uruchomienie aktualizacji:
W ramach dowolnego procesu aktualizacji w stanie Nie rozpoczęto, Niepowodzenie lub Uruchomiono można wybrać dowolny etap i pominąć aktualizację.
Podobnie można pominąć uaktualnienie na poziomie grupy aktualizacji lub klastra członkowskiego.
Możesz uruchomić przebieg aktualizacji, który jest w stanie Nie uruchomiono lub Niepowodzenie, używając polecenia :
az fleet updaterun start \ --resource-group $GROUP \ --fleet-name $FLEET \ --name <run-name>Aby zatrzymać obecnie działającą aktualizację, użyj polecenia .
az fleet updaterun stop \ --resource-group $GROUP \ --fleet-name $FLEET \ --name <run-name>Etapy aktualizacji lub grupy można pominąć, określając je w flagi
--targetsza pomocąaz fleet updaterun skippolecenia :az fleet updaterun skip \ --resource-group $GROUP \ --fleet-name $FLEET \ --name <run-name> \ --targets Group:my-group-name Stage:my-stage-nameAby uzyskać więcej informacji, zobacz koncepcyjne omówienie stanów przebiegu aktualizacji i pomiń zachowanie przebiegów/etapów/grup.
Automatyzowanie przebiegów aktualizacji przy użyciu profilów automatycznego uaktualniania
Profile automatycznego aktualizowania są używane do automatycznego uruchamiania aktualizacji w klastrach członkowskich, gdy są udostępniane nowe wersje obrazów Kubernetes lub węzłów.
Aby uzyskać więcej informacji na temat konfigurowania profili automatycznej aktualizacji, zobacz automatyzowanie aktualizacji obrazów Kubernetes i węzłów przy użyciu usługi Azure Kubernetes Fleet Manager.
Generowanie procesu aktualizacji na podstawie profilu automatycznej aktualizacji
Podczas tworzenia profilu automatycznego uaktualniania klastry mogą być na różnych wersjach Kubernetes lub obrazu węzła. W zależności od wybranego kanału automatycznego uaktualniania może upłynąć trochę czasu, zanim nowa wersja wyzwoli automatyczne uaktualnienie w celu utworzenia i wykonania uruchomienia aktualizacji.
Automatyczna aktualizacja umożliwia generowanie nowej sesji aktualizacji w dowolnym momencie za pomocą polecenia az fleet autoupgradeprofile generate-update-run. Proces aktualizacji jest oparty na bieżącej wersji obrazu Kubernetes opublikowanej przez AKS lub wersji obrazu węzła.
az fleet autoupgradeprofile generate-update-run \
--resource-group $GROUP \
--fleet-name $FLEET \
--name $AUTOUPGRADEPROFILE
Wygenerowane uruchomienie aktualizacji nie jest uruchamiane automatycznie, co pozwala na jego przejrzenie. Jeśli przebieg wygenerowanej aktualizacji jest zadowalający, możesz uruchomić go i zarządzać nim, wykonując kroki opisane w temacie Zarządzanie uruchomieniem aktualizacji.
Uwaga
Po ręcznym wygenerowaniu przebiegu aktualizacji z profilu automatycznego uaktualniania wynikowy przebieg aktualizacji może już istnieć. Taka sytuacja występuje, ponieważ nazwa przebiegu aktualizacji opiera się na specyfikacji aktualizacji profilu automatycznej aktualizacji, która zmienia się tylko wtedy, gdy zmianie ulegają właściwości, takie jak obraz węzła lub wersja Kubernetes. W tym scenariuszu istniejący przebieg aktualizacji nie jest modyfikowany.