Compartir a través de


Uso del mantenimiento planeado para programar y controlar las actualizaciones del clúster de Azure Kubernetes Service

En este artículo se muestra cómo usar el mantenimiento planeado para programar y controlar las actualizaciones de imágenes de clúster y nodo en Azure Kubernetes Service (AKS).

El mantenimiento normal se realiza automáticamente en el clúster de AKS. Hay dos tipos de operaciones de mantenimiento:

Al usar la característica de mantenimiento planeado en AKS, puede ejecutar ambos tipos de mantenimiento en una cadencia de su elección para minimizar el impacto en la carga de trabajo.

Nota:

Puede usar el mantenimiento planeado para programar el tiempo de las actualizaciones automáticas, pero habilitar o deshabilitar el mantenimiento planeado no habilita ni deshabilita las actualizaciones automáticas.

Antes de empezar

  • Si usa el Azure CLI, actualice a la versión más reciente mediante el comando az upgrade.
  • Una suscripción de Azure activa. Si no tiene una suscripción de Azure, cree una cuenta free antes de comenzar.

  • Establezca el contexto de suscripción mediante el az account set comando . Por ejemplo:

    az account set --subscription "00000000-0000-0000-0000-000000000000"
    
  • Terraform instalado localmente. Para obtener instrucciones de instalación, consulte Instalación de Terraform.

Consideraciones

Al usar mantenimiento planeado, se aplican las siguientes consideraciones:

  • AKS se reserva el derecho de interrumpir las ventanas de mantenimiento planeado para operaciones de mantenimiento no planeadas, reactivas que sean urgentes o críticas. Estas operaciones de mantenimiento pueden incluso ejecutarse durante los períodos de notAllowedTime o notAllowedDates definidos en la configuración.
  • Las operaciones de mantenimiento se consideran mejor esfuerzo solo y no se garantiza que se produzcan dentro de una ventana especificada.

Programar tipos de configuración para el mantenimiento planeado

Hay tres tipos de configuración de programación disponibles para el mantenimiento planeado:

  • default es una configuración básica para controlar las versiones de AKS, que abarca los componentes del plano de control y las actualizaciones de complementos del sistema. Las versiones pueden tardar hasta dos semanas en desplegarse en todas las regiones desde el momento inicial del despliegue, debido a las prácticas de implementación seguras de Azure.

    Elija default para programar estas actualizaciones de la forma que le resulte menos molesta. Puede supervisar el estado de una versión de AKS en curso por región con el seguimiento de versiones semanales.

  • aksManagedAutoUpgradeSchedule controla cuándo realizar actualizaciones de clúster programadas por el canal de actualización automática designado. Puede configurar opciones de cadencia y periodicidad más controladas con esta configuración en comparación con la configuración default. Para obtener más información sobre la actualización automática del clúster, consulte Actualización automática de un clúster de Azure Kubernetes Service.

  • aksManagedNodeOSUpgradeSchedule controla cuándo se debe realizar la aplicación de revisiones de seguridad del sistema operativo del nodo programada por el canal de actualización automática del sistema operativo del nodo. Puede configurar opciones de cadencia y periodicidad más controladas con esta configuración en comparación con la configuración default. Para obtener más información sobre los canales de actualización automática del sistema operativo del nodo, consulte Aplicar revisiones y actualizar automáticamente imágenes de nodo de clúster de AKS.

Se recomienda usar aksManagedAutoUpgradeSchedule para todos los escenarios de actualización de la versión de Kubernetes del clúster y aksManagedNodeOSUpgradeSchedule para todos los escenarios de revisión de seguridad del sistema operativo de nodo.

La opción default está pensada exclusivamente para versiones semanales de AKS. Use default si desea controlar la programación de actualización para los componentes del plano de control de AKS (como el servidor de API, ETCD, etc.) y los complementos (como CoreDNS, Metrics Server, etc.).

Los tres tipos de configuraciones pueden coexistir.

Creación de una ventana de mantenimiento

Nota:

