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.
Inicia sesión con tu Cuenta de Google:
gcloud auth login --no-browser
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.
- 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
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
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.
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"
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
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.