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 GKE 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. Para usar la consola a fin de administrar el ciclo de vida de los clústeres de usuario que se crearon con 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 la estación de trabajo de administrador.
Accede con tu cuenta de Google:
gcloud auth login --no-browser
Crea una cuenta de servicio para autorizar a
gkectl
a inscribir el clúster:gcloud iam service-accounts create SA_NAME \ --project SA_PROJECT_ID
Reemplaza lo siguiente:
- SA_NAME por 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 usa la cuenta de servicio.
- SA_NAME por 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 GKE On-Prem en el proyecto host de la flota:
gcloud services enable \ --project FLEET_PROJECT_ID \ gkeonprem.googleapis.com
Reemplaza FLEET_PROJECT_ID por el ID del proyecto host de tu flota. Debe ser el mismo proyecto de Cloud en el que están registrados tus clústeres de administrador y de usuario, que especificas en el campo gkeConnect.projectID en el archivo de configuración de clúster.
Otorga la función
gkeonprem.admin
a tu cuenta de servicio:gcloud projects add-iam-policy-binding FLEET_PROJECT_ID \ --member "serviceAccount:SA_NAME@SA_PROJECT_ID.iam.gserviceaccount.com" \ --role "roles/gkeonprem.admin"
Configura las 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 la misma clave, y ejecutar
gkectl enroll cluster
para cada clúster.