Cuando se usa la actualización automática, para garantizar una funcionalidad adecuada, use una ventana de mantenimiento con una duración de cuatro horas o más.

Nota:

A partir de la versión de API 2023-05-01 en adelante, use las propiedades de la tabla siguiente para la configuración de default.

Una ventana de mantenimiento de aksManagedAutoUpgradeSchedule o aksManagedNodeOSUpgradeSchedule, y una configuración de default desde la versión 2023-05-01 de la API en adelante tiene las siguientes propiedades:

Nombre Descripción Valor predeterminado
utcOffset Zona horaria para el mantenimiento del clúster. +00:00
startDate La fecha en la que comienza a surtir efecto la ventana de mantenimiento. La fecha actual en la hora de creación.
startTime Hora de inicio del mantenimiento, en función de la zona horaria determinada por utcOffset. No aplicable
schedule Frecuencia de actualización. Hay disponibles tres tipos: Weekly, AbsoluteMonthly, y RelativeMonthly. No aplicable
intervalDays Intervalo en días para las ejecuciones de mantenimiento. Solo es aplicable a aksManagedNodeOSUpgradeSchedule. No aplicable
intervalWeeks El intervalo en semanas para ejecuciones de mantenimiento. No aplicable
intervalMonths El intervalo en meses para ejecuciones de mantenimiento. No aplicable
dayOfWeek El día especificado de la semana para que comience el mantenimiento. No aplicable
durationHours La duración de la ventana para que se ejecute el mantenimiento. No aplicable
notAllowedDates Intervalo de fechas que el mantenimiento no se puede ejecutar, determinado por las propiedades secundariasstart y end. Solo es aplicable cuando se crea la ventana de mantenimiento mediante un archivo de configuración. No aplicable

Propiedades en desuso

Nota:

Si crea una default configuración con las siguientes propiedades en desuso, se migra automáticamente a las nuevas propiedades que se muestran en la tabla anterior.

[En desuso] Una default ventana de mantenimiento tiene las siguientes propiedades heredadas:

Nombre Descripción Valor predeterminado
timeInWeek En una configuración default, esta propiedad contiene los valores day y hourSlots que definen una ventana de mantenimiento. No aplicable
timeInWeek.day El día de la semana para realizar el mantenimiento en una configuración default No aplicable
timeInWeek.hourSlots Lista de intervalos de tiempo de larga duración para realizar el mantenimiento en un día determinado en una configuración default. No aplicable
notAllowedTime Intervalo de fechas que el mantenimiento no se puede ejecutar, determinado por las propiedades secundariasstart y end. Esta propiedad solo es aplicable cuando se crea la ventana de mantenimiento mediante un archivo de configuración. No aplicable

Tipos de programación

Se admiten cuatro tipos de programación: Daily, Weekly, AbsoluteMonthlyy RelativeMonthly.

En la tabla siguiente se muestran los tipos disponibles para cada opción de configuración de mantenimiento:

Tipo de programación default aksManagedClusterAutoUpgradeSchedule aksManagedNodeOSUpgradeSchedule
Diariamente Sin fundamento ❌ Compatible ✅ (después de junio de 2025) Se ha agregado compatibilidad con ✅.
Weekly Se ha agregado compatibilidad con ✅. Se ha agregado compatibilidad con ✅. Se ha agregado compatibilidad con ✅.
AbsoluteMonthly Sin fundamento ❌ Se ha agregado compatibilidad con ✅. Se ha agregado compatibilidad con ✅.
RelativeMonthly Sin fundamento ❌ Se ha agregado compatibilidad con ✅. Se ha agregado compatibilidad con ✅.

Se requieren todos los campos que se muestran para cada tipo de programación.

Una programación Daily podría ser similar a "cada tres días":

"schedule": {
    "daily": {
        "intervalDays": 3
    }
}

Una programación de Weekly podría parecerse a "cada dos semanas el viernes":

"schedule": {
    "weekly": {
        "intervalWeeks": 2,
        "dayOfWeek": "Friday"
    }
}

