Actualizaciones del grupo de nodos azul-verde en Azure Kubernetes Service (AKS) (versión preliminar)

Las actualizaciones azul-verde permiten actualizar los grupos de nodos de AKS agregando nuevos nodos verdes con la configuración actualizada (versión de imagen de kubernetes y nodo) al grupo de nodos existente, mientras que los nodos azules originales siguen ejecutándose. Esta estrategia le permite probar y validar la nueva configuración antes de confirmar la nueva versión, con la capacidad de revertir rápidamente si surgen problemas.

En este artículo se explica cuándo usar actualizaciones azul-verde, cómo funciona el proceso, las opciones de configuración y las consideraciones para usar esta estrategia de actualización.

Cuándo usar actualizaciones azul-verde

Nota:

Tenga en cuenta que las actualizaciones azul-verde requieren el doble de la capacidad del nodo durante el proceso de actualización, lo que puede provocar un aumento de los costos y los requisitos de recursos.

Considere las actualizaciones azul-verde cuando:

  • Se requieren pruebas y verificaciones pormenorizadas de las cargas de trabajo por lotes.
  • Debe validar nuevas configuraciones de nodo antes de cambiar el tráfico de producción.
  • Desea una funcionalidad de reversión instantánea sin volver a aprovisionar nodos.
  • Está actualizando las cargas de trabajo críticas de producción que no pueden tolerar interrupciones.
  • Debe probar la compatibilidad de aplicaciones con las nuevas versiones de Kubernetes.

Si actualmente usa un proceso de implementación azul-verde manual para las actualizaciones del grupo de nodos y quiere automatizar este flujo de trabajo, considere la posibilidad de usar actualizaciones del grupo de nodos azul-verde de AKS en su lugar. Para obtener más información sobre el proceso manual de actualización azul verde, consulte Actualizaciones manuales del grupo de nodos azul-verde.

Cuándo usar actualizaciones graduales estándar

Las actualizaciones graduales estándar podrían ser más adecuadas en los escenarios siguientes:

  • Entornos de desarrollo o prueba con tolerancia al tiempo de inactividad.
  • Implementaciones sensibles a los costos en las que la duplicación temporal es prohibitiva.
  • Aplicaciones simples sin estado con una buena gestión de interrupciones.
  • Entornos con cuota o capacidad disponibles limitadas.

Prerrequisitos

  • Cuota suficiente para duplicar la capacidad del grupo de nodos.
  • CLI de Azure versión 2.64.0 o posterior. Busque su versión usando el comando az --version. Si necesita instalar o actualizar, consulte Install CLI de Azure.
  • La extensión aks-preview CLI de Azure instalada y actualizada a la versión más reciente.
  • Versión 2025-08-02-preview de la API o posterior.
  • Escalador automático de clúster configurado (recomendado, pero no obligatorio).

Instalación de la extensión aks-preview CLI de Azure

Importante

Las características en versión preliminar de AKS están disponibles a elección del usuario y en régimen de autoservicio. Las versiones preliminares se proporcionan "tal cual" y "como están disponibles", y están excluidas de los Acuerdos de nivel de servicio y garantía limitada. Las versiones preliminares de AKS cuentan con soporte parcial por parte del servicio al cliente en la medida de lo posible. Por lo tanto, estas características no están diseñadas para su uso en producción. Para más información, consulte los siguientes artículos de soporte:

Instale o actualice la aks-preview extensión mediante los az extension add comandos y az extension update .

# Install the aks-preview extension
az extension add --name aks-preview

# Update the aks-preview extension
az extension update --name aks-preview

Características compatibles para las actualizaciones azul-verde

Las actualizaciones azul-verde admiten actualmente las siguientes características:

Limitaciones y consideraciones de actualización azul-verde

Las actualizaciones azul-verde no admiten actualmente las siguientes características:

Tenga en cuenta las siguientes consideraciones al usar actualizaciones azul-verde:

