Conecte su clúster compatible con CNCF

Con los clústeres conectados a GKE, puede integrar sus clústeres de Kubernetes existentes, ya sea que estén alojados en AWS, Azure o en otro lugar, en el panel de control de Google Kubernetes Engine (GKE) Enterprise Edition para una administración centralizada. Esto incluye la posibilidad de conectar cualquier clúster de Kubernetes compatible con CNCF.

Clústeres de Kubernetes compatibles

Puede agregar cualquier clúster de Kubernetes compatible con nodos x86 a su flota y luego verlo dentro de Google Cloud consola junto con sus clústeres de GKE.

Aunque Google no verifica la compatibilidad completa de funciones en todas las distribuciones de Kubernetes, las incompatibilidades detectadas se documentan aquí. Para obtener más información y asistencia para la resolución de problemas, consulta la compatibilidad con versiones y actualizaciones de Google Kubernetes Engine (GKE) Enterprise Edition .

Prerrequisitos

Asegúrese de que su clúster cumpla con los requisitos del clúster .

Al adjuntar su clúster, debe especificar lo siguiente:

La región administrativa es una Google Cloud Región desde la que administrar el clúster conectado. Puede elegir cualquier región compatible, pero se recomienda elegir la región geográficamente más cercana a su clúster. No se almacenan datos de usuario en la región administrativa.

La versión de la plataforma es la versión de los clústeres conectados a GKE que se instalarán en el clúster. Puede ver todas las versiones compatibles ejecutando el siguiente comando:

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

Reemplace GOOGLE_CLOUD_REGION con el nombre de laGoogle Cloud Ubicación desde donde administrar su clúster.

Numeración de versiones de la plataforma

Estos documentos se refieren a la versión de los clústeres conectados a GKE como la versión de la plataforma, para distinguirla de la versión de Kubernetes. Los clústeres conectados a GKE utilizan la misma convención de numeración de versiones que GKE; por ejemplo, 1.21.5-gke.1. Al conectar o actualizar su clúster, debe elegir una versión de la plataforma cuya versión secundaria sea igual o inferior a la versión de Kubernetes de su clúster. Por ejemplo, puede conectar un clúster con Kubernetes v1.22.* con clústeres conectados a GKE con la versión de la plataforma 1.21.* o 1.22.*.

Esto le permite actualizar su clúster a la próxima versión secundaria antes de actualizar los clústeres conectados a GKE.

Conecte su clúster

Para adjuntar su clúster compatible con CNCF a Google CloudGestión de flotas , ejecute los siguientes comandos:

  1. Asegúrate de que tu archivo kubeconfig contenga una entrada para el clúster que quieres conectar. Las instrucciones específicas varían según la distribución.

  2. Ejecute este comando para extraer el contexto kubeconfig de su clúster y almacenarlo en la variable de entorno KUBECONFIG_CONTEXT :

    KUBECONFIG_CONTEXT=$(kubectl config current-context)
    
  3. El comando para registrar su clúster varía ligeramente según si este tiene un emisor OIDC público o privado. Seleccione la pestaña correspondiente a su clúster:

    Emisor privado de OIDC

    Utilice 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=generic \
      --context=KUBECONFIG_CONTEXT \
      --has-private-issuer \
      --kubeconfig=KUBECONFIG_PATH
    

    Reemplace lo siguiente:

    • CLUSTER_NAME : el nombre de su clúster. Debe cumplir con el estándar CLUSTER_NAME 1123 sobre nombres de etiquetas .
    • GOOGLE_CLOUD_REGION : la Google Cloud región desde la que administrar su clúster
    • PROJECT_NUMBER : el proyecto host de la flota con el que se registrará el clúster
    • PLATFORM_VERSION : la versión de la plataforma que se utilizará para el clúster
    • KUBECONFIG_CONTEXT : contexto en kubeconfig para acceder al clúster
    • KUBECONFIG_PATH : ruta a su kubeconfig

    Emisor público de OIDC

    1. Recupere la URL del emisor OIDC de su clúster y guárdela para usarla más adelante. Las instrucciones específicas varían según la distribución.

    2. Ejecute este comando para extraer el contexto kubeconfig de su clúster y almacenarlo en la variable de entorno KUBECONFIG_CONTEXT :

      KUBECONFIG_CONTEXT=$(kubectl config current-context)
      
    3. Utilice 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=generic \
        --issuer-url=ISSUER_URL \
        --context=KUBECONFIG_CONTEXT \
        --kubeconfig=KUBECONFIG_PATH
      

      Reemplace lo siguiente:

      • CLUSTER_NAME : el nombre de su clúster. Debe cumplir con el estándar CLUSTER_NAME 1123 sobre nombres de etiquetas .
      • GOOGLE_CLOUD_REGION : la Google Cloud región para administrar su clúster
      • PROJECT_NUMBER : el proyecto host de la flota donde se registrará el clúster
      • PLATFORM_VERSION : la versión de los clústeres adjuntos de GKE que se utilizará para el clúster
      • ISSUER_URL : la URL del emisor recuperada anteriormente
      • KUBECONFIG_CONTEXT : contexto en kubeconfig para acceder a su clúster, como se extrajo anteriormente
      • KUBECONFIG_PATH : ruta a su kubeconfig

Autorizar el registro en la nube/monitoreo en la nube

Para que los clústeres conectados a GKE creen y carguen registros y métricas del sistema enGoogle Cloud, debe estar autorizado.

Para autorizar la identidad de carga de trabajo de Kubernetes gke-system/gke-telemetry-agent a escribir registros en Google Cloud Registro y métricas para Google Cloud Para monitorear, ejecute 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

Reemplace GOOGLE_PROJECT_ID con el clúster Google Cloud Identificación del proyecto.

Este enlace de IAM otorga acceso a todos los clústeres en el Google Cloud Proyecto para cargar registros y métricas. Solo necesitas ejecutarlo después de crear el primer clúster del proyecto.

Agregar este enlace de IAM fallará a menos que se haya creado al menos un clúster en su Google Cloud proyecto. Esto se debe a que el grupo de identidades de carga de trabajo al que hace referencia ( GOOGLE_PROJECT_ID .svc.id.goog ) no se aprovisiona hasta la creación del clúster.