Una programación de AbsoluteMonthly podría parecerse a "cada tres meses en el primer día del mes":

"schedule": {
    "absoluteMonthly": {
        "intervalMonths": 3,
        "dayOfMonth": 1
    }
}

Una programación de RelativeMonthly podría ser similar a "cada dos meses del último lunes":

"schedule": {
    "relativeMonthly": {
        "intervalMonths": 2,
        "dayOfWeek": "Monday",
        "weekIndex": "Last"
    }
}

Los valores válidos para weekIndex incluyen First, Second, Third, Fourth y Last.

Creación del archivo de configuración de Terraform

Los archivos de configuración de Terraform definen la infraestructura que Terraform crea y administra.

Cree un archivo denominado main.tf y agregue el código siguiente para definir la versión de Terraform y especifique el proveedor de Azure:

terraform {
 required_providers {
   azurerm = {
     source  = "hashicorp/azurerm"
     version = "~>4.0"
   }
   azapi = {
     source  = "azure/azapi"
     version = "~>2.0"
   }
 }
}
provider "azurerm" {
 features {}
}
provider "azapi" {}

Creación de un grupo de recursos

Agregue el código siguiente a main.tf para crear un grupo de recursos de Azure. Actualice los location valores y name para que coincidan con el entorno.

resource "azurerm_resource_group" "rg" {
 name     = "aks-maintenance-rg"
 location = "East US"
}

Creación de un clúster de AKS

Agregue el siguiente código a main.tf para crear un clúster de AKS. Actualice los valores según sea necesario para que coincida con el entorno.

resource "azurerm_kubernetes_cluster" "aks" {
 name                = "aks-maintenance-cluster"
 location            = azurerm_resource_group.rg.location
 resource_group_name = azurerm_resource_group.rg.name
 dns_prefix          = "aksmaintenance"
 default_node_pool {
   name       = "nodepool1"
   node_count = 1
   vm_size    = "Standard_DS2_v2"
 }
 identity {
   type = "SystemAssigned"
 }
}

Adición de una configuración de ventana de mantenimiento

Agregue una configuración de ventana de mantenimiento a un clúster de AKS mediante el az aks maintenanceconfiguration add comando .

En el primer ejemplo se agrega una nueva default configuración que programa el mantenimiento para que se ejecute de 1:00 a 5:00 a. m. cada lunes en la UTC zona horaria. En el segundo ejemplo se agrega una nueva configuración de aksManagedAutoUpgradeSchedule que programa el mantenimiento para ejecutarse cada tercer viernes entre las 12:00 a. m. y las 8:00 a. m., en la zona horaria de UTC+5:30.

# Add a new default configuration
az aks maintenanceconfiguration add --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME --name default --schedule-type Weekly --day-of-week Monday --interval-weeks 1 --duration 4 --utc-offset +00:00 --start-time 01:00

# Add a new aksManagedAutoUpgradeSchedule configuration
az aks maintenanceconfiguration add --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME --name aksManagedAutoUpgradeSchedule --schedule-type Weekly --day-of-week Friday --interval-weeks 3 --duration 8 --utc-offset +05:30 --start-time 00:00
  1. En el portal de Azure, vaya al recurso de clúster de AKS.

  2. En el menú servicio, en Configuración, seleccione Actualizaciones.

  3. En Actualización>Programador de actualización automática, seleccione Agregar programación.

    Captura de pantalla que muestra la opción de agregar un calendario en el portal de Azure.

  4. En el panel Agregar programación de mantenimiento, configure las siguientes opciones de ventana de mantenimiento:

    • Repite: seleccione la frecuencia de la ventana de mantenimiento. Se recomienda seleccionar semanal.
    • Frecuencia: seleccione el día de la semana para la ventana de mantenimiento. Se recomienda seleccionar domingo.
    • Fecha de inicio de mantenimiento: seleccione la fecha de inicio de la ventana de mantenimiento.
    • Hora de inicio de mantenimiento: seleccione la hora de inicio de la ventana de mantenimiento.
    • Diferencia horaria con UTC: seleccione el desplazamiento UTC para la ventana de mantenimiento. El valor predeterminado es +00:00.

    Screenshot que muestra el panel para agregar una programación de mantenimiento en el portal de Azure.

  5. Haga clic en Guardar.

