Secuenciar el lanzamiento de las actualizaciones del clúster

En esta página se explica cómo gestionar las actualizaciones de clústeres de GKE mediante la secuenciación de lanzamientos. Para obtener más información, consulta el artículo Acerca de las actualizaciones de clústeres con secuenciación de lanzamientos.

Antes de empezar

Antes de empezar, asegúrate de que has realizado las siguientes tareas:

  • Habilita la API de Google Kubernetes Engine.
  • Habilitar la API de Google Kubernetes Engine
  • Si quieres usar Google Cloud CLI para esta tarea, instálala y, a continuación, inicialízala. Si ya has instalado la gcloud CLI, obtén la versión más reciente ejecutando gcloud components update.
  • Asegúrate de que has habilitado las APIs necesarias para las flotas. Estas APIs deben estar habilitadas en los proyectos host de tu flota para crear cualquier tipo de secuencia de lanzamiento.
  • Para consultar las instrucciones de Terraform, asegúrate de usar la versión 5.13.0 o posterior del proveedor google.

Roles obligatorios

Para crear o modificar una secuencia de lanzamiento, debes tener el rol de gestión de identidades y accesos roles/gkehub.editoren cada proyecto de la secuencia de lanzamiento. El rol Editor de flota (antes Editor de GKE Hub) proporciona los permisos gkehub.features.create y gkehub.fleet.update, que son necesarios para acceder a los recursos relacionados con la flota y modificarlos entre proyectos. Este rol proporciona los permisos necesarios para definir la estrategia de actualización, acceder a los recursos pertinentes y modificarlos, e iniciar y gestionar el proceso de lanzamiento.

Si necesitas registrar o anular el registro de clústeres en una flota, debes tener todos los permisos siguientes:

Para obtener más información sobre los roles de IAM con los privilegios mínimos necesarios para realizar diferentes tareas, consulta el artículo Obtener sugerencias de roles predefinidos con la ayuda de Gemini.

Configurar una secuencia de lanzamiento

En este documento se explica cómo crear una secuencia de lanzamiento mediante grupos de clústeres organizados por flotas o ámbitos de equipo. En este documento se usa el término grupo para hacer referencia tanto a las flotas como a los ámbitos de equipo, ya que puedes crear una secuencia de lanzamiento organizada con cualquiera de los dos métodos de agrupación.

Puedes crear una secuencia de hasta cinco grupos de clústeres (tres para una secuencia basada en equipos) y elegir el tiempo de prueba de carga que quieras después de que se completen las actualizaciones de los clústeres de un grupo (30 días como máximo). Puedes incluir clústeres Autopilot y Estándar.

Para crear una secuencia de lanzamiento, los clústeres deben organizarse en grupos de flotas o de ámbitos de equipo. Para obtener información sobre cómo organizar tus clústeres, consulta el ejemplo de banco comunitario. Una vez que se hayan organizado en grupos, puedes crear una secuencia de lanzamiento definiendo las relaciones de los grupos anteriores y el tiempo de permanencia de cada grupo. En una secuencia de lanzamiento, "upstream" hace referencia al grupo anterior y "downstream" al siguiente.

Organizar los clústeres en grupos

En una secuencia de lanzamiento, todos los clústeres de todos los grupos deben estar registrados en el mismo canal de lanzamiento y tener la misma versión secundaria. Si no se cumplen estos requisitos y hay discrepancias entre las versiones de los clústeres, pueden producirse problemas con el lanzamiento de la versión. Para obtener más información, consulta la sección Requisitos para el lanzamiento.

Puedes crear secuencias de lanzamiento entre flotas o entre ámbitos de equipo (vista previa) de un equipo.

Como has visto en el artículo Acerca de las actualizaciones de clústeres con secuenciación de lanzamientos, los permisos de equipo asocian subconjuntos de clústeres de flota con equipos de aplicaciones específicos. Se aplican las siguientes limitaciones al usar o crear ámbitos de equipo para la secuenciación de lanzamientos:

  • Las secuencias basadas en equipos requieren clústeres de un solo inquilino, es decir, cada clúster solo está asociado a un equipo. Los clústeres compartidos (que se admiten en la gestión de flotas de equipos en general) no se admiten en la secuenciación de lanzamientos.

  • Cada ámbito de equipo debe estar en una flota diferente para crear una secuencia de lanzamiento entre ellos. No se puede crear una secuencia de lanzamiento entre diferentes ámbitos de equipo de la misma flota.

Si ya has organizado tus clústeres en grupos, puedes saltarte los pasos siguientes y pasar a Crear una secuencia de lanzamiento.

Flotas

Para crear una secuencia de lanzamiento basada en flotas, primero debes agrupar tus clústeres en flotas. Puedes organizar tus clústeres por entornos de implementación, como pruebas, preproducción y producción, tal como se muestra en la secuencia de ejemplo de lanzamiento basado en flotas.

Registra cada clúster en una flota en función de la agrupación que hayas elegido.

Equipos

Para crear una secuencia de lanzamiento basada en equipos, debes agrupar tus clústeres en ámbitos de equipo. Para ello, primero organiza tus clústeres en flotas por entornos de implementación, como Pruebas, Desarrollo y Producción, tal como se muestra en la secuencia de implementación basada en el ámbito de ejemplo. Después, puedes subdividir aún más tus clústeres en ámbitos para los clústeres de diferentes equipos.

  1. En cada clúster de la secuencia, registra tu clúster en una flota. El clúster debe registrarse en la flota del proyecto en el que vayas a crear el ámbito de equipo para este clúster. Si quieres registrar un clúster en una flota de otro proyecto de host, asegúrate de haber definido los permisos necesarios para el registro entre proyectos.
  2. Crea entre 2 y 3 ámbitos de equipo para organizar tus clústeres. Crea cada ámbito en el proyecto host de la flota correspondiente del equipo. Puedes tener hasta tres ámbitos de equipo en una secuencia de lanzamiento.

    Consulta la referencia de gcloud container fleet scopes create para ver una lista completa de las marcas. Con el comando create, puedes usar las marcas de las instrucciones para crear una secuencia de lanzamiento.

  3. Añade cada clúster a un ámbito.

Crear una secuencia de lanzamiento

Una secuencia de lanzamiento se organiza como una lista enlazada con un máximo de cinco elementos.

Cuando creas una secuencia de lanzamiento, defines las siguientes propiedades para cada grupo de clústeres, ya sea un permiso de flota o de equipo:

  • Grupo de origen: el ámbito de la flota o del equipo de origen, que determina si las nuevas versiones son aptas para el grupo de destino. No se define un grupo de origen para el primer grupo de una secuencia.
  • Tiempo de reposo: el tiempo de reposo de un grupo es el tiempo que transcurre entre el momento en que se completan las actualizaciones (o el lanzamiento ha tardado 30 días) y el momento en que se pueden iniciar las actualizaciones en el grupo de nivel inferior. Para obtener más información, consulta Cómo funciona la cualificación de versiones en una secuencia de lanzamiento.

Flotas - gcloud

En las siguientes instrucciones se usa el comando gcloud container fleet clusterupgrade update, pero puedes definir las mismas propiedades con el comando gcloud container fleet clusterupgrade create.

En cada uno de los siguientes comandos, sustituya SOAK_TIME por el tiempo de permanencia de la flota que esté actualizando.

Crea una secuencia de lanzamiento:

  1. Define el tiempo de permanencia de la primera flota de la secuencia:

    gcloud container fleet clusterupgrade update \
        --default-upgrade-soaking=SOAK_TIME \
        --project=FIRST_FLEET_PROJECT_ID
    

    Sustituye FIRST_FLEET_PROJECT_ID por el ID del proyecto host de la flota.

  2. Define la flota upstream y el tiempo de permanencia de la segunda flota de la secuencia:

    gcloud container fleet clusterupgrade update \
        --upstream-fleet=FIRST_FLEET_PROJECT_ID \
        --default-upgrade-soaking=SOAK_TIME \
        --project=SECOND_FLEET_PROJECT_ID
    

    Sustituye FIRST_FLEET_PROJECT_ID por el ID del proyecto host de la primera flota y SECOND_FLEET_PROJECT_ID por el ID del proyecto host de la flota.

  3. Opcional: Si quieres tener más de dos flotas en una secuencia de lanzamiento, define la flota upstream de las siguientes flotas de la secuencia.

    El siguiente comando define la flota upstream de la tercera flota de la secuencia. Si quieres añadir una cuarta o quinta flota, repite este paso y sigue el mismo patrón para sustituir las variables por los IDs de proyecto de los proyectos host de las flotas correspondientes (flota anterior y flota siguiente).

    Define la flota upstream de la siguiente flota de la secuencia:

    gcloud container fleet clusterupgrade update \
        --upstream-fleet=SECOND_FLEET_PROJECT_ID \
        --default-upgrade-soaking=SOAK_TIME \
        --project=THIRD_FLEET_PROJECT_ID
    

    Sustituye SECOND_FLEET_PROJECT_ID por el ID de proyecto del proyecto host de la segunda flota y THIRD_FLEET_PROJECT_ID por el ID de proyecto del proyecto host de la flota.

Flotas (consola)

  1. Ve a la página Secuencia de lanzamiento de la Trusted Cloud consola.

    Ir a Secuenciación de lanzamientos

  2. Haz clic en Crear secuencia de lanzamiento.

  3. En el panel Crear una secuencia de lanzamiento, selecciona las dos primeras flotas de la secuencia:

    1. En la sección Flota 1, selecciona la primera flota de la secuencia.
    2. En la sección Tiempo de permanencia de la flota upstream, define el tiempo de permanencia de la primera flota con los campos Días, Horas y Minutos.
    3. En la sección Flota 2, selecciona la segunda flota de la secuencia.
    4. Haz clic en Crear.
  4. Opcional: Si quieres tener tres o más flotas en esta secuencia de lanzamiento, sigue estos pasos adicionales:

    1. En el gráfico de lanzamiento, haz clic en el elemento de la segunda flota.
    2. Haz clic en Añadir flota de nivel inferior.
    3. En la sección Tiempo de espera de la flota upstream, define el tiempo de espera de la segunda flota con los campos Días, Horas y Minutos.
    4. En la sección Next fleet in the sequence (Siguiente flota de la secuencia), selecciona la tercera flota de la secuencia.
    5. Haz clic en Guardar.
    6. Repite los pasos anteriores si quieres añadir una cuarta o quinta flota.

Flotas - Terraform

En esta sección se muestra cómo crear una secuencia basada en una flota con Terraform. También puedes usar este recurso para actualizar la secuencia. Para obtener más información, consulta la documentación de referencia de google_gke_hub_feature.

En cada uno de los siguientes comandos, sustituya SOAK_TIME por el tiempo de permanencia de la flota que esté actualizando.

Crea una secuencia de lanzamiento:

  1. Añade el siguiente bloque a tu configuración de Terraform para definir el tiempo de rodaje de la primera flota de la secuencia:

    resource "google_gke_hub_feature" "feature" {
      name = "clusterupgrade"
      location = "global"
      spec {
        clusterupgrade {
          upstream_fleets = []
          post_conditions {
            soaking = "SOAK_TIME"
          }
        }
      }
      project = "FIRST_FLEET_PROJECT_ID"
    }
    

    Sustituye FIRST_FLEET_PROJECT_ID por el ID del proyecto host de la flota.

  2. Añade el siguiente bloque a tu configuración de Terraform para definir la flota upstream y el tiempo de rodaje de la segunda flota de la secuencia:

    resource "google_gke_hub_feature" "feature" {
      name = "clusterupgrade"
      location = "global"
      spec {
        clusterupgrade {
          upstream_fleets = ["FIRST_FLEET_PROJECT_ID"]
          post_conditions {
            soaking = "SOAK_TIME"
          }
        }
      }
      project = "SECOND_FLEET_PROJECT_ID"
    }
    

    Sustituye FIRST_FLEET_PROJECT_ID por el ID del proyecto host de la primera flota y SECOND_FLEET_PROJECT_ID por el ID del proyecto host de la flota.

  3. Opcional: Si quieres tener tres flotas en una secuencia de lanzamiento, añade el siguiente bloque a tu configuración de Terraform para definir la flota upstream de la flota de la secuencia:

    resource "google_gke_hub_feature" "feature" {
      name = "clusterupgrade"
      location = "global"
      spec {
        clusterupgrade {
          upstream_fleets = ["SECOND_FLEET_PROJECT_ID"]
          post_conditions {
            soaking = "SOAK_TIME"
          }
        }
      }
      project = "THIRD_FLEET_PROJECT_ID"
    }
    

    Sustituye SECOND_FLEET_PROJECT_ID por el ID del proyecto host de la segunda flota y THIRD_FLEET_PROJECT_ID por el ID del proyecto host de la flota.

    Repite este paso si quieres añadir una cuarta o una quinta flota.

Equipos - gcloud

Puede definir estas propiedades al crear o actualizar un ámbito de equipo. En las siguientes instrucciones se usa el comando gcloud container fleet scopes update, pero puedes definir las mismas propiedades al crear un ámbito de equipo con el comando gcloud container fleet scopes create.

En cada uno de estos comandos, sustituye lo siguiente:

  • Las variables con el nombre del ámbito del equipo correspondiente o el ID del proyecto host de la flota del ámbito del equipo.
  • El SOAK_TIME con el tiempo de espera del ámbito del equipo que estás actualizando.

Crea una secuencia de lanzamiento:

  1. Define el tiempo de permanencia del primer ámbito de la secuencia:

    gcloud container fleet scopes update projects/FIRST_SCOPE_PROJECT_ID/locations/global/scopes/FIRST_SCOPE_NAME \
        --default-upgrade-soaking=SOAK_TIME \
        --project=FIRST_SCOPE_PROJECT_ID
    
  2. Define el ámbito de la cadena anterior y el tiempo de permanencia del segundo ámbito de la secuencia:

    gcloud container fleet scopes update projects/SECOND_SCOPE_PROJECT_ID/locations/global/scopes/SECOND_SCOPE_NAME \
        --upstream-scope=projects/FIRST_SCOPE_PROJECT_ID/locations/global/scopes/FIRST_SCOPE_NAME \
        --default-upgrade-soaking=SOAK_TIME \
        --project=SECOND_SCOPE_PROJECT_ID
    
  3. Opcional: Si quieres que haya tres ámbitos de equipo en una secuencia de lanzamiento, define el ámbito superior del tercer ámbito de la secuencia:

    gcloud container fleet scopes update projects/THIRD_SCOPE_PROJECT_ID/locations/global/scopes/THIRD_SCOPE_NAME \
        --upstream-scope=projects/SECOND_SCOPE_PROJECT/locations/global/scopes/SECOND_SCOPE_NAME \
        --default-upgrade-soaking=SOAK_TIME \
        --project=THIRD_SCOPE_PROJECT_ID
    

Comprobar el estado de una secuencia de lanzamiento

Puedes consultar el estado de una secuencia de lanzamiento con cualquiera de los siguientes métodos:

Monitorizar una secuencia de lanzamiento en la consola Trusted Cloud

  1. Ve a la página Secuencia de lanzamiento de la Trusted Cloud consola.

    Ir a Secuenciación de lanzamientos

  2. Consulta la secuencia en la sección Monitorizar la secuencia de lanzamiento. Si no ves ninguna secuencia de lanzamiento, cambia a otra o crea una si aún no lo has hecho.

Cómo usar la consola para monitorizar una secuencia de lanzamiento

En esta página, puedes ver la secuencia de lanzamiento asociada a la flota de tu proyecto. Para ver el progreso de una secuencia de lanzamiento, puedes hacer lo siguiente:

  • Consulta toda la secuencia de lanzamiento o los estados de las flotas y los clústeres individuales de esas flotas, así como el tiempo de permanencia entre flotas. También puedes ver la secuencia en la que no hay ninguna actualización activa si quieres comprobar su configuración.
  • Filtra por tipo de actualización (plano de control o nodo) y por versión específica (por ejemplo, 1.31.6-gke.500).

Puedes monitorizar visualmente toda la secuencia de lanzamiento mientras GKE actualiza todos los clústeres de la secuencia, lo que te permite probar una nueva versión en diferentes entornos antes de actualizar los clústeres de tu entorno de producción. Durante la monitorización, puedes gestionar una secuencia de lanzamiento con la CLI de gcloud y hacer los cambios que necesites.

Cambiar a otra secuencia de lanzamiento

En esta página se muestra la secuencia de lanzamiento basada en flotas si el proyecto activo en la Trusted Cloud consola es un proyecto host de la flota de una flota que está registrada en una secuencia de lanzamiento.

Si quieres ver otra secuencia de lanzamiento, selecciona un proyecto host de flota asociado a otra secuencia de lanzamiento en el selector de proyectos de la parte superior de la página.

Usar la CLI gcloud

Usa estos comandos en las secciones siguientes para comprobar cómo avanzan las actualizaciones en una secuencia de lanzamiento. Para obtener más información sobre los detalles que se proporcionan, consulta Información sobre el estado de una secuencia de lanzamiento.

Para ejecutar estos comandos, asegúrate de que tienes los permisos necesarios para cada proyecto host de la flota. Por ejemplo, si la secuencia tiene ámbitos entre proyectos en diferentes flotas, necesitas permisos en cada proyecto para describir la secuencia.

En los siguientes comandos, si solo necesitas información sobre una flota o un ámbito de la secuencia, sustituye la marca --show-linked-cluster-upgrade por --show-cluster-upgrade.

Flotas

Para comprobar el estado de una secuencia de lanzamiento basada en una flota, haz lo siguiente:

gcloud container fleet clusterupgrade describe \
    --show-linked-cluster-upgrade --project=FLEET_PROJECT_ID

Sustituye FLEET_PROJECT_ID por el ID del proyecto host de cualquier flota de la secuencia.

Consulta la referencia gcloud container fleet clusterupgrade describe para ver una lista completa de las marcas.

Equipos

Comprobar el estado de una secuencia de lanzamiento basada en equipos:

gcloud container fleet scopes describe SCOPE_NAME \
    --show-linked-cluster-upgrade
    --project=SCOPE_PROJECT_ID

Sustituye SCOPE_NAME por el nombre de cualquier ámbito de equipo de la secuencia de lanzamiento y SCOPE_PROJECT_ID por el ID de proyecto de ese ámbito de equipo.

Consulta la referencia de gcloud container fleet scopes describe para ver una lista completa de las marcas.

Para ver el estado de los clústeres de una flota o de un equipo, ejecuta el siguiente comando en el proyecto host de la flota y consulta la sección membershipStates:

gcloud container fleet features describe clusterupgrade

Información sobre el estado de una secuencia de lanzamiento

Cuando compruebas el estado de un lanzamiento de una versión, puedes ver el progreso de cada grupo y clúster de ese grupo.

En la siguiente tabla se muestran los posibles estados de un clúster o un grupo:

Estado Para un solo clúster Para un grupo (ámbito de flota o de equipo)
NO DISPONIBLE Este clúster no cumple los requisitos para esta actualización Uno o varios clústeres de este grupo no cumplen los requisitos para esta actualización.
PENDIENTE La actualización está pendiente en el clúster o en algunos de sus grupos de nodos estándar o grupos de nodos de un clúster Autopilot. La actualización no se ha iniciado en ninguno de los clústeres del grupo.
IN_PROGRESS La actualización está en curso en el clúster. La actualización ha comenzado en al menos un clúster, pero no ha finalizado en todos.
SOAKING La actualización se ha completado en el clúster, pero no se ha completado el tiempo de asentamiento. La actualización se ha completado en todos los clústeres, pero no se ha completado el tiempo de estabilización.
FORCED_SOAKING La actualización ha tardado más del tiempo máximo (30 días), por lo que hemos forzado la entrada en la fase de estabilización. La actualización puede continuar en el clúster. La actualización ha tardado más del tiempo máximo (30 días), por lo que hemos forzado la entrada en la fase de estabilización. La actualización puede seguir en los clústeres.
FINALIZADA La actualización se considera "completada", lo que significa que se ha completado la fase de prueba en este clúster. La actualización se considera "completada" y está lista para que la use el grupo posterior, lo que significa que la actualización ha terminado de implementarse.

En la salida de estos comandos, los atributos clusterUpgrade(s).spec y clusterUpgrade(s).state contienen información adicional sobre la actualización del clúster, como el tiempo de espera, las anulaciones de la actualización del clúster y el estado de la actualización.

Gestionar una secuencia de lanzamiento

Puedes controlar las actualizaciones automáticas de clústeres con la secuenciación de lanzamientos de varias formas, que se explican en las secciones siguientes.

Cambiar el tiempo de permanencia de un grupo

Puedes cambiar el tiempo de permanencia predeterminado de un grupo o cambiar el tiempo de permanencia cuando ese grupo se actualice a una versión específica. El máximo es de 30 días.

Actualizar el tiempo de remojo predeterminado

Puedes actualizar el tiempo de permanencia predeterminado en la Trusted Cloud consola (solo en la versión preliminar, la secuencia de lanzamiento basada en la flota) o con la CLI de gcloud.

gcloud

Para cambiar el tiempo de permanencia predeterminado de un grupo, usa los comandos de la CLI de gcloud de las instrucciones para crear una secuencia de lanzamiento. Omite las marcas para definir el grupo upstream.

Flotas (consola)

  1. Ve a la página Secuencia de lanzamiento de la Trusted Cloud consola.

    Ir a Secuenciación de lanzamientos

  2. Consulta la secuencia en la sección Monitorizar la secuencia de lanzamiento. Si no ves ninguna secuencia de lanzamiento, cambia a otra o crea una si aún no lo has hecho.

  3. En el gráfico de lanzamiento, haz clic en el elemento Tiempo de prueba después del elemento de la flota en el que quieras actualizar el tiempo de prueba.

  4. Haz clic en Editar tiempo de remojo.

  5. En la sección Establecer un nuevo tiempo de remojo, introduce un nuevo tiempo de remojo en los campos Días, Horas y Minutos.

  6. Para guardar la configuración, haz clic en Guardar.

Anular el tiempo de remojo predeterminado

Puedes cambiar el tiempo de permanencia de una versión específica para que sea diferente del tiempo de permanencia predeterminado del grupo. Por ejemplo, si ya ha validado una nueva versión y quiere que las actualizaciones empiecen en el siguiente grupo, puede definir el tiempo de permanencia en cero. También puedes usarlo si quieres tener más tiempo del predeterminado para calificar una versión específica.

Como el tiempo de rodaje se define por grupo, si quieres anular el tiempo de rodaje de otros grupos de esta secuencia, actualízalos con este mismo comando, sustituyendo el nombre de la flota o del ámbito, según el tipo de secuencia.

Para seguir las instrucciones de esta sección, sustituye las siguientes variables:

  • SOAK_TIME: el tiempo de permanencia para usar un valor distinto del predeterminado (por ejemplo, "0d" si quieres omitir el tiempo de permanencia de una versión).
  • UPGRADE_NAME: el tipo de actualización, ya sea k8s_control_plane para las actualizaciones del plano de control o k8s_node para las actualizaciones de los nodos.
  • VERSION: la versión de GKE en la que quieres anular el tiempo de permanencia predeterminado después de que se haya implementado la versión (por ejemplo, 1.25.2-gke.400) en este grupo.

Flotas - gcloud

Ejecuta este comando en el proyecto host de la flota en el que quieras anular el tiempo de rodaje utilizado para la implementación de una versión específica.

Para cambiar el tiempo de remojo de una flota, sigue estos pasos:

gcloud container fleet clusterupgrade update
    --add-upgrade-soaking-override=SOAK_TIME \
    --upgrade-selector=name=UPGRADE_NAME,version=VERSION

Flotas - Terraform

Añade el siguiente bloque gke_upgrades_overrides a tu configuración de Terraform dentro del bloque clusterupgrade para anular el tiempo de rodaje utilizado en el lanzamiento de una versión específica:

gke_upgrade_overrides {
    upgrade {
      name = "UPGRADE_NAME"
      version = "VERSION"
    }
    post_conditions {
      soaking = "SOAK_TIME"
    }
  }

Equipos - gcloud

Ejecuta este comando en el proyecto host de la flota del ámbito del equipo. Sustituye SCOPE_NAME por el nombre del ámbito del equipo para el que quieras anular el tiempo de rodaje usado en el lanzamiento de una versión específica.

Para cambiar el tiempo de espera de un ámbito de equipo, sigue estos pasos:

gcloud container fleet scopes update SCOPE_NAME \
    --add-upgrade-soaking-override=SOAK_TIME \
    --upgrade-selector=name=UPGRADE_NAME,version=VERSION

Actualizar los grupos de una secuencia de lanzamiento

Puedes actualizar una secuencia de lanzamiento para añadir o quitar grupos, o cambiar el orden de los grupos que ya hay. Para hacer estos cambios, actualiza las asociaciones entre grupos.

Puedes seguir estos pasos en la consola (vista previa, secuencia de lanzamiento basada en la flota) o con la CLI de gcloud. Trusted Cloud

Flotas - gcloud

Usa el comando gcloud container fleet clusterupgrade update con la marca --upstream-fleet para añadir o cambiar flotas upstream. Usa la marca --reset-upstream-fleet para quitar una flota upstream.

Puedes realizar acciones como las siguientes:

  • Añade otra flota al principio de la secuencia de lanzamiento añadiendo una flota upstream a la primera flota de la secuencia.
  • Cambia el orden de las flotas en la secuencia de lanzamiento modificando las asociaciones de flotas upstream.
  • Elimina la primera flota de la secuencia de lanzamiento eliminando la flota upstream de la segunda flota.

Flotas (consola)

  1. Ve a la página Secuencia de lanzamiento de la Trusted Cloud consola.

    Ir a Secuenciación de lanzamientos

  2. Consulta la secuencia en la sección Monitorizar la secuencia de lanzamiento. Si no ves ninguna secuencia de lanzamiento, cambia a otra o crea una si aún no lo has hecho.

  3. En el gráfico de lanzamiento, haz clic en los elementos de las flotas actuales en la secuencia. Después de hacer clic en esos elementos, puedes realizar algunas de las siguientes acciones para aplicar los cambios:

    • Haz clic en Añadir flota de nivel inferior.
    • Haz clic en Añadir flota upstream.
    • Haz clic en Quitar flota.

Puedes realizar acciones como las siguientes:

  • Añade otra flota al final de la secuencia de lanzamiento añadiendo una flota de nivel inferior a la última flota de la secuencia.
  • Añade otra flota al principio de la secuencia de lanzamiento añadiendo una flota upstream a la primera flota de la secuencia.
  • Cambia el orden de las flotas en la secuencia de lanzamiento eliminando flotas y, a continuación, volviendo a añadirlas con una flota upstream o downstream diferente.
  • Quita la primera flota de la secuencia de lanzamiento.
  • Elimina la última flota de la secuencia de lanzamiento.
  • Elimina la flota intermedia de la secuencia de lanzamiento después de eliminar la primera o la última flota de la secuencia.

Equipos - gcloud

Usa el comando gcloud container fleet scopes update con la marca --upstream-scope para añadir o cambiar los ámbitos del equipo de nivel superior. Usa la marca --reset-upstream-scope para quitar un ámbito de equipo superior.

Puedes realizar acciones como las siguientes:

  • Añade otro ámbito de equipo al principio de la secuencia de lanzamiento añadiendo un ámbito de equipo ascendente al primer ámbito de equipo de la secuencia.
  • Cambia el orden de los ámbitos del equipo en la secuencia de lanzamiento modificando las asociaciones de ámbitos del equipo ascendente.
  • Elimina el primer ámbito de equipo de la secuencia de lanzamiento quitando el ámbito de equipo ascendente del segundo ámbito de equipo.

Retrasar la finalización del lanzamiento de la versión del grupo

Si necesitas impedir temporalmente que un grupo complete el lanzamiento de una nueva versión en sus clústeres, puedes añadir una exclusión de mantenimiento a cualquiera de los clústeres que no se hayan actualizado a la versión de destino. De esta forma, se puede pausar un grupo para que no pase al tiempo de permanencia o al grupo posterior durante un máximo de 30 días. Al cabo de 30 días, el grupo empezará a absorber.

También puedes cambiar el tiempo de espera de ese grupo a 30 días para maximizar el tiempo que espera la secuencia de lanzamiento antes de pasar al siguiente grupo.

Si necesitas retrasar aún más el inicio de las actualizaciones del siguiente grupo, puedes usar exclusiones de mantenimiento para los clústeres del siguiente grupo.

Alternar entre secuencias de lanzamiento basadas en flotas y en equipos

Puedes cambiar de secuencias basadas en flotas a secuencias basadas en equipos y viceversa. En las instrucciones se da por hecho que vas a transferir datos entre secuencias organizadas como las que se muestran en los diagramas de ejemplo.

Flotas a equipos

Para cambiar tus clústeres de una secuencia de lanzamiento basada en flotas a una basada en equipos, sigue estos pasos:

  1. Configura exclusiones de mantenimiento para todos los clústeres de cada una de tus flotas para evitar actualizaciones mientras modificas la configuración.
  2. En cada una de tus flotas, crea uno o varios permisos de equipo para subdividir el grupo de clústeres de esa flota.
  3. Crea una o varias secuencias de lanzamiento entre los permisos de equipo coincidentes de cada flota.
  4. Añade tus clústeres a sus nuevos ámbitos de equipo.
  5. Elimina las exclusiones de mantenimiento que hayas configurado para este cambio.

De equipos a flotas

Para cambiar tus clústeres de una secuencia de lanzamiento basada en equipos a una basada en flotas, sigue estos pasos:

  1. Configura exclusiones de mantenimiento para todos los clústeres de cada una de tus flotas para evitar que se realicen actualizaciones mientras modificas la configuración.
  2. Crea una secuencia de lanzamiento entre tus flotas.
  3. Quita tus clústeres de los ámbitos de su equipo. Ahora, estos clústeres solo están registrados en las flotas de su ámbito respectivo, a las que te has unido en el paso anterior en una secuencia de lanzamiento.
  4. Elimina los ámbitos del equipo.
  5. Elimina las exclusiones de mantenimiento que hayas configurado para este cambio.

Eliminar una secuencia

Para eliminar una secuencia, debes quitar las asociaciones de nivel superior de cada grupo, excepto del primero. El primer grupo no tiene un grupo de origen.

Puedes seguir estos pasos en la consola (vista previa, secuencia de lanzamiento basada en la flota) o con la CLI de gcloud. Trusted Cloud

Flotas - gcloud

Ejecuta el siguiente comando en el proyecto host de la flota de cada una de las flotas de la secuencia de lanzamiento, excepto en la primera:

gcloud container fleet clusterupgrade update --reset-upstream-fleet

Flotas (consola)

  1. Ve a la página Secuencia de lanzamiento de la Trusted Cloud consola.

    Ir a Secuenciación de lanzamientos

  2. Consulta la secuencia en la sección Monitorizar la secuencia de lanzamiento. Si no ves ninguna secuencia de lanzamiento, cambia a otra o crea una si aún no lo has hecho.

  3. En el gráfico de lanzamiento, haz clic en el elemento de la última flota.

  4. Haz clic en Quitar flota.

  5. Para quitar la flota, haz clic en Quitar.

  6. Repite los tres pasos anteriores hasta que solo quede la primera flota.

Equipos - gcloud

Ejecuta el siguiente comando en el proyecto host de la flota del segundo y tercer ámbito del equipo en la secuencia de lanzamiento:

gcloud container fleet scopes update SCOPE_NAME --reset-upstream-scope

Sustituye SCOPE_NAME por los nombres del segundo y tercer ámbito, respectivamente.

Solución de problemas

Solucionar problemas relacionados con los requisitos de lanzamiento

Si no todos los clústeres de una secuencia de lanzamiento tienen el mismo destino de actualización, es posible que GKE no pueda continuar con las actualizaciones de los clústeres. Las actualizaciones automáticas no pueden continuar si un grupo upstream no cumple los requisitos de un destino de actualización para pasarlo al grupo downstream. Las actualizaciones automáticas tampoco pueden llevarse a cabo si los clústeres del grupo upstream tienen un destino de actualización no válido para los clústeres del grupo downstream.

Para comprobar si tu secuencia de lanzamiento tiene algún problema con los requisitos, consulta el estado de la secuencia de lanzamiento. Si un grupo no cumple los requisitos, sigue las instrucciones para ver el estado de los clústeres individuales de un grupo.

Para avanzar inmediatamente las actualizaciones de clústeres, elimina los clústeres con el estado INELIGIBLE siguiendo las instrucciones para avanzar lanzamientos parcialmente aptos.

Corregir la idoneidad de un grupo

En un grupo, si un clúster no cumple los requisitos porque tiene una versión anterior (por ejemplo, la mayoría de los clústeres del grupo se están actualizando de la versión 1.23 a la 1.24 y un clúster tiene la versión 1.22), puedes actualizar manualmente el clúster a la versión 1.24 para resolver la discrepancia de versiones.

En un grupo, GKE ignora los clústeres que tengan una versión posterior a la de la actualización automática. Estos clústeres no impiden que las actualizaciones se realicen en el grupo de nivel inferior.

Corregir la idoneidad entre grupos

Si hay un desajuste entre los grupos en los objetivos de actualización, de forma que el grupo de nivel inferior tenga una versión más reciente (por ejemplo, el grupo de nivel superior se ha actualizado de la versión 1.23 a la 1.24 y los clústeres del grupo de nivel inferior tienen la versión 1.25), puedes actualizar manualmente los clústeres del grupo de nivel superior a la versión 1.25 para asegurarte de que las actualizaciones se lleven a cabo.

Si hay un desajuste entre los grupos en los destinos de actualización, de forma que el grupo de nivel inferior tenga una versión anterior (por ejemplo, el grupo de nivel superior se ha actualizado de la versión 1.24 a la 1.25 y los clústeres del grupo de nivel inferior tienen la versión 1.23), puedes actualizar manualmente los clústeres del grupo de nivel inferior a la versión 1.24 o 1.25 para asegurarte de que las actualizaciones se lleven a cabo. Si GKE actualiza el grupo upstream a cualquier versión para la que sea apto el grupo downstream, GKE actualiza los clústeres del grupo downstream a esa versión de destino. En esta situación, no es necesario que actualices los clústeres manualmente para desbloquear la secuencia. Para obtener más información, consulta El grupo de nivel superior ha cualificado varios objetivos de actualización para el grupo de nivel inferior.

Avanzar lanzamientos parcialmente aptos

Si las actualizaciones de clústeres de un grupo no se completan debido a problemas con la idoneidad del lanzamiento (por ejemplo, discrepancias de versión en un grupo), puedes quitar los clústeres que no sean aptos para el objetivo de actualización del grupo para completar el lanzamiento de la versión y empezar el tiempo de permanencia o pasar al siguiente grupo de la secuencia de lanzamiento. También puedes quitar un clúster de un grupo por otros motivos, por ejemplo, si el uso de este clúster ya no está relacionado con los demás clústeres del grupo.

Sigue las instrucciones para dar de baja un clúster de una flota o quitar clústeres de los ámbitos de equipo, en función del tipo de secuencia de lanzamiento.

Una vez que hayas eliminado todos los clústeres que impiden que se complete el lanzamiento de la versión de un grupo, se completará. Para confirmarlo, sigue las instrucciones para consultar el estado del lanzamiento de una versión.

Siguientes pasos