Automatyzuj uaktualnienia obrazów Kubernetes i węzłów w wielu klastrach za pomocą Azure Kubernetes Fleet Manager

Dotyczy: ✔️ Fleet Manager ✔️ Fleet Manager z klastrem koncentratora

Aktualizowanie klastrów na bieżąco i w sposób bezpieczny jest jedną z głównych kwestii dla administratorów platformy. Gdy zaczniesz korzystać z funkcji Azure Kubernetes Fleet Manager Update Runs i Strategies, możesz używać profili automatycznego uaktualniania do automatyzowania wykonywania przebiegów aktualizacji po wydaniu nowych wersji Kubernetes lub obrazów węzłów.

W tym artykule wyjaśniono, jak korzystać z profilów automatycznego uaktualniania, aby automatycznie tworzyć i wykonywać procesy aktualizacji, gdy usługa Azure Kubernetes Service (AKS) udostępnia nowe wersje Kubernetes lub obrazu węzła.

Uwaga

Automatyczne aktualizacje wywołane procesem uaktualniania uwzględniają planowane terminy konserwacji, które konfigurujesz na poziomie klastra AKS. Aby uzyskać więcej informacji, zobacz planowaną konserwację w wielu klastrach członkowskich, aby dowiedzieć się, w jaki sposób procesy aktualizacji obsługują klastry członkowskie ze skonfigurowanymi zaplanowanymi oknami konserwacji.

Zanim rozpoczniesz

  • Ustaw następujące zmienne środowiskowe do użycia w poleceniach interfejsu wiersza polecenia platformy Azure:

    export GROUP=<resource-group>
    export FLEET=<fleet-name>
    export AUTOUPGRADEPROFILE=<upgrade-profile-name>
    # Optional
    export STRATEGYID=<strategy-id>
    export CLUSTER=<aks-cluster-name>
    
  • Zainstaluj najnowszą wersję Azure CLI. Aby zainstalować lub uaktualnić, zobacz Instalowanie interfejsu wiersza polecenia platformy Azure.

  • Zainstaluj najnowsze fleet rozszerzenie Azure CLI. Użyj polecenia , az extension add aby zainstalować rozszerzenie.

    az extension add --name fleet
    

    az extension update Użyj polecenia , aby zaktualizować rozszerzenie do najnowszej wersji.

    az extension update --name fleet
    
  • Zainstaluj i skonfiguruj rozwiązanie Terraform.

  • Zainstaluj najnowszą wersję Azure CLI. Aby zainstalować lub uaktualnić, zobacz Instalowanie interfejsu wiersza polecenia platformy Azure. Użyjesz Azure CLI, aby zweryfikować profil automatycznego uaktualniania utworzony przez narzędzie Terraform.

  • Zainstaluj najnowsze fleet rozszerzenie Azure CLI. Użyj polecenia , az extension add aby zainstalować rozszerzenie.

    az extension add --name fleet
    

    az extension update Użyj polecenia , aby zaktualizować rozszerzenie do najnowszej wersji.

    az extension update --name fleet
    
  • Przykład terraform używany w tym artykule tworzy własną grupę zasobów i Azure Kubernetes Fleet Manager i nie dołącza żadnych klastrów usługi AKS jako członków floty. Aby przetestować utworzony profil automatycznego uaktualniania w rzeczywistych przebiegach aktualizacji, po zastosowaniu przykładu dołącz istniejące klastry AKS jako członków floty. Aby uzyskać więcej informacji, zobacz przewodnik Szybki start.

Uwaga

Klastry z pulami agentów utworzonymi na podstawie migawek puli węzłów są pod wpływem w następujący sposób, w zależności od wybranego kanału automatycznej aktualizacji i opcji obrazu węzła:

  • Kanał obrazu węzła: obraz węzła jest uaktualniany do wersji określonej przez usługę Fleet Manager. Odwołanie do migawki (creationData) jest usuwane z puli agentów.
  • Stabilne, szybkie lub docelowe kanały wersji pomocniczej platformy Kubernetes z obrazem węzła ustawionym na:
    • Spójny obraz: obraz węzła jest uaktualniany do wersji określonej przez Fleet Manager. Odwołanie do migawki (creationData) jest usuwane z puli agentów.
    • Najnowsza wersja obrazu: pula agentów zachowuje odwołanie do migawki (creationData), a obraz węzła pozostaje niezmieniony.

