Automatización de las actualizaciones de Kubernetes e imágenes de nodo en varios clústeres mediante Azure Kubernetes Fleet Manager

Se aplica a: ✔️ Gestor de flotas ✔️ Gestor de flotas con clúster de concentrador

Mantener los clústeres actualizados de forma oportuna y segura es una preocupación clave para los administradores de plataformas. Al adoptar Azure Kubernetes Fleet Manager Ejecuciones de actualización y Estrategias, puede utilizar perfiles de actualización automática para automatizar la ejecución de ejecuciones de actualización cuando se publiquen nuevas versiones de Kubernetes o de imágenes de nodo.

En este artículo se explica cómo usar perfiles de actualización automática para crear y ejecutar automáticamente ejecuciones de actualizaciones cuando Azure Kubernetes Service (AKS) publica nuevas versiones de imágenes de Kubernetes o de nodo.

Nota:

  • Ventanas de mantenimiento planeado: Las ejecuciones de actualizaciones desencadenadas automáticamente respetan las ventanas de mantenimiento planeado que establezca en el nivel de clúster de AKS. Consulte mantenimiento planeado en varios clústeres de miembros para obtener más información.
  • Actualizaciones iniciadas por la plataforma de AKS: Si un clúster miembro permanece en una versión de Kubernetes no compatible después del período de gracia de soporte técnico de la plataforma, AKS puede actualizarlo directamente, fuera del perfil de actualización automática de Fleet, la estrategia de actualización o la ventana de mantenimiento. Consulte las actualizaciones iniciadas por la plataforma de AKS para obtener formas de mantener los clústeres miembros bajo la orquestación de Fleet.

Antes de empezar

  • Establezca las siguientes variables de entorno para usarlas en los comandos de la CLI de Azure:

    export GROUP=<resource-group>
    export FLEET=<fleet-name>
    export AUTOUPGRADEPROFILE=<upgrade-profile-name>
    # Optional
    export STRATEGYID=<strategy-id>
    export CLUSTER=<aks-cluster-name>
    
  • Instale la versión más reciente de CLI de Azure. Para la instalación o la actualización, consulte Instalación de la CLI de Azure.

  • Instale la extensión de CLI de Azure más reciente fleet . Use el az extension add comando para instalar la extensión.

    az extension add --name fleet
    

    Use el az extension update comando para actualizar a la versión más reciente de la extensión.

    az extension update --name fleet
    
  • Instale y configure Terraform.

  • Instale la versión más reciente de CLI de Azure. Para la instalación o la actualización, consulte Instalación de la CLI de Azure. Use el CLI de Azure para comprobar el perfil de actualización automática que crea Terraform.

  • Instale la extensión de CLI de Azure más reciente fleet . Use el az extension add comando para instalar la extensión.

    az extension add --name fleet
    

    Use el az extension update comando para actualizar a la versión más reciente de la extensión.

    az extension update --name fleet
    
  • El ejemplo de Terraform usado en este artículo crea su propio grupo de recursos y Azure Kubernetes Fleet Manager y no se une a ningún clúster de AKS como miembros de Fleet. Para poner a prueba el perfil de actualización automática resultante en ejecuciones reales de actualización, únase a Fleet con los clústeres de AKS existentes como miembros una vez aplicado el ejemplo. Para obtener más información, consulte el inicio rápido.

Nota:

Los clústeres con grupos de agentes creados a partir de instantáneas del grupo de nodos se ven afectados de la siguiente manera en función de la opción de imagen de nodo y canal de actualización automática seleccionada:

  • Canal de imagen de nodo: la imagen de nodo se actualiza a la versión determinada por Fleet Manager. La referencia a la instantánea (creationData) se quita del grupo de agentes.
  • Canales de versión secundaria estables, rápidos o de Kubernetes de destino con la imagen de nodo establecida en:
    • Imagen coherente: la imagen de nodo se actualiza a la versión determinada por Fleet Manager. La referencia a la instantánea (creationData) se quita del grupo de agentes.
    • Imagen más reciente: el grupo de agentes mantiene su referencia a la instantánea (creationData) y la imagen del nodo no se modifica.

