Modernización del plano de control administrado

Debes modernizar tus flotas de Cloud Service Mesh de la implementación del plano de control ISTIOD obsoleto a la implementación de TRAFFIC_DIRECTOR antes de la fecha límite de fin de la asistencia. Puedes iniciar la modernización según tu propio programa o permitir que Google la programe automáticamente una vez que tu organización sea compatible.

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 de la flota y el clúster, 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 Cómo comprender la compatibilidad de Cloud Service Mesh.

  • Para 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 la configuración de los CRD de Istio de tu flota, las anotaciones de Pod, las dependencias de infraestructura (como Workload Identity) y los parámetros de escala.

Cómo controlar las funciones no admitidas

Como parte de la baja del plano de control de ISTIOD, Google Cloud finalizará la compatibilidad con las funciones que no son compatibles con la implementación del plano de control de TRAFFIC_DIRECTOR. Consulta los detalles de la compatibilidad con la API.

Si usas funciones no compatibles, debes realizar una de las siguientes acciones antes de que finalice la compatibilidad (consulta Obsolescencias):

  • Refactoriza tu configuración (recomendado): Quita los campos no admitidos o reemplázalos por alternativas compatibles con Cloud Service Mesh para que tu flota informe MODERNIZATION_COMPATIBLE y, luego, moderniza la implementación del plano de control TRAFFIC_DIRECTOR.
  • Migra a Istio de código abierto (OSS): Si tus cargas de trabajo requieren estrictamente funciones que el Cloud Service Mesh administrado con TRAFFIC_DIRECTOR no admite, no puedes modernizar esos clústeres a TRAFFIC_DIRECTOR. Debes migrar esas cargas de trabajo a Istio de código abierto autoadministrado.
  • Desinstala Cloud Service Mesh: Puedes desinstalar Cloud Service Mesh administrado.

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 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 de flota en flota según tu propia programación. Control detallado sobre el momento de la modernización de la flota (tú decides cuándo iniciar y cuándo revertir la modernización a nivel de la flota) Aprovecha tu supervisión de aplicaciones existente para alertarte 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.

Administrar 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:

  • Aplazar 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 según tu propia cronología.
  • Permitir 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, 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.

Establecer --modernization-strategy deferred es la forma recomendada de hacer lo siguiente:

  • Excluye flotas específicas de la programación impulsada por Google porque planeas modernizarlas según tu propio cronograma con la modernización activada por el cliente.
  • Suspende temporalmente la modernización en flotas complejas o críticas mientras corriges las dependencias, lo que permite que otras flotas compatibles de tu organización continúen con la programación impulsada por Google.

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 controlada por 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 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 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 modernización.
  • late: El clúster se moderniza en la tercera y última etapa de modernización.

Orden de lanzamiento de la flota (solo para Google)

En las organizaciones con varias flotas que se someten a una 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 para el 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. Supervisa tu aplicación para determinar si necesitas revertir la versión, en especial durante los estados MODERNIZATION_PREPARING y MODERNIZATION_MIGRATING_WORKLOADS.

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 y 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 anticipadas y programación

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 la modernización más próxima posible es el 15 de febrero de 2027.

  • Recibirás notificaciones simultáneas sobre 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.

Después de la notificación a nivel de la flota, esto te brinda 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 o el período de prueba activos en una flota de modernización impulsada por Google, comunícate con la 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 para 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 la transición 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 el proceso 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 las siguientes tareas se procesan de forma segura y controlada:

  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, de modo que se vuelvan a conectar al nuevo plano de control.
    • Los Pods se reinician en oleadas progresivamente más grandes con un tiempo de estabilización después de cada oleada para la supervisión.
  3. Reinicios manuales de cargas de trabajo para 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 estabilización).
    • Debes reiniciar estas cargas de trabajo antes de que se 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 migran todas las cargas de trabajo de 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 exitosa de la flota

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.

Manejo de 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 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 el próximo 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 requieren la intervención del usuario. 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 su 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 La modernización se completó y finalizó. 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 períodos de mantenimiento o exclusiones 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 se inició.
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 una 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 denunció por un período breve.