Requisitos de recursos Consideraciones de complejidad Factores de tiempo
* Requiere doble la capacidad del nodo durante el proceso de actualización, lo que conduce a un aumento de los costos de infraestructura.
* Necesita una cuota de proceso adicional en la suscripción de Azure para dar cabida a la duplicación temporal de nodos.
* Es posible que encuentre límites de capacidad regionales durante los períodos de uso máximo.
* Requiere una planificación cuidadosa de las cargas de trabajo con estado para garantizar la coherencia de los datos durante la migración.
* Requiere supervisión adicional para los nodos azules y verdes durante el período de transición.
* Mayor duración general de la actualización en comparación con las actualizaciones in situ.
* El período de validación agrega tiempo antes de la transición final.

Flujo de trabajo de actualización azul-verde

El proceso de actualización azul-verde crea un entorno paralelo para transiciones seguras entre las versiones del grupo de nodos. Puede actualizar y comprometerse al nuevo grupo verde después de la validación o actualizar y revertir al grupo azul original si encuentra problemas.

Escenario de actualización y confirmación

En el diagrama siguiente se muestra el flujo de trabajo de actualización y confirmación:

Diagrama que muestra el flujo de trabajo del escenario de actualización y confirmación.

El proceso de actualización y confirmación es el siguiente:

  1. Acordonar nodos azules: los nodos azules existentes se marcan como no programables.
  2. Agregar nodos verdes: se agregan nuevos nodos verdes con la configuración actualizada al grupo de nodos existente.
  3. Operación paralela: los nodos azul y verde se ejecutan simultáneamente dentro del mismo grupo de nodos.
  4. Migración gradual: las cargas de trabajo se purgan progresivamente de nodos azules y se vuelven a programar a los nodos verdes en lotes.
  5. Validar nodos verdes: supervise y pruebe las cargas de trabajo en los nuevos nodos durante la migración.
  6. Transición completa: después del período de validación final, los nodos azules se eliminan y los nodos verdes se convierten en principales.

Escenario de actualización y reversión

En el diagrama siguiente se muestra el flujo de trabajo de actualización y retroceso.

Diagrama que muestra el flujo de trabajo del escenario de actualización y reversión.

El proceso de actualización y reversión es el siguiente:

  1. Acordonar nodos azules: los nodos azules existentes se marcan como no programables.
  2. Agregar nodos verdes: se agregan nuevos nodos verdes con la configuración actualizada al grupo de nodos existente.
  3. Operación paralela: los nodos azul y verde se ejecutan simultáneamente dentro del mismo grupo de nodos.
  4. Detectar problemas: identifique problemas durante la validación en nodos verdes .
  5. Ejecutar reversión: descordonar nodos azules, drenar nodos verdes y migrar las cargas de trabajo de vuelta a nodos azules.
  6. Estado de restauración: se eliminan los nodos verdes y el grupo de nodos vuelve a su configuración original.

Elección de la estrategia de actualización

Al crear o actualizar un grupo de nodos de AKS, puede especificar la estrategia de actualización (upgradeStrategy) que se va a usar. Las estrategias disponibles incluyen:

Estrategia Description
Rolling (valor predeterminado) Actualización gradual estándar en la que los nodos se actualizan uno por uno.
BlueGreen Agrega nuevos nodos verdes con la configuración actualizada al grupo de nodos existente mientras se mantienen en ejecución los nodos azules originales.

Personalizar propiedades de actualización azul-verde

Puede personalizar las siguientes propiedades de actualización azul-verde (NodePoolBlueGreenUpgradeSettings):

