Migra clústeres nativos de la VPC a GKE Dataplane V2

Usa este documento para migrar tus clústeres existentes de Google Kubernetes Engine (GKE) nativos de VPC de Dataplane V1 a GKE Dataplane V2, supervisar la migración y revertirla si es necesario.

Este documento está dirigido a los administradores y operadores de plataformas, y a los especialistas en herramientas de redes que administran las configuraciones de red de sus clústeres de GKE.

Antes de comenzar, obtén información sobre lo que sucede durante cada fase de migración y cómo planificar la interrupción de la carga de trabajo en Acerca de la migración a GKE Dataplane V2.

Antes de comenzar

Antes de iniciar la migración, verifica que tu clúster cumpla con los requisitos de elegibilidad y considera el impacto en tus cargas de trabajo.

Verifica que tu clúster cumpla con estos requisitos:

  • El clúster es un clúster nativo de la VPC.
  • El clúster ejecuta la versión 1.35.3-gke.1155000 o una posterior.
  • Los grupos de nodos ejecutan la versión 1.35.1-gke.1516000 o una posterior.
  • Si usas Cloud Service Mesh o Istio de código abierto, tu versión de Istio es 1.23 o posterior.

Prepara tu clúster

Completa las siguientes tareas antes de iniciar la migración:

  • Eliminación de NetworkPolicy: Quita tus políticas de red existentes. Si GKE aplica repentinamente políticas de red cuando vuelve a crear tus nodos, es posible que experimentes una interrupción de red no deseada.
  • Políticas de red de Calico: Si usas un clúster de GKE Standard con la política de red (Calico) habilitada, inhabilita la aplicación de la política de red. No puedes migrar estos clústeres directamente.
  • Recomendaciones de Active Assist: consulta Active Assist o la página de detalles del clúster para obtener recomendaciones que puedan entrar en conflicto con la migración.
  • Capacidad de dirección IP: Verifica que el rango de direcciones IP de Pod de tu clúster tenga suficiente capacidad para tus estrategias de actualización de grupos de nodos. Para obtener más información, consulta Estadísticas de uso de direcciones IP de GKE insights.
    • Funciones de redes: Habilita las funciones de redes, como NodeLocal DNSCache o la visibilidad dentro de los nodos, antes de iniciar la migración o después de que se complete. No puedes habilitarlas durante la migración.

Comprende las limitaciones

  • Configuraciones de redes bloqueadas: Después de iniciar la migración, no puedes cambiar las configuraciones de redes de todo el clúster hasta que se complete la migración.
  • Períodos de mantenimiento: La migración sigue tus períodos de mantenimiento y exclusiones de mantenimiento, por lo que puede parecer que se detiene. Para acelerarla, puedes aplicar parches a los grupos de nodos de forma manual. Para conocer los pasos, consulta Acelera la migración.
  • Funciones opcionales de GKE Dataplane V2: Configura las funciones opcionales de GKE Dataplane V2 como la observabilidad de GKE Dataplane V2 o la compatibilidad con varias redes para Pods, después de que se complete la migración.
  • Terraform: No puedes usar Terraform para migrar a GKE Dataplane V2.

Inicia la migración

Para iniciar la migración de forma manual y omitir las verificaciones de diagnóstico automáticas, puedes aplicar parches al clúster con Google Cloud CLI.

Ejecuta el siguiente comando:

gcloud container clusters update CLUSTER_NAME \
    --location=LOCATION \
    --enable-dataplane-v2

Reemplaza lo siguiente:

  • CLUSTER_NAME: el nombre del clúster
  • LOCATION: la ubicación de procesamiento del clúster

Observa el progreso de la migración

Puedes supervisar el estado de la migración verificando el campo datapathProvider. Durante la transición, este campo muestra MIGRATE_TO_ADVANCED_DATAPATH.

  1. Verifica el estado del clúster:

    gcloud container clusters describe CLUSTER_NAME \
        --location=LOCATION \
        --format='value(networkConfig.datapathProvider)'
    

    Reemplaza lo siguiente:

    • CLUSTER_NAME: el nombre del clúster
    • LOCATION: la ubicación de procesamiento del clúster
  2. Verifica el estado del grupo de nodos:

    gcloud container node-pools list \
        --cluster=CLUSTER_NAME \
        --location=LOCATION \
        --format='value(name, networkConfig.datapathProvider)'
    

    Reemplaza lo siguiente:

    • CLUSTER_NAME: el nombre del clúster
    • LOCATION: la ubicación de procesamiento del clúster
  3. Verifica el DaemonSet anetd para comprobar que los agentes se estén ejecutando:

    kubectl get ds -n kube-system anetd
    

Acelera la migración

Para omitir el programa de lanzamiento automático, aplica parches a los grupos de nodos de forma manual.

Para aplicar parches a un grupo de nodos de forma manual, ejecuta el siguiente comando:

