Conecta tu clúster de EKS.

Descripción general

Para conectar un clúster, debes registrarlo en Google Cloud con laGoogle Cloud Administración de flotas y, luego, instalar el software de clústeres conectados de GKE en él.

Puedes adjuntar un clúster con gcloud CLI o Terraform. Para aprender cómo crear y conectar un clúster de EKS con Terraform, consulta el repositorio de GitHub de muestras para clústeres conectados de GKE.

Esta página está destinada a los administradores de TI y operadores que desean configurar, supervisar y administrar la infraestructura de la nube. Para obtener más información sobre los roles comunes y las tareas de ejemplo a las que hacemos referencia en el contenido de Google Cloud , consulta Roles y tareas comunes de los usuarios de GKE.

Para conectar un clúster de EKS con gcloud, realiza los siguientes pasos.

Requisitos previos

Asegúrate de que tu clúster cumpla con los requisitos del clúster.

Cuando conectas tu clúster, debes especificar lo siguiente:

La región administrativa es una región Google Cloud desde la que se administra tu clúster conectado. Puedes elegir cualquier región compatible, pero la práctica recomendada es elegir la región geográficamente más cercana a tu clúster. No se almacenan datos del usuario en la región administrativa.

La versión de la plataforma es la versión de los clústeres adjuntos de GKE que se instalarán en tu clúster. Puedes obtener una lista de todas las versiones compatibles si ejecutas el siguiente comando:

gcloud container attached get-server-config  \
  --location=GOOGLE_CLOUD_REGION

Reemplaza GOOGLE_CLOUD_REGION por el nombre de la ubicación deGoogle Cloud desde la que se administra tu clúster.

Numeración de versiones de la plataforma

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 conectas 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 la versión 1.22.* de Kubernetes con Versión 1.21.* o 1.22.* de la plataforma de clústeres conectados de GKE.

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

Cómo adjuntar un clúster de EKS

Para conectar tu clúster de EKS a Google Cloud Administración de flotas, sigue estos pasos:

  1. Asegúrate de que tu archivo kubeconfig tenga una entrada para el clúster que deseas conectar:

    aws eks update-kubeconfig --region AWS_REGION \
      --name EKS_CLUSTER_NAME
    
  2. Recupera la URL de la entidad emisora de OIDC con el siguiente comando:

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

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

  3. Ejecuta este comando para extraer el contexto de kubeconfig de tu clúster y almacenarlo en la variable de entorno KUBECONFIG_CONTEXT:

    KUBECONFIG_CONTEXT=$(kubectl config current-context)
    
  4. Usa el comando gcloud container attached clusters register para registrar el clúster:

    gcloud container attached clusters register CLUSTER_NAME \
      --location=GOOGLE_CLOUD_REGION \
      --fleet-project=PROJECT_NUMBER \
      --platform-version=PLATFORM_VERSION \
      --distribution=eks \
      --issuer-url=ISSUER_URL \
      --context=KUBECONFIG_CONTEXT \
      --kubeconfig=KUBECONFIG_PATH
    

    Reemplaza lo siguiente:

  • AWS_REGION: La región de AWS en la que se encuentra tu clúster de EKS
  • CLUSTER_NAME: El nombre de tu clúster. Este nombre puede ser el mismo EKS_CLUSTER_NAME que usaste en los pasos anteriores. El CLUSTER_NAME debe cumplir con el estándar de nombres de etiquetas RFC 1123.
  • GOOGLE_CLOUD_REGION: la Google Cloud región para administrar tu clúster
  • PLATFORM_VERSION: la versión de los clústeres conectados de GKE que se usarán para el clúster
  • PROJECT_NUMBER: el proyecto host de la flota en el que se registrará el clúster
  • ISSUER_URL: la URL de la entidad emisora que se recuperó antes
  • KUBECONFIG_CONTEXT: el contexto en el kubeconfig para acceder al clúster de EKS, como se extrajo antes
  • KUBECONFIG_PATH: es la ruta de acceso a tu kubeconfig.

Autoriza Cloud Logging/Cloud Monitoring

Para que los clústeres adjuntos de GKE creen y suban registros y métricas del sistema aGoogle Cloud, debe tener autorización.

Para autorizar la identidad de carga de trabajo de Kubernetes gke-system/gke-telemetry-agent a fin de escribir registros en Google Cloud Logging y métricas en Google Cloud Monitoring, ejecuta este comando:

gcloud projects add-iam-policy-binding GOOGLE_PROJECT_ID \
  --member="serviceAccount:GOOGLE_PROJECT_ID.svc.id.goog[gke-system/gke-telemetry-agent]" \
  --role=roles/gkemulticloud.telemetryWriter

Reemplaza GOOGLE_PROJECT_ID por el ID del proyecto Google Cloud del clúster.

Esta vinculación de IAM otorga acceso a todos los clústeres del proyecto Google Cloud para subir registros y métricas. Solo necesitas ejecutarlo después de crear tu primer clúster para el proyecto.

Agregar esta vinculación de IAM fallará, salvo que se cree al menos un clúster en tu proyecto Google Cloud . Esto se debe a que el grupo de identidades para cargas de trabajo al que hace referencia (GOOGLE_PROJECT_ID.svc.id.goog) no se aprovisiona hasta que se crea el clúster.