Modernización del plano de control administrado

Google actualizará gradualmente las flotas existentes que usaban la implementación del plano de control administrado por ISTIOD para usar la implementación de TRAFFIC_DIRECTOR. De forma predeterminada, Google migrará automáticamente tus flotas, pero puedes optar por realizar la migración por tu cuenta. Para verificar qué plano de control usa tu flota, consulta Cómo verificar la implementación del plano de control.

Ten en cuenta lo siguiente cuando prepares tu flota para la modernización:

  1. Para prepararte para la modernización, tienes dos maneras de controlar el proceso:

    • Migración automática impulsada por Google (predeterminada): Puedes personalizar el orden en que se modernizan tus clústeres con las instrucciones que se indican en Modernización impulsada por Google.

    • Migración impulsada por el cliente (opcional): Puedes optar por dirigir la modernización de tus flotas por tu cuenta. Para ello, etiquétalas según las instrucciones que se indican en Migración impulsada por el cliente.

  2. La modernización impulsada por Google es la opción predeterminada. Con esta opción, Google determina cuándo tus flotas están listas para la modernización. Google programa la modernización de tus flotas y te notifica antes de iniciar el proceso.

  3. La modernización de un clúster reiniciará las cargas de trabajo que tengan proxies. Esto no debería causar tiempo de inactividad si sigues las prácticas recomendadas de Kubernetes. Además, Google activará la modernización durante un período de mantenimiento, si lo configuraste. Una vez iniciado, se ejecuta hasta completarse con 6 días adicionales de tiempo de inmersión antes de marcarse como finalizado. Si la supervisión detecta problemas, puedes solicitar una reversión.

  4. En el caso de la modernización impulsada por el cliente, Google te notifica cuando tus flotas están preparadas para la modernización. Luego, puedes elegir cuándo activar la modernización, clúster por clúster. Una vez que se complete, marcarás cada modernización de flota como completa.

  5. Una vez que se moderniza una flota, Google quita todos los componentes basados en Istiod.

  6. La implementación del plano de control TRAFFIC_DIRECTOR requiere que tu clúster esté registrado en una flota con la función de malla habilitada. Si te integraste con herramientas heredadas, Google registrará automáticamente tu clúster en la flota de su proyecto con la API de gkehub.googleapis.com Membership. Si tienes alguna automatización que cancele el registro de un clúster, debes quitarla antes de la modernización.

Modernización impulsada por Google

Esta opción es la predeterminada si no etiquetas tus flotas para la modernización impulsada por el cliente. Google supervisará tus flotas para determinar cuándo estarán listas para modernizarse de forma segura. Cuando todas las flotas habilitadas para malla de tu organización estén listas, se programará la modernización de tu organización.

Varias flotas

Si tu organización tiene varias flotas con Cloud Service Mesh administrado, puedes controlar el orden en que Google moderniza tus flotas configurando una etiqueta de proyecto de mesh-modernization-order en uno de los valores: early, default, late. Google completará la modernización de cada grupo antes de comenzar la modernización de cualquier flota en el siguiente grupo. Las flotas para las que elegiste la modernización impulsada por el cliente no se considerarán en este ordenamiento.

Usa el siguiente comando para configurar la etiqueta mesh-modernization-order de una flota:

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

Para obtener instrucciones sobre cómo configurar etiquetas de proyectos con Console o REST, consulta el documento sobre cómo crear y administrar etiquetas.

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

Mallas de varios clústeres

Si una flota tiene varios clústeres que usan Cloud Service Mesh administrado, puedes controlar el orden en que Google moderniza los clústeres configurando la etiqueta de clúster de mesh-modernization-order en uno de los siguientes valores: early, default o late. Google comenzará la modernización de cada grupo y esperará a que se completen los pasos de modernización automatizados antes de comenzar la modernización de cualquier clúster en el siguiente grupo. Ten en cuenta que este orden solo se aplicará dentro de una flota y no afectará a otras flotas de tu organización que puedan modernizarse en paralelo.

