Compartir a través de


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

Los administradores de plataformas que administran un gran número de clústeres suelen tener problemas con el almacenamiento provisional de las actualizaciones de varios clústeres (por ejemplo, la actualización de la imagen del SO de nodo o las versiones de Kubernetes) de forma segura y predecible. Para abordar este problema, Azure Kubernetes Fleet Manager (Fleet) le permite organizar las actualizaciones en varios clústeres mediante ejecuciones de actualización.

Las ejecuciones de actualizaciones constan de fases, grupos y estrategias y se pueden aplicar manualmente, para actualizaciones únicas, o automáticamente, para actualizaciones periódicas en curso mediante perfiles de actualización automática. Todas las ejecuciones de actualización (manuales o automatizadas) respetan las ventanas de mantenimiento del clúster miembro.

En este artículo se explica cómo usar los perfiles de actualización automática para desencadenar automáticamente las ejecuciones de actualización cuando se ponen a disposición nuevas versiones de imágenes de Kubernetes o de nodo.

Importante

Las características en vista previa de Azure Kubernetes Fleet Manager están disponibles en autoservicio y de manera opcional. Las versiones preliminares se proporcionan "tal cual" y "como están disponibles", y están excluidas de los Acuerdos de nivel de servicio y la garantía limitada. Las versiones preliminares de Azure Kubernetes Fleet Manager reciben cobertura parcial del soporte 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.

Requisitos previos

  • Siga la introducción conceptual de los perfiles de actualización automática, que proporciona una explicación de las configuraciones a las que se hace referencia en esta guía.

  • Debe tener un recurso Fleet con uno o varios clústeres miembro. Si no es así, siga el inicio rápido para crear un recurso Fleet y combinar clústeres de Azure Kubernetes Service (AKS) como miembros.

  • Si quiere usar una estrategia de actualización, debe configurar una mediante las instrucciones del artículo sobre cómo crear una actualización de ejecución. Necesita el identificador de recursos de estrategia de actualización para usarlo con un perfil de actualización automática.

  • Establezca estas variables de entorno:

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

  • También necesitará la versión 1.3.0 de la extensión de la CLI de Azure o posterior fleet, que se puede instalar ejecutando el siguiente comando:

    az extension add --name fleet
    

    Ejecute el siguiente comando para actualizar a la versión más reciente de la extensión publicada:

    az extension update --name fleet
    

Nota:

Las ejecuciones de actualización desencadenadas por las actualizaciones automáticas respetan las ventanas de mantenimiento planeado que establezca en el nivel de clúster de AKS. Para obtener más información sobre cómo las ejecuciones de actualizaciones controlan los clústeres de miembros que se han configurado con ventanas de mantenimiento planeado, consulte Mantenimiento planeado en varios clústeres de miembros.

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

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

  2. En el menú de servicio, en Configuración, seleccione Actualización de varios clústeres>Perfiles de actualización automática.

  3. Seleccione Crear, escriba un nombre para el perfil y, después, seleccione si el perfil está Habilitado o no. Los perfiles de actualización automática deshabilitados no se desencadenan cuando se publican nuevas versiones.

  4. Seleccione la secuencia de actualización de Fases o Una por una.

    Recorte de pantalla del panel Azure Kubernetes Fleet Manager de Azure Portal para crear un perfil de actualización automática que actualiza los clústeres mediante una estrategia.

  5. Seleccione una de las siguientes opciones para Canal:

    • Estable: actualice clústeres con revisiones para la versión secundaria de Kubernetes N-1 disponible con carácter general.
    • Estable: actualice clústeres con revisiones para la versión secundaria de Kubernetes (N) disponible con carácter general.
    • Imagen de nodo: actualice solo la versión de la imagen del nodo.
  6. Si selecciona el canal Estable o Rápido, puede elegir cómo se aplican las actualizaciones de la imagen del nodo:

    • Imagen más reciente: actualiza todos los clústeres de AKS en el perfil de actualización automática a la imagen más reciente disponible para ese clúster en su región de Azure.
    • Imagen coherente: es posible que una actualización automática tenga clústeres de AKS en varias regiones de Azure donde las imágenes de nodo disponibles más recientes pueden ser diferentes (compruebe el seguimiento de versiones para más información). Al seleccionar esta opción, se garantiza que la actualización automática elija la imagen común más reciente en todas las regiones de Azure para lograr la coherencia.

    Recorte de pantalla del panel Azure Kubernetes Fleet Manager de Azure Portal para crear un perfil de actualización automática que define cómo se desencadena la actualización.

    Nota:

    El canal de Imagen de Nodo utiliza siempre una imagen coherente.

  7. Si ha seleccionado una secuencia de actualización mediante Fases, seleccione o cree una Estrategia.

    Recorte de pantalla del panel Azure Kubernetes Fleet Manager de Azure Portal para crear un perfil de actualización automática que selecciona la estrategia de actualización que se va a usar.

  8. Seleccione Crear para crear el perfil de actualización automática.

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

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

  2. En el menú de servicio, en Configuración, seleccione Actualización de varios clústeres>Perfiles de actualización automática.

    Recorte de pantalla del panel Azure Kubernetes Fleet Manager de Azure Portal para ver los perfiles de actualización automática disponibles.

  3. Seleccione el perfil de actualización automática deseado para ver su configuración.

    Recorte de pantalla del panel Azure Kubernetes Fleet Manager de Azure Portal en el que se muestra la configuración de un único perfil de actualización automática.

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

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

  2. En el menú de servicio, en Configuración, seleccione Actualización de varios clústeres>Perfiles de actualización automática.

    Recorte de pantalla del panel Azure Kubernetes Fleet Manager de Azure Portal para ver los perfiles de actualización automática disponibles.

  3. Seleccione el perfil deseado en la lista y, después, seleccione Eliminar para eliminar el perfil.

Nota:

La eliminación de un perfil de actualización automática para una ejecución de actualización en curso no afectará a la ejecución de la actualización existente que continuará.

Validación de la actualización automática

Las actualizaciones automáticas solo se producen cuando hay disponibles nuevas imágenes de Kubernetes o nodos. 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 como se indica a continuación.

# Get Kubernetes version for a member cluster
az aks show \
  --resource-group $GROUP \
  --name $CLUSTER \
  --query currentKubernetesVersion
# Get NodeImage version for a member cluster
az aks show \
  --resource-group $GROUP \
  --name $CLUSTER \
  --query "agentPoolProfiles[].{name:name,mode:mode, nodeImageVersion:nodeImageVersion, osSku:osSku, osType:osType}"

Una vez finalizada la ejecución de la actualización, puede volver a ejecutar estos comandos y ver las versiones actualizadas que se han implementado.