Compartir a través de


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.

La ejecución de actualizaciones admite dos opciones para la secuencia en la que se actualizan los clústeres:

  • Uno a uno: si no le importa controlar la secuencia en la que se actualizan los clústeres, one-by-one proporciona un enfoque sencillo para actualizar todos los clústeres miembros de la flota en la secuencia uno a uno.
  • Secuencia de control de clústeres mediante grupos de actualizaciones y fases: si desea controlar la secuencia en la que se actualizan los clústeres, puede estructurar los clústeres miembros en grupos de actualizaciones y fases de actualización. Además, esta secuencia se puede almacenar como plantilla en forma de estrategia de actualización. Las ejecuciones de actualizaciones se pueden crear posteriormente a partir de estrategias de actualización en lugar de definir la secuencia cada vez que se necesite crear una ejecución de actualización basada en fases.

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. Al elegir Uno a uno, se actualizan todos los clústeres miembro de la flota en secuencia, uno a uno.

    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 el ámbito de actualización, puede elegir una de estas tres opciones:

    • Versión de Kubernetes para grupos de nodos y planos de control
    • Versión de Kubernetes solo para el plano de control del clúster
    • Solo la versión de la imagen del nodo

    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 puede actualizar los clústeres de miembros del entorno de prueba, y una segunda fase de actualización puede actualizar más tarde 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, vaya a Actualización de varios clústeres. En la pestaña Ejecuciones, seleccione Crear.

  2. Proporcione un nombre para la ejecución de la actualización y seleccione "Fases" para el tipo de secuencia de actualización.

    Captura de pantalla de la página de Azure Portal para elegir el modo de fases dentro de la ejecución de la actualización.

  3. Elija 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, pueden ordenarse con los controles Subir y Bajar.

  6. Para el ámbito de actualización, puede elegir una de estas tres opciones:

    • Versión de Kubernetes para grupos de nodos y planos de control
    • Versión de Kubernetes solo para el plano de control del clúster
    • Solo la versión de la imagen del nodo

    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.
  7. Haga clic en Crear en la parte inferior de la página para crear la ejecución de actualización. Especificar fases y su orden cada vez que la creación de una ejecución de actualización puede resultar una tarea repetitiva y complicada. Las estrategias de actualización simplifican este proceso al permitir almacenar plantillas para ejecuciones de actualizaciones. Para obtener más información, consulte Creación y uso de la estrategia de actualización.

  8. 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

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 este proceso 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.

Crear una estrategia de actualización: hay dos maneras de crear una estrategia de actualización:

  • Enfoque 1: puede 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.

  • Enfoque 2: puede ir a Actualización de varios clústeres y elegir Crear en la pestaña Estrategia.

    Captura de pantalla de Azure Portal en la que se muestra la creación de una estrategia de actualización.

Usar una estrategia de actualización para crear la ejecución de actualizaciones: se puede hacer referencia a la estrategia de actualización que creó más adelante 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

Administrar una ejecución de actualización

Hay algunas opciones para administrar las ejecuciones de actualización:

  • En pestaña Actualización de varios clústeres del recurso de flota, puede Iniciar una ejecución de actualización que esté en estado No iniciado o Error.

    Captura de pantalla de Azure Portal en la que se muestra cómo iniciar una ejecución de actualización en estado

  • En pestaña Actualización de varios clústeres del recurso de flota, puede Detener una ejecución de actualización que actualmente esté En ejecución.

    Captura de pantalla de Azure Portal en la que se muestra cómo detener una ejecución de actualización en estado

  • Dentro de cualquier ejecución de actualización en estado No iniciado, Error o En ejecución, puede seleccionar cualquier Fase y Omitir la actualización.

    Captura de pantalla de Azure Portal en la que se muestra cómo omitir la actualización de una fase específica en una ejecución de actualización.

    También puede omitir la actualización en el nivel de grupo de actualizaciones o de clúster de miembros.

    Para obtener más información, consulte Información general conceptual sobre los estados de ejecución de actualización y comportamiento de la omisión en ejecuciones, fases o grupos.