Aby uzyskać więcej informacji, zobacz Opis aktualizacji obrazów i migawek węzłów.

Tworzenie profilów automatycznego uaktualniania

Utwórz profile automatycznej aktualizacji za pomocą polecenia az fleet autoupgradeprofile create.

Profil automatycznego uaktualniania można wyłączyć, dołączając flagę --disabled do polecenia az fleet autoupgradeprofile create. Aby ponownie włączyć wyłączony profil automatycznej aktualizacji, ponownie uruchom polecenie az fleet autoupgradeprofile create bez flagi --disabled.

Uwaga

Wyłączenie profilu automatycznej aktualizacji nie wpływa na żadne trwające procesy aktualizacji. Jednak proces zatrzymuje generowanie nowych aktualizacji do momentu ponownego uruchomienia profilu.

Aktualizacje stabilnego kanału Kubernetes

Zaktualizuj do najnowszej obsługiwanej wersji poprawki Kubernetes w wersji mniejszej N-1, gdzie N jest najnowszą obsługiwaną wersją mniejszą.

Zaktualizuj klastry członkowskie po kolei

Zaktualizuj klastry członkowskie sekwencyjnie przy użyciu az fleet autoupgradeprofile create polecenia .

az fleet autoupgradeprofile create \
  --resource-group $GROUP \
  --fleet-name $FLEET \
  --name $AUTOUPGRADEPROFILE \
  --channel Stable

Aktualizowanie klastrów członkowskich przy użyciu istniejącej strategii aktualizacji

Zaktualizuj klastry członkowskie przy użyciu istniejącej strategii aktualizacji. Użyj polecenia az fleet autoupgradeprofile create z parametrem --update-strategy-id ustawionym na identyfikator istniejącej strategii aktualizacji.

az fleet autoupgradeprofile create \
  --resource-group $GROUP \
  --fleet-name $FLEET \
  --name $AUTOUPGRADEPROFILE \
  --update-strategy-id $STRATEGYID \
  --channel Stable

Aktualizowanie klastrów członkowskich przy użyciu istniejącej strategii aktualizacji ze spójnym obrazem węzła

Zaktualizuj klastry członkowskie przy użyciu istniejącej strategii aktualizacji i upewnij się, że ta sama wersja obrazu węzła jest używana w każdym regionie Azure. Użyj polecenia az fleet autoupgradeprofile create z parametrem --node-image-selection ustawionym na Consistent. Wszystkie klastry członkowskie uruchamiają tę samą wersję obrazu węzła.

az fleet autoupgradeprofile create \
  --resource-group $GROUP \
  --fleet-name $FLEET \
  --name $AUTOUPGRADEPROFILE \
  --update-strategy-id $STRATEGYID \
  --channel Stable \
  --node-image-selection Consistent

Zaktualizuj klastry członkowskie za pomocą istniejącej strategii aktualizacji i najnowszego obrazu węzła

Zaktualizuj klastry członkowskie przy użyciu istniejącej strategii aktualizacji i upewnij się, że dla każdego regionu Azure jest używana najnowsza dostępna wersja obrazu węzła. Użyj polecenia az fleet autoupgradeprofile create z parametrem --node-image-selection ustawionym na Latest. Klastry członkowskie mogą uruchamiać wiele wersji obrazów węzłów.

az fleet autoupgradeprofile create \
  --resource-group $GROUP \
  --fleet-name $FLEET \
  --name $AUTOUPGRADEPROFILE \
  --update-strategy-id $STRATEGYID \
  --channel Stable \
  --node-image-selection Latest

Aktualizacje kanału obrazu węzła

Zaktualizuj węzły przy użyciu nowo poprawionego obrazu maszyny, który zawiera poprawki zabezpieczeń i poprawki błędów.

Aktualizuj obrazy węzłów po kolei

Zaktualizuj obrazy węzłów w klastrach członkowskich sekwencyjnie za pomocą polecenia az fleet autoupgradeprofile create.

az fleet autoupgradeprofile create \
  --resource-group $GROUP \
  --fleet-name $FLEET \
  --name $AUTOUPGRADEPROFILE \
  --channel NodeImage

Aktualizowanie obrazów węzłów przy użyciu istniejącej strategii aktualizacji

