Migra tu clúster conectado de EKS

La versión predecesor de los clústeres conectados de GKE se conoce como clústeres conectados de GKE (generación anterior). Migrar desde la versión anterior de clústeres de GKE conectados a la generación actual te da acceso a esta funcionalidad, incluida la administración del ciclo de vida y el registro de flotas. La migración es una operación unidireccional: una vez que migras a la generación actual de clústeres conectados de GKE, no hay manera de volver a los clústeres conectados de GKE (generación anterior).

Política de numeración de versiones

En estos documentos, se hace referencia a la versión de los clústeres adjuntos de GKE como la versión de la plataforma para distinguirla de la versión de Kubernetes. Los clústeres adjuntos de GKE usan la misma convención de numeración de versiones que GKE, por ejemplo, 1.21.5-gke.1. Cuando adjuntas o actualizas tu clúster, debes elegir una versión de plataforma cuya versión secundaria sea igual o un nivel inferior a la versión de Kubernetes de tu clúster. Por ejemplo, puedes conectar un clúster que ejecute Kubernetes v1.22.* con la versión 1.21.* o 1.22.* de la plataforma de clústeres conectados de GKE.

Esto te permite actualizar el clúster a la siguiente versión secundaria antes de actualizar clústeres conectados de GKE.

Asegúrate de que Workload Identity esté habilitado.

Los clústeres existentes de los clústeres conectados de GKE (generación anterior) deben tener habilitado Workload Identity antes de migrarse a la generación actual de los clústeres conectados de GKE.

Para determinar si Wi-Fi está habilitado, ejecuta el siguiente comando y verifica el resultado de cualquier campo de Workload Identity:

gcloud container hub memberships describe MEMBERSHIP_NAME

Si Workload Identity no está habilitado, la membresía debe actualizarse para habilitarla.

  1. Recupera la URL del emisor de OIDC del clúster con el siguiente comando:

    aws eks describe-cluster \
    --region AWS_REGION \
    --name CLUSTER_NAME \
    --query "cluster.identity.oidc.issuer" \
    --output text
    

    El resultado de este comando será la URL de tu entidad emisora de OIDC. Guarda este valor para usarlo más adelante.

  2. Actualiza la membresía:

    gcloud container fleet memberships register MEMBERSHIP_NAME \
    --context=KUBECONFIG_CONTEXT \
    --kubeconfig=KUBECONFIG_PATH \
    --enable-workload-identity \
    --public-issuer-url=OIDC_URL
    

    Reemplaza lo siguiente:

    • MEMBERSHIP_NAME: el nombre de la membresía de tu clúster.
    • KUBECONFIG_CONTEXT: el contexto en kubeconfig para acceder al clúster de EKS
    • KUBECONFIG_PATH: la ruta de acceso a tu archivo kubeconfig
    • OIDC_URL: la URL de OIDC que se recuperó antes

Migra el clúster

Para migrar tu clúster de clústeres conectados de GKE (generación anterior) a clústeres conectados de GKE, sigue estos pasos:

  1. Extrae el contexto de kubeconfig de tu clúster y almacénalo en la variable de entorno KUBECONFIG_CONTEXT:

    KUBECONFIG_CONTEXT=$(kubectl config current-context)
    
  2. Ejecuta el siguiente comando para migrar tu clúster a la generación actual de clústeres conectados de GKE. Este comando extrae los detalles relevantes de la configuración de tu clúster y lo registra en Google Fleet Management y, luego, instala o actualiza cualquier software necesario, como el agente de ciclo de vida, en tu clúster.

    gcloud container attached clusters import \
      --location=GOOGLE_CLOUD_REGION \
      --fleet-membership=FLEET_MEMBERSHIP \
      --platform-version=PLATFORM_VERSION \
      --distribution=CLUSTER_DISTRIBUTION \
      --context=KUBECONFIG_CONTEXT \
      [--kubeconfig=KUBECONFIG_PATH]
    

    Reemplaza lo siguiente:

    • GOOGLE_CLOUD_REGION: la ubicación de Google Cloud desde la que se administra tu clúster
    • FLEET_MEMBERSHIP: el designador de membresía completamente calificado de tu clúster registrado (consulta a continuación)
    • PLATFORM_VERSION: la versión de los clústeres conectados de GKE que a la que deseas migrar (por ejemplo: v1.22.0-gke.1)
    • CLUSTER_DISTRIBUTION: el tipo de clúster: eks para el servicio Elastic de Kubernetes de AWS, aks para Azure Kubernetes Service o generic para cualquier otra distribución
    • KUBECONFIG_CONTEXT: el nombre del contexto en tu kubeconfig con el que te conectarás al clúster.
    • KUBECONFIG_PATH: la ubicación del archivo kubeconfig. Si no se especifica, el valor predeterminado es ~/.kube/config.

    El nombre de la membresía es una cadena que identifica de manera inequívoca la el clúster adjunto y tiene el formato projects/PROJECT_NUMBER/locations/global/memberships/MEMBERSHIP_ID, dónde

    • PROJECT_NUMBER es el número del proyecto host de la flota. Debes especificar el mismo número de proyecto que el que pertenece tu clúster actualmente

    • MEMBERSHIP_ID: este debe ser el ID de membresía de la flota de tu clúster existente. Los clústeres conectados de GKE usarán este valor como nombre del clúster.