Puede usar un archivo JSON para crear una configuración de mantenimiento en lugar de usar parámetros. Al usar este método, puede evitar el mantenimiento durante un intervalo de fechas especificando notAllowedDates, default, aksManagedAutoUpgradeSchedule y aksManagedNodeOSUpgradeSchedule.

  1. Cree un archivo JSON con la configuración de la ventana de mantenimiento.

    En el ejemplo siguiente se crea un default.json archivo que programa el mantenimiento para que se ejecute de 1:00 a 5:00 a. m. todos los martes en la UTC zona horaria. También hay una excepción de 2021-05-26 a 2021-05-30 donde no se permite el mantenimiento, incluso si se superpone con una ventana de mantenimiento.

    {
      "properties": {
        "maintenanceWindow": {
            "schedule": {
                "weekly": {
                    "intervalWeeks": 1,
                    "dayOfWeek": "Tuesday"
                }
            },
            "durationHours": 4,
            "utcOffset": "+00:00",
            "startTime": "01:00",
            "notAllowedDates": [
                {
                    "start": "2021-05-26",
                    "end": "2021-05-30"
                }
            ]
        }
      }
    }
    

    En el ejemplo siguiente se crea un archivo autoUpgradeWindow.json que programa el mantenimiento para ejecutarse cada tres meses en el primer mes entre las 9:00 a. m. y las 1:00 p. m. en la zona horaria de UTC-08. También hay una excepción de 2023-12-23 a 2024-01-05 donde no se permite el mantenimiento, incluso si se superpone con una ventana de mantenimiento.

    {
      "properties": {
        "maintenanceWindow": {
            "schedule": {
                "absoluteMonthly": {
                    "intervalMonths": 3,
                    "dayOfMonth": 1
                }
            },
            "durationHours": 4,
            "utcOffset": "-08:00",
            "startTime": "09:00",
            "notAllowedDates": [
                {
                    "start": "2023-12-23",
                    "end": "2024-01-05"
                }
            ]
        }
      }
    }
    
  2. Agregue la configuración de la ventana de mantenimiento mediante el az aks maintenanceconfiguration add comando con el --config-file parámetro .

    En el primer ejemplo se agrega una nueva configuración de default mediante el archivo default.json. En el segundo ejemplo se agrega una nueva configuración de aksManagedAutoUpgradeSchedule mediante el archivo autoUpgradeWindow.json.

    # Add a new default configuration
    az aks maintenanceconfiguration add --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME --name default --config-file ./default.json
    
    # Add a new aksManagedAutoUpgradeSchedule configuration
    az aks maintenanceconfiguration add --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME --name aksManagedAutoUpgradeSchedule --config-file ./autoUpgradeWindow.json
    

Agregue la configuración de la ventana de mantenimiento a main.tf usando el recurso azapi_resource.

Configuración de mantenimiento predeterminada

En el ejemplo siguiente se crea una default configuración de mantenimiento que programa el mantenimiento para que se ejecute de 2:00 a 6:00 a. m. cada sábado en la UTC-04:00 zona horaria:

resource "azapi_resource" "default_maintenance" {
 type      = "Microsoft.ContainerService/managedClusters/maintenanceConfigurations@2025-10-01"
 name      = "default"
 parent_id = azurerm_kubernetes_cluster.aks.id
 schema_validation_enabled = false
 body = {
   properties = {
     maintenanceWindow = {
       schedule = {
         weekly = {
           dayOfWeek     = "Saturday"
           intervalWeeks = 1
         }
       }
       durationHours = 4
       startTime     = "02:00"
       utcOffset     = "-04:00"
     }
   }
 }
}

Configuración de mantenimiento de la actualización automática