Aktualizacja obrazów węzłów dla klastrów członkowskich przy użyciu istniejącej strategii aktualizacji. Użyj polecenia az fleet autoupgradeprofile create i ustaw parametr --update-strategy-id na wartość identyfikatora istniejącej strategii aktualizacji.

az fleet autoupgradeprofile create \
  --resource-group $GROUP \
  --fleet-name $FLEET \
  --name $AUTOUPGRADEPROFILE \
  --update-strategy-id $STRATEGYID \
  --channel NodeImage 

Docelowe aktualizacje wersji pomocniczej platformy Kubernetes

Zaktualizuj do zdefiniowanej docelowej pomniejszej wersji Kubernetes przy użyciu parametru --target-kubernetes-version. Podaj wersję w formacie {major version}.{minor version} (na przykład 1.33). Funkcja automatycznej aktualizacji Fleet Manager automatycznie aktualizuje klastry należące do najnowszej wersji poprawkowej określonej wersji docelowej, gdy jest ona dostępna.

Ważne

Podczas korzystania z kanału docelowej pomniejszej wersji Kubernetes należy pamiętać o poniższych kwestiach:

  • Należy określić --target-kubernetes-version parametr . Ten parametr nie jest obsługiwany w przypadku innych kanałów automatycznego uaktualniania (szybki, stabilny, obraz węzła i poprawka zabezpieczeń).
  • Flaga --long-term-support długoterminowego wsparcia (LTS) jest dostępna tylko podczas korzystania z kanału docelowej pomocniczej wersji Kubernetes. W przypadku innych kanałów ustaw tę flagę na False.
  • Dla profilu automatycznego uaktualniania z flagą można wybrać tylko wersje LTS Kubernetes (--long-term-support). Aby automatyczne uaktualnianie Fleet nadal działało w tym scenariuszu, upewnij się, że wszystkie klastry w wygenerowanym uruchomieniu aktualizacji mają włączoną obsługę LTS. Klastry inne niż LTS powodują, że uruchomienie aktualizacji kończy się niepowodzeniem po napotkaniu pierwszego klastra innego niż LTS.
  • Nie można ustawić docelowej wersji Kubernetes na wersję Kubernetes, której AKS jeszcze nie udostępnił.

Aktualizowanie klastrów członkowskich do określonej mniejszej wersji Kubernetes

Zaktualizuj klastry składowe do określonej podrzędnej wersji platformy Kubernetes za pomocą polecenia az fleet autoupgradeprofile create z parametrem --target-kubernetes-version ustawionym na żądaną wersję. Poniższy przykład aktualizuje klastry członkowskie do platformy Kubernetes w wersji 1.33.

az fleet autoupgradeprofile create \
  --resource-group $GROUP \
  --fleet-name $FLEET \
  --name $AUTOUPGRADEPROFILE \
  --channel TargetKubernetesVersion \
  --target-kubernetes-version "1.33"

Aktualizowanie klastrów członkowskich przy użyciu protokołu LTS włączonego do określonej wersji pomocniczej platformy Kubernetes

Zaktualizuj klastry członkowskie z włączoną obsługą LTS do określonej wersji podrzędnej Kubernetes za pomocą polecenia az fleet autoupgradeprofile create z parametrem --target-kubernetes-version ustawionym na żądaną wersję i z włączoną flagą --long-term-support. Poniższy przykład aktualizuje klastry członkowskie do platformy Kubernetes w wersji 1.29 z włączoną obsługą protokołu LTS.

az fleet autoupgradeprofile create \
  --resource-group $GROUP \
  --fleet-name $FLEET \
  --name $AUTOUPGRADEPROFILE \
  --channel TargetKubernetesVersion \
  --target-kubernetes-version "1.29" \
  --long-term-support

Aktualizacje kanału poprawek zabezpieczeń

Aktualizowanie węzłów systemu Linux przy użyciu poprawek zabezpieczeń. Stosowanie aktualizacji przy użyciu poprawek na żywo, jeśli to możliwe. W przeciwnym razie wdróż nowo poprawiony obraz maszyny zawierający poprawki zabezpieczeń.

Aktualizuj węzły poprawkami zabezpieczeń po kolei

Zaktualizuj obrazy węzłów w klastrach członkowskich sekwencyjnie za pomocą polecenia az fleet autoupgradeprofile create.

