Conecte su clúster AKS

Adjuntar un clúster significa conectarlo a Google Cloud registrándolo con Google Cloud Gestión de flotas e instalación del software de clústeres adjuntos de GKE.

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

Para conectar un clúster AKS mediante gcloud, realice los siguientes pasos.

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 AKS

Para conectar su clúster AKS a Google CloudGestión de flotas , ejecute los siguientes comandos:

  1. Asegúrese de que su archivo kubeconfig tenga una entrada para el clúster que desea adjuntar:

    az aks get-credentials -n AKS_CLUSTER_NAME \
      -g RESOURCE_GROUP
    
  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 lo ha configurado con el emisor OIDC privado predeterminado o con el público experimental. Seleccione la pestaña correspondiente a su clúster:

    Emisor privado de OIDC (predeterminado)

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

    Reemplace lo siguiente:

    • CLUSTER_NAME : el nombre de su clúster. Este nombre puede ser el mismo que AKS_CLUSTER_NAME que utilizó en el paso 1. CLUSTER_NAME debe cumplir con el estándar RFC 1123 de nombres de etiquetas .
    • GOOGLE_CLOUD_REGION : la Google Cloud región desde la que administrar su clúster
    • PROJECT_NUMBER : el proyecto host de Fleet 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 AKS
    • KUBECONFIG_PATH : ruta a su kubeconfig

    Emisor público de OIDC

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

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

      Reemplace RESOURCE_GROUP con el grupo de recursos de AKS al que pertenece su clúster.

      El resultado de este comando será la URL de su emisor OIDC. Guarde este valor para usarlo más adelante.

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

      Reemplace lo siguiente:

      • CLUSTER_NAME : el nombre de su clúster. Este nombre puede ser el mismo que AKS_CLUSTER_NAME que utilizó en el paso 1. CLUSTER_NAME debe cumplir con el estándar RFC 1123 de nombres de etiquetas .
      • GOOGLE_CLOUD_REGION : la Google Cloud región para administrar su clúster
      • PROJECT_NUMBER : el proyecto host de Fleet 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.