Configurar un clúster de usuario para que lo administre la API de Anthos On-Prem

Los clústeres de Anthos alojados en VMware (GKE On-Prem) que se crean mediante gkectl no están configurados para funcionar con la API de Anthos On-Prem, que es la API alojada en Google Cloud que se habilita de forma automática cuando crees clústeres de usuario en la consola de Google Cloud. Si quieres usar la consola para administrar el ciclo de vida de los clústeres de usuario que se crearon mediante gkectl, debes configurar el clúster con el comando gkectl enroll cluster.

Requisitos

El clúster de usuario debe cumplir con los siguientes requisitos:

  • Versión 1.11 o superior.
  • Estar registrado con una flota, que se hace de forma automática cuando se crea el clúster a partir de la versión 1.8.
  • Si tu organización configuró una lista de entidades permitidas que permite que el tráfico de las API de Google y otras direcciones pasen a través de tu servidor proxy, agrega lo siguiente a la lista de entidades permitidas:

    • gkeonprem.googleapis.com
    • gkeonprem.mtls.googleapis.com

Inscribe un clúster de usuario

Ejecuta los siguientes pasos en tu estación de trabajo de administrador.

  1. Inicia sesión con tu Cuenta de Google:

    gcloud auth login --no-browser
    
  2. Crea una cuenta de servicio a fin de autorizar a gkectl par que inscriba el clúster:

    gcloud iam service-accounts create SA_NAME \
        --project SA_PROJECT_ID
    

    Reemplaza lo siguiente:

    • SA_NAME con el nombre que deseas asignar a la cuenta de servicio. Se recomienda usar un nombre que describa el propósito de la cuenta de servicio, como enrollment-sa.
    • SA_PROJECT_ID es el ID del proyecto superior de tu cuenta de servicio. El proyecto en el que creas la cuenta de servicio puede ser el mismo o uno diferente en el que se use la cuenta de servicio.
  3. Crea una clave JSON para tu cuenta de servicio:

    gcloud iam service-accounts keys create SA_NAME-key.json \
       --iam-account=SA_NAME@SA_PROJECT_ID.iam.gserviceaccount.com
    
  4. Habilita la API de Anthos On-Prem en el proyecto host de la flota:

    gcloud services enable \
        --project FLEET_HOST_PROJECT_ID \
        gkeonprem.googleapis.com
    

    Reemplaza FLEET_HOST_PROJECT_ID por el ID del proyecto host de tu flota. Debe ser el mismo proyecto de Google Cloud en el que están registrados los clústeres de administrador y de usuario, que especificas en el campo gkeConnect.projectID del archivo de configuración del clúster.

  5. Otorga el rol gkeonprem.admin a tu cuenta de servicio.

    gcloud projects add-iam-policy-binding FLEET_HOST_PROJECT_ID \
        --member "serviceAccount:SA_NAME@SA_PROJECT_ID.iam.gserviceaccount.com" \
        --role "roles/gkeonprem.admin"
    
  6. Configura tus credenciales predeterminadas de la aplicación para usar la cuenta de servicio. Esto garantiza que la CLI de gcloud use la cuenta de servicio que creaste antes.

    export GOOGLE_APPLICATION_CREDENTIALS=PATH_TO_SA_KEY/SA_NAME-key.json
    
  7. Ejecuta el comando gkectl enroll cluster. Reemplaza lo siguiente:

    • CLUSTER_NAME por el nombre del clúster de usuario.
    • ADMIN_CLUSTER_KUBECONFIG es la ruta de acceso del archivo kubeconfig del clúster de administrador.
    gkectl enroll cluster --cluster-name=CLUSTER_NAME \
      --kubeconfig ADMIN_CLUSTER_KUBECONFIG
    

    Si tienes más de un clúster de usuario en un proyecto que deseas inscribir, puedes usar la misma cuenta de servicio y clave, y ejecutar gkectl enroll cluster para cada clúster.