Adjunta tu clúster de AKS

Conectar un clúster significa conectarlo a Google Cloud. Para ello, debes registrarlo en la administración de flotas de Google Cloud y, luego, instalar en él el software de clústeres conectados de GKE.

Puedes conectar un clúster con gcloud CLI o Terraform. Para aprender a crear y conectar un clúster de AKS mediante Terraform, consulta el repositorio de muestras de GitHub para clústeres conectados a GKE.

Para conectar un clúster de AKS mediante gcloud, sigue estos pasos.

Requisitos previos

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

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

La región administrativa es una región de Google Cloud desde la cual administrar el clúster conectado. Puedes elegir cualquier región compatible, pero la práctica recomendada es elegir la región geográfica 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 conectados de GKE que se instalará en el clúster. Para obtener una lista de todas las versiones compatibles, ejecuta el siguiente comando:

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

Reemplaza GOOGLE_CLOUD_REGION por el nombre de la ubicación de Google Cloud desde la que administrarás 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 conectados de GKE como la versión de la plataforma para distinguirla de la versión de Kubernetes. Los clústeres conectados 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 la plataforma cuya versión secundaria sea igual a la versión de Kubernetes del clúster o un nivel inferior a ella. Por ejemplo, puedes conectar un clúster que ejecute Kubernetes v1.22.* con los clústeres conectados a GKE versión 1.21.* o 1.22.*.

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

Adjunta tu clúster de AKS

Para conectar el clúster de AKS a la administración de flotas de Google Cloud, ejecuta los siguientes comandos:

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

    az aks get-credentials -n CLUSTER_NAME \
      -g RESOURCE_GROUP
    
  2. Ejecuta este comando para extraer el contexto kubeconfig del clúster y almacenarlo en la variable de entorno KUBECONFIG_CONTEXT:

    KUBECONFIG_CONTEXT=$(kubectl config current-context)
    
  3. El comando para registrar tu clúster varía un poco en función de si lo configuraste con la entidad emisora privada predeterminada de OIDC o el público experimental. Elige la pestaña que se aplica a tu clúster:

    Entidad emisora privada de OIDC (predeterminada)

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

    Reemplaza lo siguiente:

    • CLUSTER_NAME: Es el nombre de tu clúster.
    • GOOGLE_CLOUD_REGION: Es la región de Google Cloud desde la que se administrará el clúster.
    • PROJECT_NUMBER: Es el proyecto host de la flota para registrar el clúster con
    • PLATFORM_VERSION: Es la versión de la plataforma que se usará para el clúster.
    • KUBECONFIG_CONTEXT: Es el contexto en kubeconfig para acceder al clúster de AKS.
    • KUBECONFIG_PATH: Es la ruta de acceso a tu kubeconfig.

    Entidad emisora de OIDC pública

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

        az aks show -n CLUSTER_NAME \
          -g RESOURCE_GROUP \
          --query "oidcIssuerProfile.issuerUrl" -otsv
      

      Reemplaza RESOURCE_GROUP por el grupo de recursos de AKS al que pertenece tu clúster.

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

    2. Ejecuta este comando para extraer el contexto kubeconfig del 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=aks \
        --issuer-url=ISSUER_URL \
        --context=KUBECONFIG_CONTEXT \
        --kubeconfig=KUBECONFIG_PATH
      

      Reemplaza lo siguiente:

      • CLUSTER_NAME: Es el nombre de tu clúster.
      • GOOGLE_CLOUD_REGION: Es la región de Google Cloud para administrar el clúster.
      • PROJECT_NUMBER: Es el proyecto host de la flota en el que se registrará el clúster.
      • PLATFORM_VERSION: Es la versión de los clústeres conectados de GKE que se usará para el clúster.
      • ISSUER_URL: La URL de la entidad emisora se recuperó antes
      • KUBECONFIG_CONTEXT: Es el contexto en kubeconfig para acceder al clúster, como se extrajo antes.
      • KUBECONFIG_PATH: Es la ruta de acceso a tu kubeconfig.

Autoriza Cloud Logging/Cloud Monitoring

Para que los clústeres conectados de GKE creen y suban registros y métricas del sistema a Google Cloud, se deben autorizar.

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 de Google Cloud del clúster.

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

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