En el ejemplo siguiente se crea una aksManagedAutoUpgradeSchedule configuración de mantenimiento que programa el mantenimiento para que se ejecute cada domingo de 1:00 a 5:00 am en la UTC-04:00 zona horaria, a partir del 20 de abril de 2026:

resource "azapi_resource" "auto_upgrade" {
 type      = "Microsoft.ContainerService/managedClusters/maintenanceConfigurations@2025-10-01"
 name      = "aksManagedAutoUpgradeSchedule"
 parent_id = azurerm_kubernetes_cluster.aks.id
 schema_validation_enabled = false
 body = {
   properties = {
     maintenanceWindow = {
       startDate     = "2026-04-20"
       startTime     = "01:00"
       durationHours = 4
       utcOffset     = "-04:00"
       schedule = {
         weekly = {
           dayOfWeek     = "Sunday"
           intervalWeeks = 1
         }
       }
     }
   }
 }
}

Configuración de mantenimiento de actualización del sistema operativo del nodo

En el ejemplo siguiente se crea una aksManagedNodeOSUpgradeSchedule configuración de mantenimiento que programa el mantenimiento para que se ejecute cada lunes de 3:00 a 7:00 am en la UTC-04:00 zona horaria, a partir del 21 de abril de 2026:

resource "azapi_resource" "node_os_upgrade" {
 type      = "Microsoft.ContainerService/managedClusters/maintenanceConfigurations@2025-10-01"
 name      = "aksManagedNodeOSUpgradeSchedule"
 parent_id = azurerm_kubernetes_cluster.aks.id
 schema_validation_enabled = false
 body = {
   properties = {
     maintenanceWindow = {
       startDate     = "2026-04-21"
       startTime     = "03:00"
       durationHours = 4
       utcOffset     = "-04:00"
       schedule = {
         weekly = {
           dayOfWeek     = "Monday"
           intervalWeeks = 1
         }
       }
     }
   }
 }
}

Actualización de una ventana de mantenimiento existente

Actualice una configuración de mantenimiento existente mediante el az aks maintenanceconfiguration update comando .

En el ejemplo siguiente se actualiza la default configuración para programar el mantenimiento para que se ejecute de 2:00 a. m. a 6:00 a. m. todos los viernes:

az aks maintenanceconfiguration update --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME --name default --schedule-type Weekly --day-of-week Friday --interval-weeks 1 --duration 4 --utc-offset +00:00 --start-time 02:00
  1. En el portal de Azure, vaya al recurso de clúster de AKS.

  2. En el menú servicio, en Configuración, seleccione Actualizaciones.

  3. En Actualización>Programador de actualización automática, seleccione Editar programación.

    Screenshot que muestra la opción de editar una programación en el portal de Azure.

  4. En el panel Editar programación de mantenimiento, actualice la configuración de la ventana de mantenimiento según sea necesario.

  5. Haga clic en Guardar.

  1. Actualice el archivo JSON de configuración con la nueva configuración de la ventana de mantenimiento.

    En el ejemplo siguiente se actualiza el default.json archivo de la sección anterior para programar la ejecución de mantenimiento de las 2:00 a las 6:00 a. m. todos los lunes:

    {
      "properties": {
        "maintenanceWindow": {
            "schedule": {
                "weekly": {
                    "intervalWeeks": 1,
                    "dayOfWeek": "Monday"
                }
            },
            "durationHours": 4,
            "utcOffset": "+00:00",
            "startTime": "02:00",
            "notAllowedDates": [
                {
                    "start": "2021-05-26",
                    "end": "2021-05-30"
                }
            ]
        }
      }
    }
    
  2. Actualice la configuración de la ventana de mantenimiento mediante el az aks maintenanceconfiguration update comando con el --config-file parámetro :

    az aks maintenanceconfiguration update --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME --name default --config-file ./default.json
    

Si ya tiene un clúster de AKS existente administrado por Terraform, puede actualizar la configuración de la ventana de mantenimiento modificando el archivo de configuración de Terraform y aplicando los cambios mediante el terraform apply comando .

