Adjunta tu clúster conforme a la CNCF

Con los clústeres adjuntos de GKE, puedes incorporar tus clústeres de Kubernetes, tanto si están alojados en AWS, Azure o en otro lugar, al panel de control de GKE para gestionarlos de forma centralizada. Esto incluye la posibilidad de adjuntar cualquier clúster de Kubernetes compatible con CNCF.

Clústeres de Kubernetes admitidos

Puedes añadir cualquier clúster compatible con Kubernetes con nodos x86 a tu flota y, a continuación, verlo en la Google Cloud consola junto con tus clústeres de GKE.

Aunque Google no verifica todas las distribuciones de Kubernetes para comprobar la compatibilidad completa de las funciones, las incompatibilidades que se detecten se documentarán aquí. Para obtener más información y ayuda para solucionar problemas, consulta Compatibilidad con versiones y actualizaciones de clústeres de GKE.

Requisitos previos

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

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

La región administrativa es una Google Cloud región desde la que puedes administrar tu clúster adjunto. Puedes elegir cualquier región admitida, pero lo más recomendable es que elijas la región geográficamente más cercana a tu 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 de GKE vinculados que se instalará en tu clúster. Para ver todas las versiones compatibles, ejecuta el siguiente comando:

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

Sustituye GOOGLE_CLOUD_REGION por el nombre de laGoogle Cloud ubicación desde la que quieres administrar el clúster.

Numeración de la versión 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 asocies o actualices 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 adjuntar un clúster que ejecute Kubernetes v1.22.* con la versión de plataforma 1.21.* o 1.22.* de clústeres adjuntos de GKE.

De esta forma, puedes actualizar tu clúster a la siguiente versión secundaria antes de actualizar los clústeres adjuntos de GKE.

Adjuntar el clúster

Para adjuntar tu clúster conforme a la CNCF a Google Cloud Gestión de flotas, ejecuta los siguientes comandos:

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

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

    KUBECONFIG_CONTEXT=$(kubectl config current-context)
    
  3. El comando para registrar el clúster varía ligeramente en función de si el clúster tiene un emisor de OIDC público o privado. Elige la pestaña que se aplique a tu clúster:

    Emisor de OIDC privado

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

    Haz los cambios siguientes:

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

    Entidad emisora de OIDC pública

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

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

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

      Haz los cambios siguientes:

      • CLUSTER_NAME: el nombre de tu clúster. El CLUSTER_NAME debe cumplir el estándar de nombres de etiquetas RFC 1123.
      • GOOGLE_CLOUD_REGION: la región Google Cloud para administrar tu clúster
      • PROJECT_NUMBER: el proyecto host de la flota en el que se registrará el clúster
      • PLATFORM_VERSION: la versión de los clústeres de GKE adjuntos que se va a usar en el clúster
      • ISSUER_URL: la URL de la entidad emisora obtenida anteriormente
      • KUBECONFIG_CONTEXT: contexto del archivo kubeconfig para acceder al clúster, tal como se ha extraído anteriormente
      • KUBECONFIG_PATH: ruta a tu kubeconfig

Autorizar Cloud Logging o Cloud Monitoring

Para que los clústeres de GKE adjuntos puedan crear y subir registros y métricas del sistema aGoogle Cloud, deben estar autorizados.

Para autorizar la identidad de carga de trabajo de Kubernetes gke-system/gke-telemetry-agent para 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

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

Este enlace de gestión de identidades y accesos concede acceso a todos los clústeres del proyecto Google Cloud project para subir registros y métricas. Solo tienes que ejecutarlo después de crear el primer clúster del proyecto.

No se podrá añadir este enlace de gestión de identidades y accesos a menos que se haya creado al menos un clúster en tu 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 que se crea el clúster.