Propiedad Description Valores permitidos Valor predeterminado
drainBatchSize Número o porcentaje de nodos que se van a purgar en cada lote durante la actualización. El porcentaje se calcula a partir del número total de nodos azules al principio de la actualización. Los nodos fraccionarios se redondean hacia arriba. Entero (por ejemplo, 5) o porcentaje (por ejemplo, 50%). Debe ser un valor distinto de cero. 10 %
drainTimeoutInMinutes Tiempo máximo (en minutos) para esperar a que los pods finalicen correctamente en cada nodo antes de que se produzca un error en la actualización. Respeta los presupuestos de interrupciones del pod durante este tiempo de espera. Si se supera, se produce un error en la actualización. Entero entre 1 y 1440 (24 horas). 30 minutos
batchSoakDurationInMinutes Tiempo de pausa (en minutos) entre los lotes de purga de nodos para permitir la observación y la validación. Entero entre 0 y 1440 (24 horas). 15 minutos
finalSoakDurationInMinutes Tiempo de espera (en minutos) después de purgar todos los nodos antes de quitar nodos antiguos. Proporciona un período de validación final antes de confirmar la actualización. Las operaciones de reversión solo están disponibles durante este período de inmersión final. Cuando este período expira y se elimina la piscina azul, la reversión ya no será posible. Entero entre 0 y 10080 (siete días). 60 minutos

Creación de un grupo de nodos con la configuración de actualización azul-verde predeterminada

  • Cree un grupo de nodos con la estrategia de actualización predeterminada azul-verde y sus configuraciones usando el comando az aks nodepool add con el parámetro --upgrade-strategy establecido en bluegreen. En el ejemplo siguiente se crea un nuevo grupo de nodos denominado myNodePool en el clúster myAKSCluster de AKS dentro del grupo myResourceGroupde recursos :

    az aks nodepool add \
        --name myNodePool \
        --cluster-name myAKSCluster \
        --resource-group myResourceGroup \
        --upgrade-strategy bluegreen
    

Creación de un grupo de nodos con la configuración de actualización azul-verde personalizada

  • Cree un grupo de nodos con configuraciones de actualización azul-verde personalizadas usando el comando az aks nodepool add con el parámetro --upgrade-strategy establecido en bluegreen y configure cualquier otra opción de actualización azul-verde personalizada deseada. En el ejemplo siguiente se crea un nuevo grupo de nodos denominado myNodePool en el clúster myAKSCluster de AKS dentro del grupo myResourceGroupde recursos , con la configuración de actualización azul-verde personalizada:

    az aks nodepool add \
        --name myNodePool \
        --cluster-name myAKSCluster \
        --resource-group myResourceGroup \
        --upgrade-strategy bluegreen \
        --drain-timeout-bg 5 \
        --batch-soak-duration 5 \
        --drain-batch-size 50% \
        --final-soak-duration 180
    

Iniciar una actualización azul-verde para un grupo de nodos existente

Importante

Al reanudar una actualización en pausa, puede actualizar la configuración azul-verde, pero no puede cambiar la estrategia de actualización ni la versión de Kubernetes.

  • Inicie una actualización azul-verde para un grupo de nodos existente utilizando el comando az aks nodepool upgrade con el parámetro --kubernetes-version establecido en su versión deseada. Puede iniciar una actualización azul-verde para un grupo de nodos que ya usa la estrategia azul-verde o para un grupo de nodos aún no configurado con la estrategia azul-verde. En los ejemplos siguientes se muestran ambos escenarios:

    # Start a blue-green upgrade for an existing node pool already using blue-green strategy
    az aks nodepool upgrade \
        --name myNodePool \
        --cluster-name myAKSCluster \
        --resource-group myResourceGroup \
        --kubernetes-version <kubernetes-version>
    
    # Start a blue-green upgrade for an existing node pool not yet using blue-green strategy
    az aks nodepool upgrade \
        --name myNodePool \
        --cluster-name myAKSCluster \
        --resource-group myResourceGroup \
        --kubernetes-version <kubernetes-version> \
        --upgrade-strategy bluegreen
    

Pausar o cancelar una actualización azul-verde

  • Pause o cancele una actualización azul-verde en curso con el comando az aks nodepool operation-abort. En el ejemplo siguiente se pausa o se cancela la actualización azul-verde para el grupo de nodos denominado myNodePool en el clúster myAKSCluster de AKS dentro del grupo myResourceGroupde recursos :

    az aks nodepool operation-abort \
        --name myNodePool \
        --cluster-name myAKSCluster \
        --resource-group myResourceGroup
    