gcloud container node-pools update NODE_POOL_NAME \
    --cluster=CLUSTER_NAME \
    --location=LOCATION \
    --datapath-provider=advanced-datapath

Reemplaza lo siguiente:

  • NODE_POOL_NAME: el nombre del grupo de nodos
  • CLUSTER_NAME: el nombre del clúster
  • LOCATION: la ubicación de procesamiento del clúster

Finaliza la migración

Después de que todos los grupos de nodos se hayan migrado a GKE Dataplane V2, GKE finaliza automáticamente la migración. Cuando se completa la migración, el resultado del comando muestra un estado de ADVANCED_DATAPATH y el clúster ejecuta GKE Dataplane V2.

Para observar la finalización, verifica el estado del clúster:

gcloud container clusters describe CLUSTER_NAME \
    --location=LOCATION \
    --format='value(networkConfig.datapathProvider)'

Reemplaza lo siguiente:

  • CLUSTER_NAME: el nombre del clúster
  • LOCATION: la ubicación de procesamiento del clúster

Cuando se completa la migración, el resultado muestra ADVANCED_DATAPATH.

Revierte una migración

Puedes revertir la migración a Dataplane V1 en cualquier momento antes de que se complete la fase de finalización. La reversión de la migración es un proceso simétrico a la migración directa: después de iniciar la reversión, GKE aplica automáticamente parches a los grupos de nodos en la ruta de datos heredada y, luego, finaliza el clúster.

  1. Observa el estado de anetd: Antes de revertir la migración, verifica si los agentes se están ejecutando para determinar si se puede mitigar la falla.

    kubectl get ds -n kube-system anetd
    
  2. Cancela las operaciones de grupos de nodos en curso:

    1. Identifica y cancela cualquier operación de grupo de nodos en ejecución que bloquee la solicitud de parche del clúster.

      gcloud container operations list \
          --location=LOCATION \
          --filter="operationType=UPGRADE_NODES AND status=RUNNING AND targetLink:*/clusters/CLUSTER_NAME"
      

      Reemplaza lo siguiente:

      • LOCATION: la ubicación de procesamiento del clúster
      • CLUSTER_NAME: el nombre del clúster
    2. Cancela la operación con el ID de operación:

      gcloud container operations cancel OPERATION_ID \
          --location=LOCATION
      

      Reemplaza lo siguiente:

      • OPERATION_ID: el ID de la operación en ejecución
      • LOCATION: la ubicación de procesamiento del clúster
  3. Inicia la reversión: Emite una solicitud de parche del clúster para revertir la migración a Dataplane V1.

    gcloud container clusters update CLUSTER_NAME \
        --location=LOCATION \
        --no-enable-dataplane-v2
    

    Reemplaza lo siguiente:

    • CLUSTER_NAME: el nombre del clúster
    • LOCATION: la ubicación de procesamiento del clúster
  4. Observa el lanzamiento del grupo de nodos: Verifica el estado del grupo de nodos para comprobar la migración a la ruta de datos heredada.

    gcloud container node-pools list \
        --cluster=CLUSTER_NAME \
        --location=LOCATION \
        --format='value(name, networkConfig.datapathProvider)'
    

    Reemplaza lo siguiente:

    • CLUSTER_NAME: el nombre del clúster
    • LOCATION: la ubicación de procesamiento del clúster

    Durante la reversión, el resultado del comando muestra un estado de LEGACY_DATAPATH para los grupos de nodos con parches.

  5. Observa la finalización: Después de que todos los grupos de nodos se hayan migrado a Dataplane V1, GKE finaliza automáticamente la migración. Para observar la finalización, verifica el estado del clúster:

    gcloud container clusters describe CLUSTER_NAME \
        --location=LOCATION \
        --format='value(networkConfig.datapathProvider)'
    

    Reemplaza lo siguiente:

    • CLUSTER_NAME: el nombre del clúster
    • LOCATION: la ubicación de procesamiento del clúster

    Cuando se completa la reversión, el resultado del comando muestra un estado de LEGACY_DATAPATH.

Soluciona problemas de la migración

En esta sección, se proporciona información para ayudarte a solucionar problemas comunes que puedes encontrar cuando migras a GKE Dataplane V2.

Falla la migración del grupo de nodos

Cuando migra grupos de nodos, GKE usa la estrategia de actualizaciones de aumento o actualizaciones azul-verde configurada para crear nodos nuevos antes de borrar los anteriores. Si tu Google Cloud zona no tiene suficientes recursos para aprovisionar los nodos nuevos, la migración falla con un error GCE_STOCKOUT o ZONE_RESOURCE_POOL_EXHAUSTED_WITH_DETAILS. GKE vuelve a intentar migrar estos grupos de nodos de forma automática. Si aplicas parches a los grupos de nodos de forma manual, espera y vuelve a intentar la migración más tarde cuando los recursos estén disponibles.

¿Qué sigue?