az fleet autoupgradeprofile create \
  --resource-group $GROUP \
  --fleet-name $FLEET \
  --name $AUTOUPGRADEPROFILE \
  --channel SecurityPatch

Aktualizowanie węzłów za pomocą poprawek zabezpieczeń przy użyciu istniejącej strategii aktualizacji

Aktualizacja obrazów węzłów dla klastrów członkowskich przy użyciu istniejącej strategii aktualizacji. Użyj polecenia az fleet autoupgradeprofile create i ustaw parametr --update-strategy-id na wartość identyfikatora istniejącej strategii aktualizacji.

az fleet autoupgradeprofile create \
  --resource-group $GROUP \
  --fleet-name $FLEET \
  --name $AUTOUPGRADEPROFILE \
  --update-strategy-id $STRATEGYID \
  --channel SecurityPatch 

Wyświetlanie profili automatycznej aktualizacji

Profile automatycznej aktualizacji są zasobami na poziomie floty. Nie są one przypisane bezpośrednio do poszczególnych klastrów AKS. Aby określić, które profile mogą aktualizować klastry AKS, należy najpierw wyświetlić listę członków floty i potwierdzić, że klastry są członkami floty.

az fleet member list \
  --resource-group $GROUP \
  --fleet-name $FLEET \
  --query "[].{memberName:name,clusterResourceId:clusterResourceId}" \
  --output table

Wyświetl listę wszystkich profilów automatycznego uaktualniania dla floty przy użyciu az fleet autoupgradeprofile list polecenia .

az fleet autoupgradeprofile list \
  --resource-group $GROUP \
  --fleet-name $FLEET \
  --output table

Pokaż określony profil automatycznego uaktualniania floty przy użyciu az fleet autoupgradeprofile show polecenia . Sprawdź kanał, stan i updateStrategyId w danych wyjściowych.

az fleet autoupgradeprofile show \
  --resource-group $GROUP \
  --fleet-name $FLEET \
  --name $AUTOUPGRADEPROFILE

Jeśli updateStrategyId jest pusty, profil używa sekwencji aktualizacji Po kolei i uwzględnia klastry członkowskie floty kolejno. Jeśli updateStrategyId zawiera identyfikator zasobu, wyświetl strategię, do której prowadzi odwołanie, aby przejrzeć etapy, grupy lub selektory członków, które określają, których członków floty obejmują wygenerowane uruchomienia aktualizacji.

PROFILE_STRATEGY_ID=$(az fleet autoupgradeprofile show \
  --resource-group $GROUP \
  --fleet-name $FLEET \
  --name $AUTOUPGRADEPROFILE \
  --query updateStrategyId \
  --output tsv)

if [[ -n "$PROFILE_STRATEGY_ID" ]]; then
  az fleet updatestrategy show \
    --resource-group $GROUP \
    --fleet-name $FLEET \
    --name "${PROFILE_STRATEGY_ID##*/}"
fi

Usuwanie profilu automatycznego uaktualniania

Użyj polecenia , az fleet autoupgradeprofile delete aby usunąć istniejący profil automatycznego uaktualniania. Po uruchomieniu tego polecenia zostanie wyświetlony monit o potwierdzenie usunięcia. Aby pominąć potwierdzenie i natychmiast usunąć profil, dodaj --yes do polecenia.

az fleet autoupgradeprofile delete \
  --resource-group $GROUP \
  --fleet-name $FLEET \
  --name $AUTOUPGRADEPROFILE

Uwaga

Usunięcie profilu automatycznego uaktualniania nie ma wpływu na żadne procesy aktualizacji w toku.

Tworzenie profilów automatycznego uaktualniania

Przykład kodu Terraform w tej sekcji tworzy grupę zasobów, menedżera Azure Kubernetes Fleet Manager (bez klastra centralnego) oraz profil automatycznej aktualizacji floty. Domyślnie profil używa kanału Stable z opcją wyboru obrazu węzła Latest i jest włączony. Ustaw zmienne auto_upgrade_channel, auto_upgrade_disabled, node_image_selection, target_kubernetes_version i long_term_support tak, aby odpowiadały kanałowi i opcjom opisanym w poprzednich sekcjach. Przykład nie ustawia strategii aktualizacji, więc wynikowy profil zawsze stosuje sekwencję aktualizacji Jeden po drugim.