Para obtener más información, consulte Descripción de las actualizaciones y las instantáneas de imágenes de nodo.

Creación de perfiles de actualización automática

Cree perfiles de actualización automática mediante el az fleet autoupgradeprofile create comando .

Puede deshabilitar un perfil de actualización automática incluyendo el indicador --disabled con el comando az fleet autoupgradeprofile create. Para volver a habilitar un perfil de actualización automática deshabilitada, vuelva a ejecutar el az fleet autoupgradeprofile create comando sin la --disabled marca .

Nota:

Deshabilitar un perfil de actualización automática no afecta a ninguna ejecución de actualización en curso. Sin embargo, el proceso deja de generar nuevas ejecuciones de actualización hasta que se vuelve a habilitar el perfil.

Actualizaciones del canal estable de Kubernetes

Actualice a la versión de parche de Kubernetes compatible más reciente en la versión secundaria N-1, donde N es la versión secundaria compatible más reciente.

Actualizar clústeres de miembros uno a uno

Actualice los clústeres de miembros secuencialmente mediante el az fleet autoupgradeprofile create comando .

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

Actualizar clústeres de miembros mediante una estrategia de actualización existente

Actualice los clústeres de miembros mediante una estrategia de actualización existente. Utiliza el comando az fleet autoupgradeprofile create con el parámetro --update-strategy-id establecido en el ID de la estrategia de actualización existente.

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

Actualizar clústeres de miembros mediante una estrategia de actualización existente con una imagen de nodo coherente

Actualice los clústeres de miembros mediante una estrategia de actualización existente y asegúrese de que se usa la misma versión de imagen de nodo en cada región de Azure. Utilice el comando az fleet autoupgradeprofile create con el parámetro --node-image-selection establecido en Consistent. Todos los clústeres miembro ejecutan la misma versión de imagen de nodo.

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

Actualice los clústeres miembro usando una estrategia de actualización existente con la imagen de nodo más reciente

Actualice los clústeres de miembros mediante una estrategia de actualización existente y asegúrese de que se usa la versión más reciente de la imagen de nodo disponible para cada región de Azure. Utilice el comando az fleet autoupgradeprofile create con el parámetro --node-image-selection establecido en Latest. Los clústeres miembro pueden ejecutar varias versiones de imágenes de nodo.

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

Actualizaciones del canal de imagen de nodo

Actualice los nodos con una imagen de máquina recién revisada que incluya correcciones de seguridad y correcciones de errores.

Actualizar imágenes de nodo una por una

Actualice las imágenes de nodo para los clústeres miembro secuencialmente mediante el az fleet autoupgradeprofile create comando .

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

Actualizar imágenes de nodo mediante una estrategia de actualización existente

Actualice las imágenes de nodo para los clústeres miembro mediante una estrategia de actualización existente. Utilice el comando az fleet autoupgradeprofile create y establezca el parámetro --update-strategy-id en el ID de la estrategia de actualización existente.

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

Actualizaciones de la versión secundaria de destino de Kubernetes

Actualice a una versión menor de Kubernetes especificada como destino mediante el parámetro --target-kubernetes-version. Proporcione la versión en el formato {major version}.{minor version} (por ejemplo, 1.33). La actualización automática de Fleet Manager actualiza automáticamente los clústeres de miembros a la versión de revisión más reciente de la versión de destino especificada cuando la revisión está disponible.

Importante

