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 mogą kontrolować sekwencję aktualizacji klastrów zarządzanych przez flotę, definiując szereg etapów i grup. Mogą konfigurować, kiedy w tych etapach i grupach powinny występować zatwierdzenia i przerwy. Całą konfigurację można zapisać jako strategię aktualizacji, którą można zarządzać niezależnie od przebiegów aktualizacji lub automatycznych uaktualnień, co pozwala na ponowne użycie strategii zgodnie z potrzebami.
W tym artykule opisano sposób definiowania strategii aktualizacji przy użyciu grup i etapów.
Wymagania wstępne
Zapoznaj się z koncepcyjnym omówieniem aktualizacji floty, który zawiera wyjaśnienie przebiegów aktualizacji, etapów, grup i strategii, 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 Szybki start, aby utworzyć zasób Fleet i dołączyć do klastrów usługi Azure Kubernetes Service (AKS) jako członków.
Ustaw następujące zmienne środowiskowe:
export GROUP=<resource-group> export FLEET=<fleet-name> export CLUSTERID=<aks-cluster-resource-id> export STRATEGY=<strategy-name>Jeśli korzystasz z instrukcji Azure CLI w tym artykule, zainstaluj najnowszą wersję Azure CLI. Aby zainstalować lub uaktualnić, zobacz Instalowanie interfejsu wiersza polecenia platformy Azure.
Potrzebujesz również rozszerzenia
fleetAzure CLI. Aby go zainstalować, uruchom następujące polecenie:az extension add --name fleetUruchom polecenie ,
az extension updateaby zaktualizować do najnowszej wersji wydanego rozszerzenia:az extension update --name fleet
Zainstaluj i skonfiguruj rozwiązanie Terraform.
Instalowanie najnowszej wersji interfejsu wiersza polecenia platformy Azure. Aby zainstalować lub uaktualnić, zobacz Instalowanie interfejsu wiersza polecenia platformy Azure. Użyjesz Azure CLI, aby zweryfikować strategię aktualizacji utworzoną przez program Terraform.
Potrzebujesz również rozszerzenia
fleetAzure CLI. Aby go zainstalować, uruchom następujące polecenie:az extension add --name fleetUruchom polecenie ,
az extension updateaby zaktualizować rozszerzenie do najnowszej wersji.az extension update --name fleetPrzykład Terraform użyty w tym artykule tworzy własną grupę zasobów oraz usługę Azure Kubernetes Fleet Manager bez klastra centralnego. Nie dołącza żadnych klastrów AKS do floty jako jej członków. Strategia aktualizacji przykładu odwołuje się do nazw grup aktualizacji
group-1,group-2igroup-3. Aby strategia miała zastosowanie do rzeczywistych przebiegów aktualizacji, przypisz istniejące klastry członkowskie floty do tych nazw grup aktualizacji lub edytuj bloki przykładugroup, aby były zgodne z własnymi nazwami grup aktualizacji.
Wybieranie klastrów dla strategii
Istnieją dwa sposoby wybierania klastrów uwzględnionych w każdym etapie i grupie strategii aktualizacji w celu kontrolowania sekwencji aktualizacji:
-
Etykiety członków (zalecane): przypisz etykiety do każdego członka floty i użyj
memberSelectordo wybierania członków według tych etykiet. Każdy członek może mieć wiele etykiet. - Grupy aktualizacji: przypisz grupę aktualizacji do każdego członka floty, a następnie zdefiniuj w strategii grupy, które odpowiadają tym nazwom grup. Każdy członek może należeć tylko do jednej grupy.
Tworzenie strategii aktualizacji przy użyciu selekcji członków (podgląd)
Użyj etykiet członków, aby wybierać klastry w strategiach aktualizacji. Zapewniają one większą elastyczność. Aby uzyskać szczegółowe informacje koncepcyjne, zobacz Grupowanie klastrów przy użyciu etykiet składowych.
Ważna
Funkcje wersji zapoznawczej Azure Kubernetes Fleet Manager są dostępne na zasadzie samoobsługi i wymagają wcześniejszego zgłoszenia chęci udziału. 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 Azure Kubernetes Fleet Manager są częściowo objęte pomocą techniczną świadczoną w miarę możliwości. W związku z tym te funkcje nie są przeznaczone do użytku produkcyjnego.
Stosowanie etykiet w klastrach członkowskich
Stosowanie etykiet podczas dodawania klastra członkowskiego do floty
Użyj polecenia az fleet member create, aby przypisać etykiety członkom floty. W poniższym przykładzie do klastra składowego są stosowane dwie etykiety: env=staging i tier=frontend:
az fleet member create \
--resource-group $GROUP \
--fleet-name $FLEET \
--name member1 \
--member-cluster-id $CLUSTERID \
--labels "env=staging tier=frontend"
Przypisz etykiety do istniejącego członka floty
Użyj polecenia az fleet member update, aby przypisać etykiety do elementów floty.
az fleet member update \
--resource-group $GROUP \
--fleet-name $FLEET \
--name member1 \
--labels "env=staging tier=frontend"
Tworzenie strategii aktualizacji
Strategia aktualizacji składa się z co najmniej jednego etapu, w którym etap może zawierać co najmniej jedną grupę aktualizacji.
Uwaga
Środowisko portalu Azure będzie dostępne przed ogólną dostępnością tej funkcji.
Utwórz plik JSON, aby zdefiniować etapy i grupy dla przebiegu aktualizacji. Etapy są uruchamiane sekwencyjnie w kolejności, w której są wyświetlane w pliku JSON. Grupy są uruchamiane równolegle na każdym etapie. Poniższy przykładowy plik (example-labels-strategy.json) definiuje strategię z dwoma etapami, przy użyciu których można
memberSelectorwybierać klastry według etykiet i zawiera opcjonalnemaxConcurrencyustawienia:- Etap
stagingużywa poziomowegomemberSelector, aby wybrać wszystkie klastry z etykietąenv=stagingi utworzyć jedną niejawną grupę. - Etap
productionużywa etapowego poziomumemberSelectordo wstępnego filtrowania wszystkich klastrów z etykietąenv=production, a następnie definiuje dwie grupy, z których każda ma własnememberSelector, aby wybierać klastry na podstawie etykietytier.
Gdy
memberSelectorjest ustawione na grupie, pole grupynamejest używane tylko jako identyfikator wyświetlania do raportowania stanu oraz rejestrowania i nie jest już używane do wyboru członków floty w oparciu o aktualizację grupy.{ "stages": [ { "name": "staging", "memberSelector": { "byLabel": "env=staging" }, "maxConcurrency": "1", "afterStageWaitInSeconds": 600 }, { "name": "production", "memberSelector": { "byLabel": "env=production" }, "maxConcurrency": "4", "groups": [ { "name": "frontend", "memberSelector": { "byLabel": "tier=frontend" }, "maxConcurrency": "3" }, { "name": "backend", "memberSelector": { "byLabel": "tier=backend" }, "maxConcurrency": "3" } ] } ] }- Etap
Uwaga
Pole maxConcurrency jest opcjonalne i określa liczbę klastrów, które mogą być uaktualniane współbieżnie na poziomie etapu lub grupy. Użyj większej wartości, aby szybciej uaktualnić klastry w całej floty lub mniejszą wartość w celu bardziej kontrolowanego wdrożenia, które ogranicza promień wybuchu, jeśli wystąpią problemy.
Kiedy etap używa memberSelector bez grup (takich jak staging), wszyscy pasujący członkowie tworzą pojedynczą niejawną grupę, a maxConcurrency etapu bezpośrednio kontroluje współbieżność. Gdy grupy są zdefiniowane (na przykład production), poziom maxConcurrency etapu działa jako ogólny limit we wszystkich grupach.
W tym przykładzie etap staging ustawia maxConcurrency na "1", więc klastry przejściowe są uaktualniane pojedynczo. Etap production pozwala na równoczesne użycie do "4" klastrów z grupami frontend i backend, z każdą z tych grup ograniczoną do "3".
Wartości mogą być stałą liczbą całkowitą (na przykład "3") lub procentową (na przykład "50%"). W przypadku pominięcia system stosuje wartości domyślne. Aby uzyskać szczegółowe informacje na temat sposobu rozwiązywania tych wartości i ich wyższych limitów, zobacz Maksymalna współbieżność (wersja zapoznawcza).
Utwórz nową strategię aktualizacji, korzystając z polecenia
az fleet updatestrategy createz flagą--stagesustawioną na nazwę pliku JSON.az fleet updatestrategy create \ --resource-group $GROUP \ --fleet-name $FLEET \ --name $STRATEGY \ --stages example-labels-strategy.json
Tworzenie strategii aktualizacji przy użyciu grup aktualizacji
Klastry można wybrać w strategiach aktualizacji, przypisując je do pojedynczej grupy aktualizacji. Zdefiniuj strategię aktualizacji, która przypisuje te grupy aktualizacji do etapów. W ramach etapu aktualizacji aktualizacje są stosowane równolegle do każdej grupy aktualizacji. W grupie aktualizacji klastry członkowskie są aktualizowane sekwencyjnie.
Uwaga
Element członkowski floty może należeć tylko do jednej grupy aktualizacji, ale grupa aktualizacji może mieć przypisanych do niej wielu członków floty. Sama grupa aktualizacji nie jest oddzielnym typem zasobu. Grupy aktualizacji to tylko ciągi reprezentujące odwołania od członków floty. Jeśli wszyscy członkowie floty z odwołaniami do wspólnej grupy aktualizacji zostaną usunięci, ta określona grupa aktualizacji przestanie istnieć.
Przypisywanie klastrów do grup aktualizacji
Przypisywanie do grupy podczas dodawania klastra członkowskiego do floty
W witrynie Azure Portal przejdź do zasobu usługi Azure Kubernetes Fleet Manager.
Z menu usługi w obszarze Ustawienia, wybierz pozycję Klastry członkowskie>Dodaj.
Wybierz klaster, który chcesz dodać, a następnie wybierz pozycję Dalej: Przejrzyj i dodaj.
Wprowadź nazwę grupy aktualizacji, do której chcesz przypisać klaster, a następnie wybierz pozycję Dodaj.
Przypisz klaster członkowski do grupy aktualizacji podczas dodawania klastra członkowskiego do floty przy użyciu az fleet member create polecenia z parametrem --update-group ustawionym na nazwę grupy aktualizacji.
az fleet member create \
--resource-group $GROUP \
--fleet-name $FLEET \
--name member1 \
--member-cluster-id $CLUSTERID \
--update-group group-1a
Przypisywanie istniejącego członka floty do grupy aktualizacji
W witrynie Azure Portal przejdź do zasobu usługi Azure Kubernetes Fleet Manager.
Z menu usługi w obszarze Ustawienia wybierz pozycję Klastry członkowskie.
Wybierz klastry, które chcesz przypisać do grupy aktualizacji, a następnie wybierz pozycję Przypisz grupę aktualizacji
Wprowadź nazwę grupy aktualizacji, do której chcesz przypisać klaster, a następnie wybierz pozycję Przypisz.
Przypisz istniejącego członka floty do grupy aktualizacji, używając polecenia az fleet member update z flagą --update-group ustawioną na nazwę grupy aktualizacji.
az fleet member update \
--resource-group $GROUP \
--fleet-name $FLEET \
--name member1 \
--update-group group-1
Tworzenie strategii aktualizacji
Strategia aktualizacji składa się z co najmniej jednego etapu, w którym etap może zawierać co najmniej jedną grupę aktualizacji.
W witrynie Azure Portal przejdź do zasobu usługi Azure Kubernetes Fleet Manager.
W menu usługi, w obszarze Ustawienia, wybierz Aktualizacja wielu klastrówStrategie, a następnie >.
Wprowadź nazwę strategii.
Podczas pierwszego wyświetlania strony zostanie wyświetlony diagram objaśnienia strategii aktualizacji, który może pomóc w wizualizacji sposobu działania strategii.
Wybierz Utwórz etap i wprowadź:
- Nazwa etapu — nazwa etapu — musi być unikatowa we wszystkich nazwach etapów w strategii.
- (Opcjonalnie) Zatwierdzenia etapu — wybierz tę opcję, jeśli chcesz poczekać na zatwierdzenie przed rozpoczęciem tego etapu lub po jego zakończeniu. Aby uzyskać dodatkowe informacje, zobacz Dodawanie zatwierdzeń do aktualizowania grup i etapów.
- (Opcjonalnie) Wstrzymaj po etapie — wybierz tę opcję, jeśli chcesz zdefiniować pauzę przed przejściem do następnego etapu.
- (Opcjonalnie) Czas trwania wstrzymania — wybierz wstępnie zdefiniowany czas trwania lub wprowadź wartość niestandardową w sekundach.
Przypisz co najmniej jedną grupę aktualizacji do etapu, a następnie wybierz pozycję Utwórz.
Uwaga
Maksymalna liczba grup aktualizacji w każdym etapie aktualizacji to 50.
W tym scenariuszu tworzymy etapy i grupy, aby dopasować je do specyfikacji używanych w procesie w portalu Azure.
Utwórz plik JSON, aby zdefiniować etapy i grupy dla przebiegu aktualizacji. Etapy są uruchamiane sekwencyjnie w kolejności, w której są wyświetlane w pliku JSON. Grupy są uruchamiane równolegle w każdym etapie, więc kolejność nie jest ważna. Poniższy przykładowy plik (example-stages.json) definiuje strategię z dwoma etapami i zawiera opcjonalne
maxConcurrencyimaxAllowedFailuresustawienia:{ "stages": [ { "name": "stage-1", "maxConcurrency": "7", "maxAllowedFailures": "2", "groups": [ { "name": "group-1", "maxConcurrency": "3", "maxAllowedFailures": "1" }, { "name": "group-2", "maxConcurrency": "50%", "maxAllowedFailures": "25%" } ], "afterStageWaitInSeconds": 300 }, { "name": "stage-2", "maxConcurrency": "100%", "maxAllowedFailures": "0", "groups": [ { "name": "group-3", "maxConcurrency": "2", "maxAllowedFailures": "0" } ] } ] }maxConcurrencyPole
maxConcurrencyjest opcjonalne i określa liczbę klastrów, które mogą być uaktualniane współbieżnie na poziomie etapu lub grupy. Użyj większej wartości, aby szybciej zaktualizować klastry we flocie, lub mniejszej, aby wdrażanie było bardziej kontrolowane i ograniczało skalę skutków w razie wystąpienia problemów.W tym przykładzie
stage-1ustawiamaxConcurrencyna"7", co umożliwia współbieżnie uaktualnianie do"7"klastrów na tym etapie.stage-1W programiegroup-1limituje współbieżność do"3"klastrów, co oznacza, że w tej grupie do"3"można uaktualniać jednocześnie.group-2umożliwia współbieżne uaktualnienie do"50%"swoich klastrów (na przykład jeśli grupa zawiera 4 klastry, maksymalnie 2 może być uaktualnionych w tym samym czasie).Wartości mogą być stałą liczbą całkowitą (na przykład
"3") lub procentową (na przykład"100%"). W przypadku pominięcia system stosuje wartości domyślne. Aby uzyskać szczegółowe informacje na temat sposobu rozwiązywania tych wartości i ich wyższych limitów, zobacz Maksymalna współbieżność (wersja zapoznawcza).maxAllowedFailuresPole
maxAllowedFailuresjest opcjonalne i określa, ile niepowodzeń aktualizacji klastrów członkowskich jest dopuszczalnych, zanim grupa lub etap zostaną oznaczone jako nieudane. Domyślnie (w przypadku braku ustawienia lub"0") pojedynczy błąd zatrzymuje cały przebieg aktualizacji.To ustawienie ocenia tylko liczbę niepowodzeń. Nie wymusza minimalnego współczynnika powodzenia. Grupa lub etap może zatem zakończyć się w
Completed, nawet jeśli u niektórych lub wszystkich członków wystąpiło niepowodzenie, o ile w chwili, gdy Fleet podejmował decyzje dotyczące planowania, próg niepowodzeń nie został przekroczony.W tym przykładzie
stage-1ustawiamaxAllowedFailuresna"2", co pozwala tolerować maksymalnie dwie awarie członków na całym etapie. W obrębiestage-1składnikgroup-1toleruje awarię"1", a składnikgroup-2toleruje awarię"25%"swoich członków (na przykład jeśli grupa zawiera 4 klastry, tolerowana jest maksymalnie 1 awaria).stage-2ustawiamaxAllowedFailuresna"0", co oznacza, że każde niepowodzenie natychmiast przerywa wykonywanie, co jest często przydatne na etapach produkcyjnych.W przypadku większości wdrożeń wybieraj wartości procentowe, ponieważ lepiej się skalują przy różnej wielkości grup. Unikaj ustawiania wartości równej całkowitej liczbie członków, chyba że celowo chcesz uzyskać efekt, w którym ten segment w praktyce nigdy nie kończy się niepowodzeniem.
Wartości mogą być stałą liczbą całkowitą (na przykład
"3") lub procentową (na przykład"25%"). Aby uzyskać szczegółowe informacje na temat sposobu rozwiązywania tych wartości, zobacz Maksymalna dozwolona liczba niepowodzeń (wersja zapoznawcza).Utwórz nową strategię aktualizacji, korzystając z polecenia
az fleet updatestrategy createz flagą--stagesustawioną na nazwę pliku JSON.az fleet updatestrategy create \ --resource-group $GROUP \ --fleet-name $FLEET \ --name $STRATEGY \ --stages example-stages.json
Przykład narzędzia Terraform w tej sekcji tworzy tę samą dwuetapową strukturę strategii, którą pokazano w poprzednim przykładzie interfejsu wiersza polecenia Azure CLI: stage-1 zawiera group-2 i stage-2, które są aktualizowane równolegle, po czym następuje 300-sekundowe oczekiwanie, a następnie group-3 aktualizuje group-1. W przeciwieństwie do przykładu JSON dla interfejsu wiersza polecenia ten przykład nie ustawia maxAllowedFailures ani maxConcurrency na żadnym etapie ani w żadnej grupie, więc Fleet stosuje wartości domyślne. Aby dodać te ustawienia, rozszerz bloki stage i group w main.tf za pomocą odpowiednich argumentów azurerm_kubernetes_fleet_update_strategy.
Przejrzyj kod narzędzia Terraform
Uwaga
Przykładowy kod dla tego artykułu znajduje się w repozytorium Azure Terraform na GitHubie. Wyświetl plik dziennika zawierający wyniki testu z bieżących i poprzednich wersji programu Terraform.
Zobacz więcej artykułów i przykładowego kodu pokazującego, jak zarządzać zasobami platformy Azure przy użyciu narzędzia Terraform.
Utwórz katalog, aby przetestować przykładowy kod narzędzia Terraform i utworzyć go jako bieżący katalog.
Utwórz plik o nazwie
providers.tfi wstaw następujący kod:terraform { required_version = ">= 1.9.0" required_providers { azurerm = { source = "hashicorp/azurerm" version = "~> 4.77" } random = { source = "hashicorp/random" version = "~> 3.0" } } } provider "azurerm" { features {} }Utwórz plik o nazwie
variables.tfi wstaw następujący kod:variable "location" { type = string description = "Azure region where the resource group and Fleet Manager are created." default = "eastus" } variable "resource_group_name" { type = string description = "Name of the resource group. If null, a unique name is generated." default = null } variable "fleet_name" { type = string description = "Name of the Azure Kubernetes Fleet Manager. If null, a unique name is generated." default = null } variable "update_strategy_name" { type = string description = "Name of the Fleet update strategy." default = "example-update-strategy" } variable "tags" { type = map(string) description = "Tags to apply to created resources." default = { environment = "demo" managed_by = "terraform" } }Utwórz plik o nazwie
main.tfi wstaw następujący kod:resource "random_string" "suffix" { length = 6 lower = true numeric = true special = false upper = false } locals { resource_group_name = coalesce(var.resource_group_name, "rg-fleet-update-strategy-${random_string.suffix.result}") fleet_name = coalesce(var.fleet_name, "fleet-update-strategy-${random_string.suffix.result}") } resource "azurerm_resource_group" "example" { name = local.resource_group_name location = var.location tags = var.tags } resource "azurerm_kubernetes_fleet_manager" "example" { name = local.fleet_name location = azurerm_resource_group.example.location resource_group_name = azurerm_resource_group.example.name tags = var.tags } resource "azurerm_kubernetes_fleet_update_strategy" "example" { name = var.update_strategy_name kubernetes_fleet_manager_id = azurerm_kubernetes_fleet_manager.example.id stage { name = "stage-1" group { name = "group-1" } group { name = "group-2" } after_stage_wait_in_seconds = 300 } stage { name = "stage-2" group { name = "group-3" } } }Utwórz plik o nazwie
outputs.tfi wstaw następujący kod:output "resource_group_name" { description = "Name of the created resource group." value = azurerm_resource_group.example.name } output "fleet_manager_id" { description = "Resource ID of the Azure Kubernetes Fleet Manager." value = azurerm_kubernetes_fleet_manager.example.id } output "fleet_manager_name" { description = "Name of the Azure Kubernetes Fleet Manager." value = azurerm_kubernetes_fleet_manager.example.name } output "update_strategy_id" { description = "Resource ID of the Fleet update strategy." value = azurerm_kubernetes_fleet_update_strategy.example.id }Skopiuj plik przykładu
terraform.tfvars.exampledoterraform.tfvarsw tym samym katalogu, a następnie edytuj wartości dla regionu Azure, nazwy grupy zasobów, nazwy floty, nazwy strategii aktualizacji i tagów, których chcesz użyć.cp terraform.tfvars.example terraform.tfvars
Inicjowanie, weryfikowanie i stosowanie konfiguracji
Uruchom terraform init, aby zainicjalizować wdrożenie Terraform. To polecenie pobiera dostawców Azure wymaganych do zarządzania zasobami Azure.
terraform init
Uruchom narzędzie terraform fmt , aby spójnie sformatować pliki konfiguracji.
terraform fmt
Uruchom terraform validate, aby sprawdzić, czy pliki konfiguracji są poprawne składniowo.
terraform validate
Uruchom terraform plan, aby utworzyć plan realizacji.
terraform plan -out main.tfplan
Uruchom terraform apply, aby zastosować plan wykonawczy do infrastruktury chmury.
terraform apply main.tfplan
Weryfikowanie strategii aktualizacji
Pobierz grupę zasobów i nazwy menedżerów floty z danych wyjściowych programu Terraform i wyodrębnij nazwę strategii z danych wyjściowych update_strategy_id .
resource_group_name=$(terraform output -raw resource_group_name)
fleet_manager_name=$(terraform output -raw fleet_manager_name)
update_strategy_name=$(terraform output -raw update_strategy_id | awk -F'/' '{print $NF}')
Pokaż etapy i grupy strategii przy użyciu az fleet updatestrategy show polecenia .
az fleet updatestrategy show \
--resource-group $resource_group_name \
--fleet-name $fleet_manager_name \
--name $update_strategy_name
Tablica stages w danych wyjściowych polecenia pokazuje stage-1 z group-1 i group-2 oraz wartość 300 równą afterStageWaitInSeconds, po czym następuje stage-2 z group-3, zgodnie ze strategią zdefiniowaną w main.tf.
Uprzątnij zasoby
Uruchom terraform plan za pomocą flagi -destroy, aby utworzyć plan wykonania zniszczenia zasobów.
terraform plan -destroy -out main.destroy.tfplan
Uruchom terraform apply, aby zastosować plan niszczenia.
terraform apply main.destroy.tfplan
Warning
To polecenie usuwa strategię aktualizacji, Azure Kubernetes Fleet Manager i grupę zasobów utworzoną przez ten przykład, a nie tylko strategię. Upewnij się, że grupa zasobów nie zawiera innych zasobów, które chcesz zachować przed uruchomieniem tego polecenia.
Następne kroki
Strategię aktualizacji można użyć w ramach ręcznego uruchomienia aktualizacji lub profilu automatycznego uaktualniania. Zobacz:
- Jak: uaktualnić wiele klastrów, korzystając z przebiegów aktualizacji za pomocą Azure Kubernetes Fleet Manager.
- Instrukcje: dodawanie zatwierdzeń do strategii aktualizacji usługi Azure Kubernetes Fleet Manager.
- Instrukcje: automatyczne uaktualnianie wielu klastrów przy użyciu usługi Azure Kubernetes Fleet Manager.
- Często zadawane pytania dotyczące aktualizacji wielu klastrów.