Przejrzyj kod narzędzia Terraform

  1. Utwórz katalog, aby przetestować przykładowy kod narzędzia Terraform i utworzyć go jako bieżący katalog.

  2. 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.0"
        }
        azapi = {
          source  = "Azure/azapi"
          version = "~> 2.0"
        }
        random = {
          source  = "hashicorp/random"
          version = "~> 3.0"
        }
      }
    }
    
    provider "azurerm" {
      features {}
    }
    
    provider "azapi" {
    }
    
  3. 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 "auto_upgrade_profile_name" {
      type        = string
      description = "Name of the Fleet auto-upgrade profile. If null, a unique name is generated."
      default     = null
    }
    
    variable "auto_upgrade_channel" {
      type        = string
      description = "Auto-upgrade channel used by the profile."
      default     = "Stable"
    
      validation {
        condition     = contains(["Rapid", "Stable", "NodeImage", "TargetKubernetesVersion"], var.auto_upgrade_channel)
        error_message = "Auto-upgrade channel must be one of: Rapid, Stable, NodeImage, TargetKubernetesVersion."
      }
    }
    
    variable "target_kubernetes_version" {
      type        = string
      description = "Target Kubernetes version in major.minor format, for example 1.31. Required when auto_upgrade_channel is TargetKubernetesVersion; otherwise leave null."
      default     = null
    
      validation {
        condition     = var.target_kubernetes_version == null || can(regex("^[0-9]+\\.[0-9]+$", var.target_kubernetes_version))
        error_message = "Target Kubernetes version must be in major.minor format, for example 1.31."
      }
    
      validation {
        condition     = var.auto_upgrade_channel != "TargetKubernetesVersion" || var.target_kubernetes_version != null
        error_message = "Target Kubernetes version is required when auto_upgrade_channel is TargetKubernetesVersion."
      }
    }
    
    variable "node_image_selection" {
      type        = string
      description = "Node image selection type. Latest uses the newest image per region; Consistent waits for the same image version across all member regions."
      default     = "Latest"
    
      validation {
        condition     = contains(["Latest", "Consistent"], var.node_image_selection)
        error_message = "Node image selection must be either Latest or Consistent."
      }
    }
    
    variable "auto_upgrade_disabled" {
      type        = bool
      description = "Set to true to stop the profile from creating new automatic update runs. In-progress update runs aren't cancelled."
      default     = false
    }
    
    variable "long_term_support" {
      type        = bool
      description = "Whether the profile targets long-term support Kubernetes versions. Only supported on the TargetKubernetesVersion channel."
      default     = false
    
      validation {
        condition     = !var.long_term_support || var.auto_upgrade_channel == "TargetKubernetesVersion"
        error_message = "Long-term support can only be enabled when auto_upgrade_channel is TargetKubernetesVersion."
      }
    }
    
    variable "tags" {
      type        = map(string)
      description = "Tags to apply to created resources."
      default = {
        environment = "demo"
        managed_by  = "terraform"
      }
    }
    
  4. Utwórz plik o nazwie main.tfi wstaw następujący kod:

    resource "random_string" "suffix" {
      length  = 5
      lower   = true
      numeric = true
      special = false
      upper   = false
    }
    
    locals {
      resource_group_name       = coalesce(var.resource_group_name, "rg-fleet-update-${random_string.suffix.result}")
      fleet_name                = coalesce(var.fleet_name, "fleet-update-${random_string.suffix.result}")
      auto_upgrade_profile_name = coalesce(var.auto_upgrade_profile_name, "stable-profile-${random_string.suffix.result}")
    
      # targetKubernetesVersion is only valid on the TargetKubernetesVersion channel.
      auto_upgrade_properties = merge(
        {
          channel         = var.auto_upgrade_channel
          disabled        = var.auto_upgrade_disabled
          longTermSupport = var.long_term_support
          nodeImageSelection = {
            type = var.node_image_selection
          }
        },
        var.auto_upgrade_channel == "TargetKubernetesVersion" ? {
          targetKubernetesVersion = var.target_kubernetes_version
        } : {}
      )
    }
    
    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
    }
    
    # autoUpgradeProfiles is only available on the preview API version, which requires schema validation to be disabled.
    resource "azapi_resource" "auto_upgrade_profile" {
      type                      = "Microsoft.ContainerService/fleets/autoUpgradeProfiles@2025-04-01-preview"
      name                      = local.auto_upgrade_profile_name
      parent_id                 = azurerm_kubernetes_fleet_manager.example.id
      schema_validation_enabled = false
    
      body = {
        properties = local.auto_upgrade_properties
      }
    }
    
  5. 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_name" {
      description = "Name of the Azure Kubernetes Fleet Manager."
      value       = azurerm_kubernetes_fleet_manager.example.name
    }
    
    output "fleet_manager_id" {
      description = "Resource ID of the Azure Kubernetes Fleet Manager."
      value       = azurerm_kubernetes_fleet_manager.example.id
    }
    
    output "auto_upgrade_profile_name" {
      description = "Name of the Fleet auto-upgrade profile."
      value       = azapi_resource.auto_upgrade_profile.name
    }
    
    output "auto_upgrade_profile_id" {
      description = "Resource ID of the Fleet auto-upgrade profile."
      value       = azapi_resource.auto_upgrade_profile.id
    }
    
  6. Skopiuj plik przykładu terraform.tfvars.example do terraform.tfvars w tym samym katalogu, a następnie zmodyfikuj wartości, aby pasować do wybranego kanału automatycznego uaktualniania, wyboru obrazu węzła i innych opcji.

    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