Tenga en cuenta la siguiente información al usar el canal de versión secundaria de Kubernetes de destino:

  • Debe especificar el parámetro --target-kubernetes-version. Este parámetro no es compatible con otros canales de actualización automática (Rápido, Estable, Imagen de nodo y Parches de seguridad).
  • El indicador de soporte a largo plazo (LTS), --long-term-support, solo está disponible cuando se utiliza el canal Versión menor de Kubernetes de destino. Para otros canales, establezca esta marca en False.
  • Solo se pueden seleccionar versiones de Kubernetes de LTS (N-2) para un perfil de actualización automática con la --long-term-support bandera. Para que la actualización automática de flota siga funcionando en este escenario, asegúrese de que los clústeres de la ejecución de actualizaciones generadas estén habilitados con LTS. Los clústeres que no son LTS hacen que la ejecución de la actualización produzca un error cuando se encuentre el primer clúster que no es LTS.
  • No se puede establecer la versión de Kubernetes de destino en una versión futura de Kubernetes que AKS no ha publicado.

Actualización de clústeres de miembros a una versión secundaria específica de Kubernetes

Actualice los clústeres de miembros a una versión menor específica de Kubernetes mediante el comando az fleet autoupgradeprofile create con el parámetro --target-kubernetes-version establecido en la versión deseada. En el ejemplo siguiente se actualizan los clústeres de miembros a la versión 1.33 de Kubernetes.

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

Actualización de clústeres miembros con LTS habilitado a una versión secundaria específica de Kubernetes

Actualiza los clústeres miembros con LTS habilitado a una versión menor específica de Kubernetes utilizando el comando az fleet autoupgradeprofile create con el parámetro --target-kubernetes-version establecido en la versión deseada y el indicador --long-term-support habilitado. En el ejemplo siguiente se actualizan los clústeres de miembros a la versión 1.29 de Kubernetes con LTS habilitado.

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

Actualizaciones del canal de parches de seguridad

Actualice los nodos de Linux con correcciones de seguridad. Aplique las actualizaciones mediante parches en caliente cuando sea posible. De lo contrario, implemente una imagen de máquina recién revisada que contenga correcciones de seguridad.

Actualización de nodos con revisiones de seguridad de uno a uno

Actualice las imágenes de nodo para los clústeres miembro secuencialmente mediante el az fleet autoupgradeprofile create comando .

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

Actualización de nodos con revisiones de seguridad mediante una estrategia de actualización existente

Actualice las imágenes de nodo para los clústeres miembro mediante una estrategia de actualización existente. Utilice el comando az fleet autoupgradeprofile create y establezca el parámetro --update-strategy-id en el ID de la estrategia de actualización existente.

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

Visualización de perfiles de actualización automática

Los perfiles de actualización automática son recursos de nivel de flota. No están conectados directamente a clústeres individuales de AKS. Para determinar qué perfiles pueden actualizar los clústeres de AKS, en primer lugar, enumere los miembros de Fleet y confirme que los clústeres son miembros de la flota.

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

Enumere todos los perfiles de actualización automática de la flota mediante el az fleet autoupgradeprofile list comando .

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

Mostrar un perfil de actualización automática específico para la flota mediante el az fleet autoupgradeprofile show comando . Revise el canal, el estado y updateStrategyId en la salida.

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

Si updateStrategyId está vacío, el perfil usa la secuencia de actualización One by one e incluye de forma secuencial los clústeres miembro de Fleet. Si updateStrategyId contiene un identificador de recurso, muestre la estrategia referenciada para revisar las fases, los grupos o los selectores de miembros que determinan qué miembros de Fleet incluyen las ejecuciones de actualización generadas.

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

Eliminación de un perfil de actualización automática

Utilice el comando az fleet autoupgradeprofile delete para eliminar un perfil de actualización automática existente. Después de ejecutar este comando, se le pedirá que confirme la eliminación. Para omitir la confirmación e eliminar inmediatamente el perfil, incluya --yes en el comando .

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

Nota:

La eliminación de un perfil de actualización automática no afecta a ninguna ejecución de actualización en curso.

Creación de perfiles de actualización automática