Inicialización de Terraform

Inicialice Terraform en el directorio que contiene el archivo main.tf usando el comando terraform init. Este comando descarga el proveedor de Azure necesario para administrar Azure recursos con Terraform.

terraform init

Creación de un plan de ejecución de Terraform

Cree un plan de ejecución de Terraform mediante el comando terraform plan. Este comando muestra los recursos que Terraform creará o modificará en la suscripción de Azure.

terraform plan

Aplica la configuración de Terraform

Después de revisar y confirmar el plan de ejecución, aplique la configuración de Terraform mediante el terraform apply comando . Este comando crea o modifica los recursos definidos en su archivo main.tf en su suscripción de Azure.

terraform apply

Enumeración de todas las ventanas de mantenimiento en un clúster existente

Enumere las ventanas de configuración de mantenimiento actuales del clúster de AKS mediante el az aks maintenanceconfiguration list comando :

az aks maintenanceconfiguration list --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME

Mostrar una ventana de configuración de mantenimiento específica en un clúster existente

Vea una ventana de configuración de mantenimiento específica en el clúster de AKS mediante el comando con el parámetro :

az aks maintenanceconfiguration show --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME --name aksManagedAutoUpgradeSchedule

En la salida de ejemplo siguiente se muestra la ventana de mantenimiento para aksManagedAutoUpgradeSchedule:

{
  "id": "/subscriptions/<subscription>/resourceGroups/myResourceGroup/providers/Microsoft.ContainerService/managedClusters/myAKSCluster/maintenanceConfigurations/aksManagedAutoUpgradeSchedule",
  "maintenanceWindow": {
    "durationHours": 4,
    "notAllowedDates": [
      {
        "end": "2024-01-05",
        "start": "2023-12-23"
      }
    ],
    "schedule": {
      "absoluteMonthly": {
        "dayOfMonth": 1,
        "intervalMonths": 3
      },
      "daily": null,
      "relativeMonthly": null,
      "weekly": null
    },
    "startDate": "2023-01-20",
    "startTime": "09:00",
    "utcOffset": "-08:00"
  },
  "name": "aksManagedAutoUpgradeSchedule",
  "notAllowedTime": null,
  "resourceGroup": "myResourceGroup",
  "systemData": null,
  "timeInWeek": null,
  "type": null
}

Eliminación de una ventana de configuración de mantenimiento en un clúster existente

Elimine una ventana de configuración de mantenimiento en el clúster de AKS mediante el az aks maintenanceconfiguration delete comando .

En el ejemplo siguiente se elimina la configuración de mantenimiento de autoUpgradeSchedule:

az aks maintenanceconfiguration delete --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME --name autoUpgradeSchedule
  1. En el portal de Azure, vaya al recurso de clúster de AKS.

  2. En el menú de servicio, en Configuración, seleccione Configuración de clústeres.

  3. En Actualización>Programador de actualización automática, seleccione Editar programación.

    Screenshot que muestra la opción de editar una programación en el portal de Azure.

  4. En el panel Editar programación de mantenimiento, seleccione Quitar programación.

    Captura de pantalla que muestra el panel para editar una ventana de mantenimiento con el botón para quitar una programación en el portal de Azure.

Elimine una ventana de configuración de mantenimiento en el clúster de AKS mediante el az aks maintenanceconfiguration delete comando .

En el ejemplo siguiente se elimina la configuración de mantenimiento de autoUpgradeSchedule:

az aks maintenanceconfiguration delete --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME --name autoUpgradeSchedule

Para eliminar una configuración de mantenimiento, quite el bloque correspondiente de la configuración de Terraform y aplique los cambios mediante el terraform apply comando .

Preguntas más frecuentes (FAQ)

¿Cómo puedo comprobar las configuraciones de mantenimiento existentes en el clúster?

Use el comando az aks maintenanceconfiguration show.

¿También se puede producir un mantenimiento reactivo y no planeado durante los notAllowedDates períodos?