Wyświetlanie profili automatycznej aktualizacji

Pobierz grupę zasobów, rozwiązanie Fleet Manager i nazwy profilów automatycznego uaktualniania z danych wyjściowych programu Terraform.

resource_group_name=$(terraform output -raw resource_group_name)
fleet_manager_name=$(terraform output -raw fleet_manager_name)
auto_upgrade_profile_name=$(terraform output -raw auto_upgrade_profile_name)

Wyświetl kanał, stan i sekwencję aktualizacji profilu automatycznej aktualizacji za pomocą polecenia az fleet autoupgradeprofile show.

az fleet autoupgradeprofile show \
  --resource-group $resource_group_name \
  --fleet-name $fleet_manager_name \
  --name $auto_upgrade_profile_name

Przykład nie ustawia strategii aktualizacji, więc element updateStrategyId w danych wyjściowych jest pusty, a profil aktualizuje klastry członkowskie we Flocie sekwencyjnie przy użyciu sekwencji aktualizacji po kolei. Wyświetl listę bieżących członków floty przy użyciu następującego polecenia.

az fleet member list \
  --resource-group $resource_group_name \
  --fleet-name $fleet_manager_name \
  --output table

Usuwanie profilu automatycznego uaktualniania

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 profil automatycznego uaktualniania, Azure Kubernetes Fleet Manager i grupę zasobów utworzoną przez ten przykład, a nie tylko profil. Jeśli klastry usługi AKS zostały dołączone jako członkowie usługi Fleet, najpierw usuń je z usługi Fleet. Upewnij się, że grupa zasobów nie zawiera innych zasobów, które chcesz zachować przed uruchomieniem tego polecenia.

Tworzenie profilów automatycznego uaktualniania

Zaktualizuj do najnowszej obsługiwanej wersji poprawki Kubernetes w wersji mniejszej N-1, gdzie N jest najnowszą obsługiwaną wersją mniejszą.

  1. W witrynie Azure Portal przejdź do zasobu usługi Azure Kubernetes Fleet Manager.

  2. W menu usługi w obszarze Ustawienia wybierz pozycję Aktualizacje wieloklastrowe>Profile automatycznej aktualizacji>+ Utwórz.

  3. W obszarze Tworzenie profilu automatycznego uaktualniania skonfiguruj następujące opcje:

    • W obszarze Szczegóły automatycznego uaktualniania:
      • Nazwa profilu automatycznego uaktualniania: wprowadź nazwę profilu automatycznego uaktualniania.
      • Stan: wybierz pozycję Włączone lub Wyłączone. Wyłączone profile automatycznego uaktualniania nie są wyzwalane po wydaniu nowych wersji.
      • Kolejność aktualizacji: Wybierz Etapy lub Pojedynczo.
    • W obszarze Wyzwalacze automatycznego uaktualniania:
      • Kanał: wybierz pozycję Stabilne.
      • Obraz węzła: wybierz pozycję Najnowszy obraz lub Spójny obraz.
    • W obszarze Szczegóły strategii:
      • Jeśli wybrano sekwencję aktualizacji przy użyciu etapów, wybierz istniejącą strategię lub utwórz nową.
  4. Wybierz pozycję Utwórz , aby utworzyć profil automatycznego uaktualniania.

    Zrzut ekranu przedstawiający okienko portalu Azure dla Azure Kubernetes Fleet Manager służące do tworzenia profilu automatycznego uaktualniania przy użyciu kanału Stable.