El ejemplo de Terraform de esta sección crea un grupo de recursos, un Azure Kubernetes Fleet Manager (sin un clúster de concentrador) y un perfil de actualización automática de flotas. De forma predeterminada, el perfil usa el canal Stable con la selección de imagen de nodo Latest y está habilitado. Establezca las auto_upgrade_channelvariables , node_image_selection, auto_upgrade_disabled, target_kubernetes_versiony long_term_support para que coincidan con el canal y las opciones descritas en las secciones anteriores. El ejemplo no establece una estrategia de actualización, por lo que el perfil resultante siempre usa la secuencia de actualización One by one .

Revisión del código de Terraform

Nota:

El código de ejemplo de este artículo se encuentra en el repositorio Azure Terraform GitHub. Vea el archivo de registro que contiene los resultados de las pruebas de las versiones actuales y anteriores de Terraform.

Consulte más artículos y código de ejemplo en el que se muestra cómo usar Terraform para administrar recursos de Azure.

  1. Cree un directorio para probar el código de Terraform de ejemplo y convertirlo en el directorio actual.

  2. Cree un archivo llamado providers.tf e inserte el siguiente código:

    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. Cree un archivo llamado variables.tf e inserte el siguiente código:

    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. Cree un archivo llamado main.tf e inserte el siguiente código:

    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. Cree un archivo llamado outputs.tf e inserte el siguiente código:

    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. Copie el archivo de ejemplo terraform.tfvars en terraform.tfvars.example dentro del mismo directorio y, a continuación, edite los valores para que se ajusten al canal de actualización automática, la selección de imagen del nodo y otras opciones que desee.

    cp terraform.tfvars.example terraform.tfvars
    

Inicializar, validar y aplicar la configuración

Ejecute terraform init para inicializar la implementación de Terraform. Este comando descarga los proveedores de Azure necesarios para administrar los recursos de Azure.

terraform init

Ejecute terraform fmt para dar formato a los archivos de configuración de forma coherente.

terraform fmt

Ejecute terraform validate para confirmar que los archivos de configuración son sintácticamente válidos.

terraform validate

Ejecute terraform plan para crear un plan de ejecución.

terraform plan -out main.tfplan

Ejecute terraform apply para aplicar el plan de ejecución a su infraestructura en la nube.

terraform apply main.tfplan

Visualización de perfiles de actualización automática

Obtenga de las salidas de Terraform los nombres del grupo de recursos, de Fleet Manager y del perfil de actualización automática.

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)

Muestre el canal, el estado y la secuencia de actualización del perfil de actualización automática mediante el az fleet autoupgradeprofile show comando .

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

El ejemplo no establece una estrategia de actualización, por lo que updateStrategyId aparece vacío en la salida y el perfil actualiza secuencialmente los clústeres miembro de Fleet usando la secuencia de actualización Uno por uno. Enumere los miembros actuales de Fleet con el siguiente comando.

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

Eliminación de un perfil de actualización automática

Ejecute terraform plan con el indicador -destroy para crear un plan de ejecución de destrucción.

terraform plan -destroy -out main.destroy.tfplan

Ejecute terraform apply para aplicar el plan de destrucción.

terraform apply main.destroy.tfplan

Warning

Este comando elimina el perfil de actualización automática, el Azure Kubernetes Fleet Manager y el grupo de recursos creado por este ejemplo, no solo el perfil. Si ha unido clústeres de AKS como miembros de Fleet, elimínelos primero de Fleet. Confirme que el grupo de recursos no contiene otros recursos que desea conservar antes de ejecutar este comando.

Creación de perfiles de actualización automática

