Compartir vía


Orquestar las actualizaciones entre varios clústeres mediante Azure Kubernetes Fleet Manager

Los administradores de plataformas que administran flotas de Kubernetes con un gran número de clústeres suelen tener problemas con el almacenamiento provisional de sus actualizaciones de forma segura y predecible en varios clústeres. Para solucionar este punto problemático, Kubernetes Fleet Manager (Fleet) le permite organizar las actualizaciones en varios clústeres mediante ejecuciones de actualizaciones, fases, grupos y estrategias.

Captura de pantalla del panel de Azure Portal para un recurso de flota, en la que se muestran las versiones del clúster miembro y las imágenes de nodo de Kubernetes en uso en todos los grupos de nodos de los clústeres de miembros.

Requisitos previos

  • Siga la introducción conceptual de esta característica, que proporciona una explicación de las estrategias de actualización, las ejecuciones, las fases y las referencias a grupos de este documento.

  • Debes 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. En este tutorial se muestra un recurso Fleet con cinco clústeres de miembros de AKS como ejemplo.

  • Establezca estas variables de entorno:

    export GROUP=<resource-group>
    export FLEET=<fleet-name>
    
  • Si vas a seguir las instrucciones de la CLI de Azure de esta página, necesitarás tener instalada la versión 2.53.1 o posterior de la CLI de Azure. Para la instalación o la actualización, consulte Instalación de la CLI de Azure.

  • También necesitarás la extensión de la CLI de Azure 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 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.

Actualizar todos los clústeres uno a uno

  1. En la página del recurso Azure Kubernetes Fleet Manager, ve al menú Actualizar varios clústeres y selecciona Crear.

  2. Puedes elegir Uno por uno o Fases.

    Captura de pantalla del panel de Azure Portal para crear ejecuciones de actualizaciones que actualizan clústeres uno por uno en Azure Kubernetes Fleet Manager.

  3. Para Ámbito de actualización, puedes optar por actualizar tanto la versión de Kubernetes como la versión de la imagen de nodo o solo actualizar Solo versión de la imagen de nodo solo.

    Captura de pantalla del panel de Azure Portal para crear ejecuciones de actualización. Se muestra la sección ámbito de actualización.

    Para la imagen del nodo, están disponibles las siguientes opciones:

    • Latest: actualiza todos los clústeres de AKS en la ejecución de la actualización a la imagen más reciente disponible para ese clúster en su región.
    • Consistent: como es posible que una ejecución de actualización tenga clústeres de AKS en varias regiones donde las imágenes de nodo disponibles más recientes pueden ser diferentes, comprueba el seguimiento de versiones para obtener más información. La ejecución de la actualización elige la imagen común más reciente en todas estas regiones para lograr la coherencia.

Actualización de clústeres en un orden específico

Actualizar los grupos y fases proporcionan más control sobre la secuencia seguida por las ejecuciones de actualización al actualizar los clústeres. Dentro de una fase de actualización, las actualizaciones se aplican a todos los distintos grupos de actualizaciones en paralelo; dentro de un grupo de actualizaciones, los clústeres miembro se actualizan secuencialmente.

Asignar un clúster a un grupo de actualizaciones

Puedes asignar un clúster de miembros a un grupo de actualizaciones específico de una de las dos formas existentes.

  • Asigne al grupo al agregar un clúster miembro a la flota. Por ejemplo:
  1. En la página del recurso de Azure Kubernetes Fleet Manager, ve a Clústeres miembros.

    Captura de pantalla de la página de Azure Portal para clústeres de Azure Kubernetes Fleet Manager.

  2. Especifica el grupo de actualizaciones al que debe pertenecer el clúster miembro.

    Captura de pantalla de la página de Azure Portal para agregar clústeres de miembros a Azure Kubernetes Fleet Manager y asignarlos a grupos.

  • El segundo método consiste en asignar un miembro de flota ya existente a un grupo de actualizaciones. Por ejemplo:
  1. En la página del recurso de Azure Kubernetes Fleet Manager, ve a Clústeres miembros. Elige los clústeres miembros que desees y selecciona Asignar grupo de actualizaciones.

    Captura de pantalla de la página de Azure Portal para asignar clústeres de miembros existentes a un grupo.

  2. Especifica el nombre del grupo y selecciona Asignar.

    Captura de pantalla de la página de Azure Portal para los clústeres de miembros que muestra el formulario para actualizar el grupo de un clúster miembro.

Nota:

Cualquier miembro de flota solo puede formar parte de un grupo de actualizaciones, pero un grupo de actualizaciones puede tener varios miembros de flota dentro de él. El propio grupo de actualizaciones no es un tipo de recurso independiente. Los grupos de actualización son solo cadenas que representan referencias de los miembros de la flota. Por lo tanto, si se eliminan todos los miembros de la flota que tienen referencias a un grupo de actualizaciones común, ese grupo de actualizaciones específico dejará de existir también.

Definir la ejecución y las fases de la actualización

Puede definir una ejecución de actualización mediante fases de actualización para ordenar secuencialmente la aplicación de actualizaciones a diferentes grupos de actualizaciones. Por ejemplo, una primera fase de actualización podría actualizar los clústeres de miembros del entorno de prueba y, posteriormente, una segunda fase de actualización actualizaría los clústeres de miembros del entorno de producción. También puede especificar un tiempo de espera entre las fases de actualización.

  1. En la página del recurso Azure Kubernetes Fleet Manager, ve a Actualizar varios clústeres y selecciona Crear.

  2. Selecciona Fases y elige (Imagen de nodo [más reciente] + versión de Kubernetes o Imagen de nodo [más reciente], según el ámbito de actualización deseado.

  3. En Fases, selecciona Crear fase. Ahora puedes especificar el nombre y la duración de la espera de la fase después de cada fase.

    Captura de pantalla de la página de Azure Portal para crear una fase y definir el tiempo de espera.

  4. Elegir los grupos de actualizaciones que se desean incluir en esta fase.

    Captura de pantalla de la página de Azure Portal para la creación de fases que muestra la selección de grupos de actualización.

  5. Una vez que se han definido todas las fases y ordenado con los controles Subir y Bajar, se debe proceder con la creación de la ejecución de la actualización.

  6. En el menú Multi-cluster update (Actualización de varios clústeres), elija la ejecución de actualización y seleccione Iniciar.

Crear una ejecución de actualización mediante estrategias de actualización

En la sección anterior, crear una ejecución de actualización requería que se especificaran las fases, los grupos y su orden cada vez. Las estrategias de actualización simplifican esto al permitir almacenar plantillas para ejecuciones de actualizaciones.

Nota:

Es posible crear varias ejecuciones de actualización con nombres únicos de la misma estrategia de actualización.

Al crear las ejecuciones de actualización, se ofrece la opción de crear una estrategia de actualización al mismo tiempo y guardar eficazmente la ejecución como plantilla para las ejecuciones de actualizaciones posteriores.

  1. Guardar una estrategia de actualización al crear una ejecución de actualización:

    Captura de pantalla de Azure Portal en la que se muestran las fases de ejecución de actualizaciones que se guardan como una estrategia de actualización.

  2. Posteriormente, se puede hacer referencia a la estrategia de actualización que se creó al crear nuevas ejecuciones de actualización posteriores:

    Captura de pantalla de Azure Portal en la que se muestra la creación de una nueva ejecución de actualización. El botón