Reversión de una actualización azul-verde

Una vez cancelada una actualización azul-verde en curso, la reversión se puede iniciar mediante el az aks nodepool rollback comando .

La reversión solo está disponible durante el período de reposo final, como se describe en la propiedad finalSoakDurationInMinutes .

En el ejemplo siguiente se realiza una reversión de la actualización azul-verde para el grupo de nodos denominado myNodePool en el clúster myAKSCluster de AKS dentro del grupo myResourceGroupde recursos :

az aks nodepool rollback \
    --name myNodePool \
    --cluster-name myAKSCluster \
    --resource-group myResourceGroup

Preguntas más frecuentes (FAQ)

¿Admiten las implementaciones azul-verde la configuración maxUnavailable?

No, la maxUnavailable configuración no se aplica a las actualizaciones azul-verde. Los nuevos nodos verdes se agregan al grupo de nodos existente junto con los nodos azules existentes, lo que garantiza que todos los nodos originales permanezcan disponibles durante el proceso de actualización.

¿Se pueden utilizar las actualizaciones azul-verde para actualizaciones de grupos de nodos más allá de Kubernetes y la versión de la imagen del nodo?

No, la estrategia de actualización azul-verde es específica para Kubernetes y las actualizaciones de la versión de la imagen del nodo en este momento. Otros cambios, como la rotación de certificados o kubelet y los cambios de configuración del sistema operativo no se pueden ejecutar a través de la estrategia de actualización azul-verde.

¿Qué versiones de Kubernetes son compatibles con las actualizaciones azul-verde?

Las actualizaciones azules y verdes funcionan con todas las versiones de Kubernetes compatibles con AKS, incluidas las versiones compatibles con la comunidad y las versiones de soporte técnico a largo plazo (LTS), siempre y cuando use la versión 2025-08-02-preview de API o posterior.

¿Puedo usar el canal de revisiones de seguridad automáticas con actualizaciones azul-verde?

Sí, siempre que la estrategia de actualización del grupo de nodos esté configurada para usar azul-verde. Cuando se configura, las revisiones de seguridad siguen el proceso de actualización azul-verde en lugar del mecanismo de actualización gradual predeterminado.

¿Qué ocurre con los volúmenes persistentes durante las actualizaciones azules y verdes?

Los volúmenes persistentes siguen siendo accesibles. Los pods se purgan y se vuelven a programar correctamente, manteniendo sus datos adjuntos de volumen.

¿Puedo realizar actualizaciones azules y verdes en varios grupos de nodos simultáneamente?

Sí, los distintos grupos de nodos pueden someterse a actualizaciones azules y verdes en paralelo, pero cada grupo solo puede tener una actualización activa. Actualmente no puede controlar el orden de las actualizaciones en varios grupos.

¿Cómo gestionan las actualizaciones azul-verde las configuraciones propias del nodo, como tolerancias y etiquetas?

Todas las configuraciones de nodo, incluidas las tolerancias, etiquetas y anotaciones, se replican automáticamente en el grupo verde.

¿Cuál es el impacto en el costo de las actualizaciones azules y verdes?

Se le cobra por los nodos azules originales y los nuevos nodos verdes durante la ventana de actualización, por lo que debe asegurarse de planear la duplicación de costos temporales durante el período de transición.

¿Qué ocurre durante un error de capacidad?

En caso de que se produzca un error de capacidad al agregar los nodos verdes , se produce un error en la actualización y los nodos azules no se ven afectados. Puede volver a intentar la actualización una vez que haya suficiente capacidad disponible o optar por revertirla.

¿Qué ocurre durante la reversión?

Si el número de nodos verdes es menor o igual al de los nodos azules cuando se inicia la reversión, los nodos verdes se eliminan y los nodos azules se desacordonan y vuelven a activar para reanudar el funcionamiento normal.

Para más información sobre las actualizaciones del grupo de nodos en AKS, consulte los artículos siguientes: