Modernización del plano de control administrado

Puedes modernizar tus flotas de Cloud Service Mesh de la implementación del plano de control de ISTIOD a la implementación de TRAFFIC_DIRECTOR según tu propio programa o permitir que Google lo programe automáticamente.

Existen dos rutas de modernización, y también puedes combinarlas:

  • Modernización activada por el cliente (autoservicio): Tú mismo inicias y controlas el momento exacto de la modernización de la flota con Google Cloud CLI, independientemente de los programas controlados por Google.
  • Modernización impulsada por Google (predeterminada): Google evalúa la compatibilidad de la flota y programa automáticamente la modernización en toda tu organización según los períodos de mantenimiento y las notificaciones anticipadas. Google espera a que todas las flotas de tu organización sean compatibles, por lo que una sola flota incompatible bloqueará tu modernización.

Independientemente de la ruta que elijas, debes completar los siguientes pasos principales para modernizar tu plano de control:

  1. Verifica la compatibilidad: Habilita las verificaciones de compatibilidad y comprende la compatibilidad de tus flotas con la modernización.
  2. Planifica y configura tu modernización: Elige tu ruta, configura el orden de lanzamiento del clúster y la flota, o bien aplaza flotas específicas.
  3. Corrige las brechas de compatibilidad: Asegúrate de que tus flotas cumplan con todos los requisitos de compatibilidad antes de iniciar la modernización.
  4. Inicia la modernización: Activa la modernización iniciada por el cliente según tu cronograma o espera la programación impulsada por Google.
  5. Modernización activa del clúster: Durante los períodos de mantenimiento configurados, los planos de control duales se ejecutan en paralelo y las implementaciones (cargas de trabajo y puertas de enlace) realizan la transición automáticamente al nuevo plano de control. Deberás reiniciar manualmente las cargas de trabajo de StatefulSet y DaemonSet.
  6. Supervisa el estado, la estabilización y la finalización: Supervisa el progreso de la condición, resuelve cualquier detención, observa las cargas de trabajo durante el período de estabilización (al menos 6 días hábiles) y ofrece asistencia completa para la reversión antes de la finalización a nivel de la flota.

Verifica la compatibilidad de la flota y corrige las brechas

Antes de que cualquier flota pueda modernizarse, ya sea por iniciativa del cliente o de Google, se debe verificar que sea compatible. Debes habilitar los informes de compatibilidad para inspeccionar las posibles condiciones de bloqueo y corregir las brechas de configuración. Para obtener más detalles, consulta Información sobre la compatibilidad de Cloud Service Mesh.

  • En el caso de la modernización impulsada por Google, Google solo programará las organizaciones en las que todas las flotas no aplazadas sean compatibles.
  • Para la modernización activada por el cliente, debes verificar que tu flota objetivo informe MODERNIZATION_COMPATIBLE antes de iniciar la modernización.

Las verificaciones de compatibilidad evalúan los parámetros de configuración de los CRD de Istio, las anotaciones de Pod, las dependencias de infraestructura (como Workload Identity) y los parámetros de escala de tu flota.

Planifica y configura tu modernización

Crea un plan para modernizar tus flotas. Si no lo haces, la modernización impulsada por Google se aplicará de forma predeterminada. Debes tomar medidas para asegurarte de que tus flotas que no son de producción se modernicen primero y tus flotas críticas, al final. Además, la modernización impulsada por Google no programará la modernización de tu organización hasta que el 100% de las flotas no aplazadas de toda tu organización sean compatibles, por lo que la modernización podría bloquearse debido a incompatibilidades locales.

Antes de iniciar la modernización, revisa tus opciones y configura los parámetros de configuración del lanzamiento en las flotas y los clústeres de tu organización.

Rutas disponibles

Enfoque Descripción Clientes ideales Alcance Requisitos previos Aviso anticipado Capacidad de reversión
Modernización activada por el cliente Puedes iniciar la modernización flota por flota según tu propio cronograma. Control detallado sobre el momento de la modernización de la flota (tú decides cuándo iniciar y cuándo revertir a nivel de la flota). Aprovecha la supervisión de aplicaciones existente para recibir alertas si es necesario revertir la actualización. Flota por flota (FLEET_PROJECT_ID). La flota objetivo debe ser compatible con la modernización. N/A. Restauración inmediata de autoservicio con Google Cloud CLI.
Modernización impulsada por Google (predeterminada) Google programa automáticamente la modernización en toda tu organización. Modernización automatizada una vez que todas las flotas de tu organización sean compatibles Toda la Google Cloud organización (todas las flotas no diferidas). Todas las flotas no aplazadas de la organización deben ser compatibles con la modernización. Notificación de flota con más de 14 días de anticipación y notificación de clúster con más de 24 horas de anticipación antes de comenzar. Google revertirá el cambio si la supervisión estandarizada muestra un error. Si la supervisión de la aplicación muestra un error, debes comunicarte con Atención al cliente de Cloud.

Administra varias flotas en una organización

Si tu Google Cloud organización administra varias flotas, no es necesario que elijas un solo enfoque para todas ellas. Puedes combinar estrategias, por ejemplo:

  • Diferir flotas complejas o críticas: Fija flotas específicas a la implementación heredada con --modernization-strategy deferred para que se excluyan de la programación controlada por Google mientras corriges las dependencias o planificas la ejecución activada por el cliente.
  • Comienza con la modernización activada por el cliente en flotas seleccionadas: Primero, moderniza las flotas de prueba, desarrollo o evaluación para validar el comportamiento en tu propio cronograma.
  • Permite que Google modernice las flotas restantes: Las flotas compatibles y no diferidas seguirán habilitadas para la programación controlada por Google.

Cómo aplazar la modernización de la flota (inhabilitación)

Para inhabilitar la modernización impulsada por Google en una flota individual (por ejemplo, para realizar la modernización activada por el cliente más adelante o para corregir dependencias complejas), establece su estrategia en DEFERRED:

gcloud alpha container fleet mesh update \
  --modernization-strategy deferred \
  --project FLEET_PROJECT_ID

Reemplaza FLEET_PROJECT_ID por el ID del proyecto host de flota.

Ten en cuenta que la etiqueta del proyecto heredado mesh-modernization-mode=manual sigue siendo válida, pero se recomienda usar --modernization-strategy deferred. Las demás flotas no aplazadas de tu organización seguirán siendo aptas para la programación basada en Google una vez que sean compatibles.

Cómo configurar el orden de lanzamiento

Puedes controlar el orden de lanzamiento secuencial en tus clústeres y flotas con la etiqueta mesh-modernization-order (temprano, predeterminado o tardío).

Orden de lanzamiento del clúster (se aplica a ambas rutas)

Si una flota contiene varios clústeres, puedes controlar el orden en el que se modernizan los clústeres aplicando la etiqueta mesh-modernization-order a cada uno de ellos. Cuando tú o Google activan la modernización de una flota, cada grupo de clústeres se moderniza de forma secuencial, y se espera a que se completen los pasos de modernización automatizados en el grupo actual antes de comenzar con el siguiente:

gcloud container clusters update CLUSTER_NAME \
  --location LOCATION \
  --update-labels="mesh-modernization-order=VALUE"

Reemplaza CLUSTER_NAME por el nombre del clúster, LOCATION por la ubicación del clúster y VALUE por una de las siguientes opciones:

  • early: El clúster se moderniza en la primera etapa de modernización.
  • default: El clúster se moderniza en la segunda etapa de la modernización.
  • late: El clúster se moderniza en la tercera y última etapa de la modernización.

Orden de lanzamiento de la flota (solo para Google)

En las organizaciones con varias flotas que se someten a la modernización impulsada por Google, puedes controlar el orden en el que Google moderniza tus flotas configurando la etiqueta a nivel del proyecto en el proyecto host de la flota:

gcloud alpha projects update FLEET_PROJECT_ID \
  --update-labels="mesh-modernization-order=VALUE"

Reemplaza FLEET_PROJECT_ID por el ID del proyecto host de la flota y VALUE por uno de los siguientes valores:

  • early: La flota se moderniza en la primera etapa de modernización.
  • default: La flota se moderniza en la segunda etapa de modernización.
  • late: La flota se moderniza en la tercera y última etapa de la modernización.

Google completa la modernización de cada nivel de flota antes de comenzar con el siguiente: primero, el nivel inicial; luego, el predeterminado (y sin etiqueta); y, por último, el nivel tardío. Las flotas marcadas como diferidas no se incluyen en este orden.

Por ejemplo, puedes establecer tus flotas que no son de producción en early, una flota especialmente crítica en late y dejar las demás en el valor predeterminado.

Si no usas Google Cloud organizaciones, tus flotas se programarán y modernizarán de forma independiente, y no podrás controlar el orden.

Modernización activada por el cliente (autoservicio)

La modernización activada por el cliente te brinda control directo sobre cuándo comienza la modernización de una flota individual.

Activación de la modernización de la flota

Una vez que tu flota objetivo informe MODERNIZATION_COMPATIBLE, activa la modernización con el siguiente comando:

gcloud alpha container fleet mesh update \
  --modernization-strategy automatic \
  --project FLEET_PROJECT_ID

Reemplaza FLEET_PROJECT_ID por el ID del proyecto host de flota.

  • Períodos de mantenimiento: Google respeta los períodos de mantenimiento y las exclusiones configurados del clúster. La modernización del clúster comienza durante el próximo período de mantenimiento abierto del clúster.
  • Ordenamiento de clústeres: Si configuraste etiquetas de mesh-modernization-order en tus clústeres, Google respeta ese ordenamiento.

Supervisa el progreso

Sigue las instrucciones en Verifica el estado de modernización para supervisar el progreso de la modernización de la flota y el clúster.

Cómo revertir una modernización activada por el cliente

Si detectas problemas durante la modernización activa del clúster o durante el período de prueba de la flota (antes de la finalización a nivel de la flota), puedes activar una reversión inmediata:

gcloud alpha container fleet mesh update \
  --modernization-strategy deferred \
  --project FLEET_PROJECT_ID

Reemplaza FLEET_PROJECT_ID por el ID del proyecto host de flota.

Esto dejará tu flota en el estado diferido, es decir, no se tendrá en cuenta para la modernización impulsada por Google. Cuando esté todo listo para volver a intentar la modernización, vuelve a ejecutar el comando para activar la modernización de la flota.

Modernización impulsada por Google (predeterminada automatizada)

Si no inicias la modernización activada por el cliente, Google la administrará automáticamente en toda tu organización.

Programación en toda la organización

Google supervisa tus flotas de forma continua. Una vez que todas las flotas aptas para la malla de tu organización (excepto las flotas diferidas) sean compatibles con la modernización, Google programará la modernización de tu organización.

Notificaciones y programación anticipadas

Google proporciona dos niveles de notificación anticipada antes de comenzar la modernización:

Notificación a nivel de la flota

Primero, recibirás una notificación cuando se identifiquen tus flotas como compatibles con la modernización y se seleccionen para que se lleve a cabo la modernización impulsada por Google en el futuro.

  • La modernización de tu clúster puede comenzar 14 días después del primer día hábil del mes siguiente a la notificación. Por ejemplo, si Google determina que tu organización está lista el 10 de enero de 2027, te notificaremos antes del 31 de enero de 2027 que la fecha de inicio de modernización más próxima posible es el 15 de febrero de 2027.

  • Recibirás notificaciones simultáneas para cada una de las flotas de tu organización (excepto las que hayas aplazado). Esta notificación está disponible en las condiciones de estado de las funciones a nivel de la flota (MODERNIZATION_WILL_BE_SCHEDULED).

Notificación a nivel del clúster

Recibirás una notificación a nivel del clúster sobre la fecha de inicio estimada de la modernización impulsada por Google de ese clúster, al menos 1 día (24 horas) antes de que comience la modernización del clúster.

Después de la notificación a nivel de la flota, esto te proporciona una sincronización mucho más precisa de la modernización de los clústeres individuales. Esta notificación está disponible en las condiciones de estado de la función a nivel del clúster (MODERNIZATION_SCHEDULED).

Solicitud de reversión para la modernización impulsada por Google

Si surgen problemas durante la modernización activa o el período de prueba en una flota de modernización impulsada por Google, comunícate con Atención al cliente de Cloud para solicitar una reversión.

Qué sucede durante la modernización activa

En esta sección, se describe lo que sucede durante la modernización activa de las flotas y los clústeres.

Modernización de flotas

Para cada flota que se moderniza (ya sea por iniciativa de Google o del cliente), habilitamos la nueva implementación del plano de control para todos los clústeres según el orden (temprano → predeterminado → tardío).

Una vez que el plano de control esté habilitado para todos los clústeres, cambiaremos el tráfico a la nueva implementación del plano de control para todos los clústeres según el orden (temprano → predeterminado → tardío).

Consulta Cómo verificar el estado de modernización de la flota para verificar el estado actual.

Período de tiempo de espera de la flota

Una vez que se desvía el tráfico de todos los clústeres, la flota entra en un período de estabilización. La flota permanece en el período de prueba (MODERNIZATION_MODERNIZED) durante al menos 6 días hábiles después de que todos los clústeres completen la modernización antes de pasar a MODERNIZATION_FINALIZED. Se conserva la capacidad de reversión completa durante todo el período de prueba. Una vez que se finaliza la modernización, ya no es posible revertir los cambios, y es posible que se anulen los componentes de ISTIOD.

Moderniza un clúster

Durante la modernización activa de un clúster, ambas implementaciones del plano de control se ejecutan temporalmente en paralelo, y, de forma segura y controlada, se procesan las siguientes tareas:

  1. Habilita la nueva implementación del plano de control. Si configuraste períodos de mantenimiento para tu clúster, este paso comenzará durante un período de mantenimiento y continuará hasta que se complete. Ten en cuenta los siguientes detalles:
  2. Transfiere el tráfico a la nueva implementación del plano de control. Si configuraste períodos de mantenimiento para tu clúster, este paso comenzará durante un período de mantenimiento y continuará hasta que se complete. Ten en cuenta los siguientes detalles:
    • Se reinician los Pods administrados por la implementación de Kubernetes que tienen proxies de Cloud Service Mesh, por lo que se vuelven a conectar al nuevo plano de control.
    • Los Pods se reinician en oleadas progresivamente más grandes con un tiempo de espera después de cada oleada para la supervisión.
  3. Se reiniciaron manualmente las cargas de trabajo para las no implementaciones (se requiere la acción del cliente).

    • Google reinicia automáticamente las cargas de trabajo administradas por las implementaciones de Kubernetes. Las cargas de trabajo administradas por otros tipos de recursos de Kubernetes, como StatefulSets y DaemonSets, se deben reiniciar de forma manual.
    • Reinicia estas cargas de trabajo después de que el estado del clúster informe MODERNIZATION_COMPLETED (es decir, cuando el clúster esté en el período de saturación).
    • Debes reiniciar estas cargas de trabajo antes de que finalice la modernización de la flota. De lo contrario, esos proxies permanecerán conectados al plano de control heredado de Istiod que se programó para su desaprovisionamiento.
    • Reinicia las cargas de trabajo con enfoques estándar de Kubernetes, como kubectl rollout restart ....
  4. Una vez que se realiza la transición de todas las cargas de trabajo en un clúster, este espera el período de prueba de la flota.

Para supervisar el estado de modernización activo de tus clústeres, consulta Cómo verificar el estado de modernización.

Verifica el estado de modernización y toma medidas

Puedes supervisar el progreso de modernización de tus flotas y clústeres con Google Cloud CLI:

gcloud container fleet mesh describe --project FLEET_PROJECT_ID

Reemplaza FLEET_PROJECT_ID por el ID del proyecto host de flota.

El resultado es similar al siguiente:

  membershipStates:
    projects/123456789/locations/global/memberships/cluster-1:
      servicemesh:
        conditions:
        - code: MODERNIZATION_MIGRATING_WORKLOADS
          documentationLink: https://cloud.google.com/service-mesh/docs/...
          severity: INFO
  state:
    servicemesh:
      conditions:
      - code: MODERNIZATION_MODERNIZING
        documentationLink: https://cloud.google.com/service-mesh/docs/...
        severity: INFO

El estado de modernización se informa en los campos state.servicemesh.conditions (a nivel de la flota) y membershipStates.<MEMBERSHIP_NAME>.servicemesh.conditions (a nivel del clúster):

Estado de una modernización de la flota exitosa

En una modernización exitosa de la flota, el estado de la flota comenzará como MODERNIZATION_MODERNIZING.

Luego, cada clúster pasaría por los siguientes estados:

  • MODERNIZATION_SCHEDULED
  • MODERNIZATION_PREPARING
  • MODERNIZATION_PREPARED
  • MODERNIZATION_MIGRATING_WORKLOADS
  • MODERNIZATION_COMPLETED

Una vez que todos los clústeres de la flota hayan completado su modernización, la flota pasará por los siguientes estados:

  • MODERNIZATION_MODERNIZED
  • MODERNIZATION_FINALIZED

Reversiones

La modernización impulsada por Google supervisa la preparación y el estado de tu implementación durante todo el proceso de modernización, y activaremos automáticamente una reversión si detectamos problemas. Si detectas un problema, comunícate con Atención al cliente de Cloud para solicitar una reversión.

En el caso de la modernización activada por el cliente, puedes revertir la modernización en cualquier momento.

Durante una reversión, la flota muestra el estado MODERNIZATION_ROLLING_BACK_FLEET y el clúster muestra el estado MODERNIZATION_ROLLING_BACK_CLUSTER.

Una vez que se completa la reversión de un clúster, se muestra temporalmente el estado MODERNIZATION_ABORTED.

Cómo controlar errores y detenciones (solo activados por el cliente)

Durante la modernización activada por el cliente, si un clúster encuentra un problema que impide el progreso, su condición cambia a MODERNIZATION_STALLED. Google no activará reversiones para la modernización activada por el cliente. Debes priorizar el problema y decidir si lo corregirás en una versión futura o si activarás una reversión.

Cuando un clúster informa MODERNIZATION_STALLED, inspecciona los detalles de la condición para obtener un vínculo directo a la sección de errores pertinente:

Errores con diálogo de acción para el usuario

Si detectamos una configuración de malla o clúster incompatible, detendremos la modernización. Asegúrate de que los informes de compatibilidad estén habilitados y revisa las condiciones a nivel de la flota y del clúster para detectar brechas, como se describe en Cómo comprender la compatibilidad de Cloud Service Mesh.

  • Reintento inmediato: Tan pronto como se resuelve el bloqueo, detectamos el cambio y reanudamos la modernización de inmediato, sin esperar al siguiente período de mantenimiento.

Errores internos

Los ingenieros de Google revisan los problemas internos del servicio de Google y reanudarán la modernización si es posible. Ten en cuenta que la modernización podría reanudarse fuera de un período de mantenimiento, al igual que en el caso de los errores que el usuario puede corregir. Para evitar esto, puedes activar una reversión.

Si la modernización se detiene durante más de 24 horas y no hay brechas de compatibilidad, comunícate con Atención al cliente de Cloud para obtener más detalles o activa una reversión si se ven afectadas las cargas de trabajo de producción.

Referencia de las condiciones a nivel de la flota

Condición Descripción
MODERNIZATION_COMPATIBLE La flota es compatible con la nueva implementación del plano de control.
MODERNIZATION_WILL_BE_SCHEDULED Modernización impulsada por Google: Todas las flotas no aplazadas de la organización son compatibles y se pusieron en cola para la programación.
MODERNIZATION_MODERNIZING La modernización está en curso de forma activa para uno o más clústeres de la flota.
MODERNIZATION_MODERNIZED Todos los clústeres completaron la modernización activa. La flota está en el período de prueba.
MODERNIZATION_FINALIZED Se completó y finalizó la modernización. Se quitarán los componentes heredados de istiod. Ya no es posible revertir la actualización.
MODERNIZATION_ROLLING_BACK_FLEET Se está realizando una reversión a nivel de la flota.

Referencia de las condiciones a nivel del clúster

Condición Descripción
MODERNIZATION_SCHEDULED El clúster está programado para modernizarse en la fecha especificada en la condición o después de ella. Si se configuran exclusiones o períodos de mantenimiento para tu clúster, la fecha indicará el período de mantenimiento objetivo.
MODERNIZATION_PREPARING Se habilitó la nueva implementación del plano de control.
MODERNIZATION_PREPARED Se habilitó la nueva implementación del plano de control. La migración de la carga de trabajo aún no comenzó.
MODERNIZATION_MIGRATING_WORKLOADS El clúster está migrando activamente las cargas de trabajo a la nueva implementación del plano de control.
MODERNIZATION_COMPLETED El clúster completó la modernización y está en el período de prueba.
MODERNIZATION_STALLED La modernización se detuvo debido a un error (solo activado por el cliente). Consulta los detalles de la condición para obtener la resolución.
MODERNIZATION_ROLLING_BACK_CLUSTER El clúster se está revirtiendo de forma activa.
MODERNIZATION_ABORTED El clúster se revirtió al plano de control heredado. Se informa durante un período breve.