Usa el siguiente comando para establecer la etiqueta mesh-modernization-order para un clúster:

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

Modernización centrada en el cliente

Puedes controlar el momento exacto de la modernización a nivel de la flota. Para ello, aplica una etiqueta en el proyecto host de la flota con el siguiente comando:

gcloud alpha projects update FLEET_PROJECT_ID \
  --update-labels="mesh-modernization-mode=manual"

Ten en cuenta que, si tu Google Cloud organización tiene varias flotas, las que no estén etiquetadas se programarán para la modernización impulsada por Google.

Una vez que tu flota sea apta para modernizarse, recibirás una notificación en el estado de la función a nivel de la flota. Debes activar la modernización en un plazo de 3 meses a partir de la recepción de esta notificación.

Esta documentación se actualizará para incluir detalles sobre cómo activar la modernización manualmente. Suscríbete al feed de notas de la versión de Cloud Service Mesh para recibir notificaciones.

Modernización activa para la migración impulsada por Google

En esta sección, se describen los pasos de la modernización impulsada por Google.

Modernización de flotas

Google activará la modernización activa de cada una de las flotas de tu organización. Esto significa que, para cada flota, se ejecutan los siguientes pasos:

  1. Moderniza todos los clústeres con mesh-modernization-order de early.
  2. Moderniza todos los clústeres con mesh-modernization-order de default o no especificado.
  3. Moderniza todos los clústeres con mesh-modernization-order de late.
  4. Espera a que la modernización de cada clúster se marque como finalizada. Esto significa que debes esperar al menos 6 días hábiles después de reiniciar el último pod en cualquier clúster de esta flota.
  5. Finaliza la modernización de esta flota y, finalmente, quita los componentes basados en Istio.

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 y usas la modernización impulsada por Google, este paso comenzará durante un período de mantenimiento y continuará hasta completarse.
  2. Traslada el tráfico a la nueva implementación del plano de control. Si configuraste períodos de mantenimiento para tu clúster y usas la modernización impulsada por Google, este paso comenzará durante un período de mantenimiento y continuará hasta completarse.
    • Se reinician los Pods administrados por la implementación de Kubernetes que tienen proxies de Cloud Service Mesh para que se vuelvan a conectar al nuevo plano de control.
    • Los pods se reinician en oleadas cada vez más grandes con tiempo de inactividad después de cada oleada para la supervisión.
  3. Se debe esperar al menos 6 días hábiles de tiempo de inactividad antes de que la modernización de un clúster se marque como finalizada.

Usa el siguiente comando de Google Cloud CLI para verificar el estado de la modernización activa:

gcloud container fleet mesh describe --project FLEET_PROJECT_ID

Verás una condición como una de las siguientes en el campo membershipStates por clúster:

...
membershipStates:
  projects/FLEET_PROJ/locations/us-central1/memberships/MEMBERSHIP:
    servicemesh:
      conditions:
      - code: MODERNIZATION_IN_PROGRESS
        details: ...
        documentationLink: ...
        severity: INFO
...
      # If you see this, see instructions provided in the details and documentationLink fields.
      - code: MODERNIZATION_ACTION_REQUIRED
        details: [details about required actions]
        documentationLink: [link to documentation for required actions]
        severity: WARNING
...
      - code: MODERNIZATION_COMPLETED
        details: ...
        documentationLink: ...
        severity: INFO

Programación y notificaciones

Deberías recibir una notificación de que se programó la actualización de un clúster al menos dos semanas antes de la actualización. Las notificaciones están disponibles en las condiciones de estado de la función a nivel del clúster.

Usa el siguiente comando de Google Cloud CLI para verificar la notificación:

gcloud container fleet mesh describe --project=FLEET_PROJECT_ID

Deberías ver resultados similares a los siguientes:

membershipStates:
  projects/656460026795/locations/us-central1/memberships/cluster:
    servicemesh:
      conditions:
      - code: MODERNIZATION_SCHEDULED
        details: This cluster has been scheduled for modernization on or after (date ~ at least 2 weeks).
        documentationLink: 
        severity: INFO