Sí. AKS se reserva el derecho de interrumpir estas ventanas para operaciones de mantenimiento reactivas no planeadas que sean urgentes o críticas.

¿Cómo puedo saber si se ha producido un evento de mantenimiento?

En el caso de las versiones, compruebe la región del clúster y busque información en versiones semanales para ver si coincide con la programación de mantenimiento. Para ver el estado de las actualizaciones automáticas, busque registros de actividad en el clúster. También puede buscar eventos específicos relacionados con la actualización, como se mencionó en Actualización de un clúster de AKS.

AKS también emite eventos de Azure Event Grid relacionados con la actualización. Para obtener más información, consulte AKS como origen de Event Grid.

¿Puedo usar más de una configuración de mantenimiento al mismo tiempo?

Sí, puede ejecutar las tres configuraciones simultáneamente: default, aksManagedAutoUpgradeSchedule, y aksManagedNodeOSUpgradeSchedule. Si las ventanas se superponen, AKS decide el orden de ejecución.

He configurado una ventana de mantenimiento, pero no se ha producido la actualización. ¿Por qué?

La actualización automática de AKS necesita una cierta cantidad de tiempo, habitualmente menos de 15 minutos, para tener en cuenta la ventana de mantenimiento. Se recomiendan al menos 15 horas entre la creación o actualización de una configuración de mantenimiento y la hora de inicio programada.

Además, asegúrese de que el clúster se inicia cuando se inicia la ventana de mantenimiento planeado. Si se detiene el clúster, se desasigna su plano de control y no se puede realizar ninguna operación.

¿Por qué se ha actualizado uno de mis grupos de agentes fuera de la ventana de mantenimiento?

AKS inicia operaciones relacionadas con la actualización solo durante la ventana de mantenimiento configurada. Si una operación comienza antes de que se cierre la ventana, puede continuar ejecutándose hasta la finalización, incluso si esto se extiende más allá de la hora de finalización de la ventana.

Cuando se cierra la ventana, AKS no inicia ninguna nueva operación de actualización. Cualquier trabajo de actualización restante se aplaza hasta una ventana válida futura.

Ejemplo: si la ventana de mantenimiento es de 08:00 a 12:00 y una actualización del clúster o del grupo de nodos que comenzó antes de las 12:00 aún está en progreso a las 12:15, AKS permite que dicho trabajo en curso finalice. Sin embargo, AKS no inicia el nuevo trabajo de actualización después de las 12:00.

¿Existen procedimientos recomendados para las configuraciones de mantenimiento?

Se recomienda establecer la programación de actualizaciones de seguridad del sistema operativo del nodo en una cadencia semanal si usa el canal NodeImage, ya que se envía una nueva imagen de nodo cada semana. También puede optar por el canal SecurityPatch para recibir actualizaciones de seguridad diarias.

Puede establecer la programación de actualización automática en una cadencia mensual para mantenerse al día con la directiva de soporte técnico de Kubernetes N-2.

Para obtener una explicación detallada de los procedimientos recomendados de actualización y otras consideraciones, consulte Guía de actualización y revisión de AKS.

¿Puedo configurar todos mis clústeres de una misma suscripción para que usen la misma configuración de mantenimiento?

No se recomienda usar la misma configuración de mantenimiento para varios clústeres de una misma suscripción, ya que, al hacerlo, se pueden producir errores de limitación de ARM, lo que provoca un error en las actualizaciones del clúster. En su lugar, se recomienda escalonar las ventanas de mantenimiento de cada clúster para evitar estos errores.

¿Por qué mis grupos de nodos se actualizaron dos veces durante la misma ventana de mantenimiento?

Si hay disponible una versión más reciente de la imagen de nodo durante la ventana de mantenimiento, AKS realiza una segunda actualización para asegurarse de que los grupos de nodos ejecutan la versión más reciente. Este comportamiento es normal y no indica un problema.

Para empezar a actualizar el clúster de AKS, consulte Opciones de actualización para clústeres de AKS.