Actualice a la versión de parche de Kubernetes compatible más reciente en la versión secundaria N-1, donde N es la versión secundaria compatible más reciente.

  1. En Azure Portal, vaya al recurso de Azure Kubernetes Fleet Manager.

  2. En el menú del servicio, bajo Configuración, seleccione Actualización multicluster>Perfiles de actualización automática>+ Crear.

  3. En Crear un perfil de actualización automática, configure las siguientes opciones:

    • En Detalles de actualización automática:
      • Nombre del perfil de actualización automática: escriba un nombre para el perfil de actualización automática.
      • Estado: seleccione Habilitado o Deshabilitado. Los perfiles de actualización automática deshabilitados no se desencadenan cuando se publican nuevas versiones.
      • Secuencia de actualización: seleccione Fases o Una por una.
    • En Desencadenadores de actualización automática:
      • Canal: seleccione Estable.
      • Imagen de nodo: seleccione Imagen más reciente o Imagen coherente.
    • En Detalles de la estrategia:
      • Si seleccionó una secuencia de actualización mediante fases, seleccione una estrategia existente o cree una nueva.
  4. Seleccione Crear para crear el perfil de actualización automática.

    Captura de pantalla del panel Azure Kubernetes Fleet Manager de Azure Portal para crear un perfil de actualización automática mediante el canal estable.

Visualización de perfiles de actualización automática

Los perfiles de actualización automática son recursos de nivel de flota. No están conectados directamente a clústeres individuales de AKS. Para determinar qué perfiles pueden actualizar sus clústeres de AKS, confirme que los clústeres son miembros de Fleet y, a continuación, revise los perfiles de Fleet y sus secuencias de actualización.

  1. En Azure Portal, vaya al recurso de Azure Kubernetes Fleet Manager.
  2. En el menú de servicio, seleccione Miembros de flota y confirme que los clústeres de AKS aparecen en la lista de miembros.
  3. En Configuración, seleccione Actualización multiclúster>Perfiles de actualización automática.
  4. Seleccione un perfil de actualización automática para ver su canal, estado y secuencia de actualización.
  5. Si la secuencia de actualización es Una por una, el perfil incluye los clústeres miembros de la flota de forma secuencial. Si la secuencia de actualización usa etapas, revise las etapas, los grupos y los selectores de miembros de la estrategia asociada para determinar qué miembros de la flota incluyen las ejecuciones de actualización generadas.

Eliminación de un perfil de actualización automática

  1. En Azure Portal, vaya al recurso de Azure Kubernetes Fleet Manager.
  2. En el menú del servicio, en Configuración, seleccione Actualización multicluster>Perfiles de actualización automática.
  3. Seleccione el perfil que desea eliminar y, a continuación, seleccione Eliminar>sí para confirmar.

Nota:

La eliminación de un perfil de actualización automática no afecta a ninguna ejecución de actualización en curso.

Validación de actualizaciones automáticas

Las actualizaciones automáticas solo se producen cuando hay nuevas imágenes de kubernetes o de nodo disponibles. Cuando se desencadena la actualización automática, se crea una ejecución de actualización vinculada, por lo que puede usar administrar la ejecución de actualización para ver los resultados de la actualización automática.

También puede comprobar las versiones existentes como línea base.

Obtenga la versión actual de Kubernetes de un clúster miembro mediante el comando az aks show con el parámetro --query para filtrar la salida por la propiedad currentKubernetesVersion.

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

Obtenga la versión actual de la imagen del nodo de un clúster miembro mediante el comando az aks show con el parámetro --query para filtrar la salida por la propiedad nodeImageVersion.

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

Cuando finalice la ejecución de la actualización, puede volver a ejecutar estos comandos y ver las versiones actualizadas que se implementan.

Generación de una ejecución de actualización desde un perfil de actualización automática

Después de crear un perfil de actualización automática, es posible que pase algún tiempo antes de que una nueva versión de imagen de nodo o Kubernetes desencadene la actualización automática para crear y ejecutar una ejecución de actualización. La actualización automática permite generar una nueva ejecución de actualización en cualquier momento mediante el az fleet autoupgradeprofile generate-update-run comando . La ejecución de la actualización resultante se basa en la versión actual de la imagen de Kubernetes o del nodo publicada por AKS.

Para obtener más información sobre cómo crear una ejecución de actualización a petición desde un perfil de actualización automática, consulte Generación de una ejecución de actualización a partir de un perfil de actualización automática.