Wyświetlanie profili automatycznej aktualizacji

Profile automatycznej aktualizacji są zasobami na poziomie floty. Nie są one przypisane bezpośrednio do poszczególnych klastrów AKS. Aby określić, które profile mogą aktualizować klastry usługi AKS, upewnij się, że klastry są członkami floty, a następnie przejrzyj profile floty i ich sekwencje aktualizacji.

  1. W witrynie Azure Portal przejdź do zasobu usługi Azure Kubernetes Fleet Manager.
  2. Z menu usługi wybierz pozycję Członkowie floty i upewnij się, że klastry usługi AKS są widoczne na liście członków.
  3. W sekcji Ustawienia wybierz pozycję Aktualizacja wielu klastrów>Profile automatycznej aktualizacji.
  4. Wybierz profil automatycznego uaktualniania, aby wyświetlić jego kanał, stan i sekwencję aktualizacji.
  5. Jeśli sekwencja aktualizacji to jeden po drugim, profil obejmuje klastry członkowskie floty sekwencyjnie. Jeśli sekwencja aktualizacji używa Stages, sprawdź etapy, grupy i selektory członków powiązanej strategii, aby określić, którzy członkowie floty są uwzględniani w wygenerowanych uruchomieniach aktualizacji.

Usuwanie profilu automatycznego uaktualniania

  1. W witrynie Azure Portal przejdź do zasobu usługi Azure Kubernetes Fleet Manager.
  2. W menu usługi w obszarze Ustawienia wybierz pozycję Wieloklastrowa aktualizacja>profilów automatycznego uaktualniania.
  3. Wybierz profil, który chcesz usunąć, a następnie wybierz pozycję Usuń>tak , aby potwierdzić.

Uwaga

Usunięcie profilu automatycznego uaktualniania nie ma wpływu na żadne procesy aktualizacji w toku.

Weryfikowanie automatycznych uaktualnień

Automatyczne uaktualnienia są wykonywane tylko wtedy, gdy są dostępne nowe obrazy kubernetes lub węzłów. Po wyzwoleniu automatycznego uaktualniania zostanie utworzony połączony przebieg aktualizacji, dzięki czemu można użyć przebiegu zarządzania aktualizacjami, aby wyświetlić wyniki automatycznego uaktualniania.

Możesz również sprawdzić istniejące wersje jako punkt odniesienia.

Pobierz bieżącą wersję Kubernetes dla klastra członkowskiego za pomocą polecenia az aks show z parametrem --query, aby filtrować dane wyjściowe według właściwości currentKubernetesVersion.

az aks show \
  --resource-group $GROUP \
  --name $CLUSTER \
  --query currentKubernetesVersion

Pobierz bieżącą wersję obrazu węzła w klastrze członkowskim za pomocą polecenia az aks show z parametrem --query, aby przefiltrować dane wyjściowe według właściwości nodeImageVersion.

az aks show \
  --resource-group $GROUP \
  --name $CLUSTER \
  --query "agentPoolProfiles[].{name:name,mode:mode, nodeImageVersion:nodeImageVersion, osSku:osSku, osType:osType}"

Po zakończeniu przebiegów aktualizacji można ponownie uruchomić te polecenia i wyświetlić zaktualizowane wersje, które są wdrożone.

Generowanie procesu aktualizacji na podstawie profilu automatycznej aktualizacji

Po utworzeniu profilu automatycznego uaktualniania może upłynąć pewien czas, zanim nowa wersja obrazu platformy Kubernetes lub węzła wyzwoli automatyczne uaktualnienie w celu utworzenia i wykonania przebiegu aktualizacji. Automatyczna aktualizacja pozwala utworzyć nowe uruchomienie 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.

Aby uzyskać więcej informacji na temat tworzenia aktualizacji na żądanie z profilu automatycznego uaktualniania, zobacz Generowanie przebiegu aktualizacji z profilu automatycznego uaktualniania.