En esta página se explica cómo añadir un clúster de GKE en Google Cloud a tu flota. En función de tu proyecto y tu caso de uso, puedes usar la Google Cloud consola, Terraform, Config Connector o la CLI de Google Cloud para registrarte. También puedes crear y registrar un nuevo clúster en un solo paso mediante la CLI de Google Cloud, la Google Cloud consola o Terraform.
Antes de empezar
Asegúrate de haber seguido los requisitos generales para registrar un clúster. También te recomendamos que consultes las restricciones generales sobre el registro de clústeres en Planificar recursos de la flota.
En función de tu caso práctico, es posible que también necesites lo siguiente para registrar un clúster de GKE en Google Cloud :
- Si quieres que tu clúster registrado tenga habilitada la federación de identidades de cargas de trabajo de la flota (opción recomendada), asegúrate de que la federación de identidades de cargas de trabajo de GKE esté habilitada en el clúster. Los clústeres de Autopilot tienen habilitada de forma predeterminada la federación de Workload Identity para GKE.
- Si vas a registrar un clúster en una flota de otro proyecto (también conocido como registro entre proyectos), asegúrate de que has configurado los permisos necesarios.
- Si vas a registrar un clúster con Terraform o Config Connector, asegúrate de haber configurado una Google Cloud cuenta de servicio para la herramienta y de que la herramienta pueda autenticarse en Google Cloud:
Si quieres usar Google Cloud CLI para esta tarea, instala y, a continuación, inicializa gcloud CLI. Si ya has instalado la gcloud CLI, obtén la versión más reciente ejecutando
gcloud components update
.
Registrar un clúster de GKE en Google Cloud
Como has visto en los requisitos previos, te recomendamos que registres tus clústeres de GKE con la federación de identidades de carga de trabajo de la flota para GKE habilitada, lo que proporciona una forma coherente para que las aplicaciones se autentiquen en las Google Cloud APIs y los servicios. Para obtener más información sobre las ventajas de habilitar la federación de identidades de cargas de trabajo de flotas en GKE, consulta el artículo Usar la federación de identidades de cargas de trabajo de flotas en GKE. Si registras clústeres con cualquiera de las siguientes opciones, podrás habilitar Workload Identity Federation para GKE en la flota si es necesario.
Puedes registrar un clúster nuevo durante la creación o registrar un clúster que ya tengas.
Registrar un clúster nuevo
Puedes registrar clústeres durante la creación de clústeres siguiendo estas instrucciones.
Consola
En la Google Cloud consola, ve a la página de creación del clúster correspondiente.
Para crear un clúster de Autopilot, ve a la página Crear un clúster de Autopilot.
Para crear un clúster regional estándar o un clúster de zona estándar, ve a la página Crear un clúster de Kubernetes.
Sigue las instrucciones de la documentación de GKE para completar las secciones sobre cómo crear un clúster Autopilot, regional estándar o zonal estándar desde la Google Cloud consola.
En la sección Registro de flota, marca la casilla Registrar en una flota. De forma predeterminada, el nombre de la flota se basa en el ID de tu proyecto.
Rellena las secciones restantes.
Si has elegido crear un clúster estándar y quieres que el clúster registrado use Workload Identity Federation de la flota (opción recomendada), haz clic en Seguridad en el panel de navegación y asegúrate de que la opción Habilitar Workload Identity Federation para GKE esté seleccionada. Los clústeres de Autopilot tienen esta función habilitada de forma predeterminada.
Cuando hayas terminado de revisar los detalles del clúster, haz clic en Crear para crear el clúster y registrarlo en una flota.
gcloud
Estos comandos requieren la versión 450.0.0 o una posterior de gcloud CLI.
Si registras un clúster con Google Cloud CLI, se le asignará una ubicación de pertenencia regional de forma predeterminada.
Para crear y registrar un clúster de GKE Autopilot, ejecuta el siguiente comando:
gcloud container clusters create-auto CLUSTER_NAME --enable-fleet
Sustituye
CLUSTER_NAME
por un nombre único para el clúster que vas a crear. También se convertirá en el nombre de grupo de miembros del clúster. Si ya hay un clúster con este nombre en la flota que has elegido, el comando devolverá un error.Para crear y registrar un nuevo clúster de Autopilot de GKE como ligero, ejecuta el siguiente comando:
gcloud container clusters create-auto CLUSTER_NAME --enable-fleet --membership-type=LIGHTWEIGHT
Para crear y registrar un clúster estándar de GKE con Workload Identity Federation para GKE habilitado, ejecuta el siguiente comando:
gcloud container clusters create CLUSTER_NAME --enable-fleet \ --workload-pool=PROJECT_ID.svc.id.goog
Haz los cambios siguientes:
CLUSTER_NAME
: un nombre único para el clúster que vas a crear. También se convertirá en el nombre de grupo de miembros del clúster. Si ya hay un clúster con este nombre en la flota que has elegido, el comando devolverá un error.PROJECT_ID
: el Google Cloud ID de proyecto del proyecto que será propietario de tu nuevo clúster.
Si vas a crear un clúster estándar, te recomendamos que lo hagas con Workload Identity Federation para GKE habilitado, ya que así se habilitará Workload Identity Federation de la flota en el clúster registrado. Sin embargo, puedes omitir la marca
--workload-pool
si no quieres usar esta función. Los clústeres de Autopilot tienen habilitada de forma predeterminada la federación de Workload Identity para GKE.Para crear y registrar un nuevo clúster estándar de GKE como ligero, ejecuta el siguiente comando:
gcloud container clusters create CLUSTER_NAME --enable-fleet --membership-type=LIGHTWEIGHT
En función del clúster que quieras crear, también puedes especificar cualquiera de las otras opciones para crear un clúster zonal estándar, regional estándar o de Autopilot. También puede que tengas que especificar una zona de Compute Engine si no has configurado una zona predeterminada para la CLI de Google Cloud, así como un proyecto Google Cloud para que sea el propietario del clúster si no has configurado un proyecto predeterminado.
Consulta más información sobre cómo crear diferentes tipos de clústeres de GKE en la documentación de GKE.
Terraform
Puedes crear y registrar clústeres de GKE con Terraform mediante el proveedor google
. Puedes encontrar una referencia completa del recurso google_container_cluster
que se usa para gestionar un clúster de GKE en el registro de Terraform.
Antes de seguir estas instrucciones, asegúrate de haber creado una cuenta de servicio para que la use Terraform, tal como se describe en los requisitos previos.
Para crear y registrar un nuevo clúster, añade los siguientes bloques a tu configuración de Terraform.
Especifica el proveedor
google
como proveedor obligatorio:terraform { required_providers { google = { source = "hashicorp/google" version = "VERSION" } } }
Sustituye
VERSION
por 5.6.0 o una versión posterior.Para crear y registrar un nuevo clúster, sigue estos pasos:
resource "google_container_cluster" "TF_CLUSTER_RESOURCE_NAME" { provider = google name = "CLUSTER_NAME" location = "ZONE" initial_node_count = 1 fleet { project = "FLEET_HOST_PROJECT" } }
Haz los cambios siguientes:
TF_CLUSTER_RESOURCE_NAME
: un nombre único para el nuevo recursogoogle_container_cluster
que vas a crear.CLUSTER_NAME
: nombre único del nuevo clúster de GKE que quieras crear y registrar.ZONE
: la zona del recurso de clúster de GKE. Por ejemplo:us-central1-a
.FLEET_HOST_PROJECT
: el Google Cloud ID de proyecto en el que vas a crear y registrar el clúster. Si no se define, el clúster no se registrará en ninguna flota. Especifica otro ID de proyecto si quieres registrar el clúster en una flota de otro proyecto.
Registrar un clúster existente
Usa cualquiera de las siguientes opciones para registrar clústeres, ya sea en la flota de su propio proyecto o en una flota de otro proyecto (todas las opciones excepto la Google Cloud consola).
Para registrar un clúster de GKE, sigue estos pasos:
Consola
Si quieres que tu clúster use Workload Identity Federation de la flota (opción recomendada), asegúrate de que Workload Identity Federation for GKE esté habilitado en el clúster antes de seguir estas instrucciones. Los clústeres de Autopilot tienen habilitada de forma predeterminada la federación de Workload Identity para GKE. Los clústeres con Workload Identity Federation para GKE tienen habilitada automáticamente la federación de identidades de cargas de trabajo de la flota cuando los registras desde la Google Cloud consola.
En la Google Cloud consola, ve a la página Clusters de GKE.
Haga clic en Registrar junto al clúster no registrado que quiera añadir a su flota.
En el cuadro de diálogo de confirmación que aparece, haz clic de nuevo en Registrar.
gcloud
Estos comandos requieren la versión 450.0.0 o una posterior de gcloud CLI.
Si registras un clúster con Google Cloud CLI, se le asignará una ubicación de pertenencia regional de forma predeterminada.
Ambos comandos habilitan la federación de Workload Identity de la flota en el clúster si este ya tiene habilitada la federación de Workload Identity para GKE.
Para registrar un clúster de GKE en Google Cloud en la flota de su proyecto, ejecuta el siguiente comando:
gcloud container clusters update CLUSTER_NAME --enable-fleet
Sustituye
CLUSTER_NAME
por el nombre del clúster que vas a registrar. También se convertirá en el nombre de grupo de miembros del clúster.Para registrar un clúster de GKE en Google Cloud en la flota de su proyecto como ligero, ejecuta el siguiente comando:
gcloud container clusters update CLUSTER_NAME --enable-fleet --membership-type=LIGHTWEIGHT
Para registrar el clúster en una flota de un proyecto diferente, usa la marca
--fleet-project
, como se muestra en el siguiente comando. Antes de ejecutar este comando, asegúrate de haber configurado los permisos necesarios para el registro entre proyectos.gcloud container clusters update CLUSTER_NAME --fleet-project=PROJECT_ID_OR_NUMBER
- Sustituye
CLUSTER_NAME
por el nombre del clúster que vas a registrar. También se convertirá en el nombre de grupo de miembros del clúster. - Sustituye
PROJECT_ID_OR_NUMBER
por el ID o el número del proyecto host de la flota que elijas.
- Sustituye
Para registrar el clúster en una flota de un proyecto diferente como ligero, usa la marca
--fleet-project
, como se muestra en el siguiente comando. Antes de ejecutar este comando, asegúrate de haber configurado los permisos necesarios para el registro entre proyectos.gcloud container clusters update CLUSTER_NAME --fleet-project=PROJECT_ID_OR_NUMBER / --membership-type=LIGHTWEIGHT
Terraform
Puedes registrar clústeres de GKE con Terraform mediante el proveedor google
. Puedes encontrar una referencia completa del recurso google_container_cluster
que se usa para gestionar un clúster de GKE en el registro de Terraform.
Antes de seguir estas instrucciones, asegúrate de haber creado una cuenta de servicio para que la use Terraform, tal como se describe en los requisitos previos.
Registrar un clúster existente
Para registrar un clúster, añade el siguiente bloque a la configuración del recurso google_container_cluster
de tu clúster:
fleet {
project = "FLEET_HOST_PROJECT"
}
Sustituye FLEET_HOST_PROJECT
por el Google Cloud ID del proyecto al que pertenece tu clúster o por otro ID de proyecto si quieres registrar el clúster en una flota de otro proyecto.
Habilitar Workload Identity Federation para GKE en un clúster registrado
Puedes usar Terraform para habilitar Workload Identity Federation for GKE en un clúster.
Para habilitar Workload Identity Federation for GKE en tu clúster nuevo o actual, añade el siguiente bloque a la configuración de recursos google_container_cluster
del clúster correspondiente:
workload_identity_config {
workload_pool = "PROJECT_ID.svc.id.goog"
}
```
Replace <code><var>PROJECT_ID</var></code> with the Google Cloud project ID for your Terraform resources.
Config Connector
Si tienes instalado el complemento Config Connector, puedes usar Config Connector para registrar clústeres de GKE. Asegúrate de que tienes una versión de Config Connector superior a la 1.47.0 y de que has creado una cuenta de servicio tal como se describe en los requisitos previos.
Puedes encontrar una referencia completa del recurso GKEHubMembership
en la documentación de referencia de Config Connector.
Registrar un clúster de GKE
Para registrar el clúster, primero especifica dónde quieres crear tus recursos. Para ello, sigue las instrucciones de la guía de Config Connector. A continuación, crea un archivo YAML para registrar y (opcionalmente) crear un clúster, como se indica a continuación:
Crear y registrar un clúster de GKE
Crea un clúster de GKE, como en el siguiente ejemplo sencillo:
apiVersion: container.cnrm.cloud.google.com/v1beta1 kind: ContainerCluster metadata: name: CLUSTER_NAME spec: location: LOCATION initialNodeCount: 1
Haz los cambios siguientes:
- CLUSTER_NAME: el nombre que has elegido para representar de forma única el clúster que has creado con Config Connector.
- LOCATION: la zona o región que has elegido para aprovisionar tu clúster de GKE.
resource. Por ejemplo:
us-central1-a
.
Para ver una lista completa de las opciones disponibles al crear un clúster de GKE con Config Connector, consulta la documentación de Config Connector.
Registra una suscripción para el clúster de GKE.
apiVersion: gkehub.cnrm.cloud.google.com/v1beta1 kind: GKEHubMembership metadata: name: MEMBERSHIP_NAME spec: location: MEMBERSHIP_LOCATION endpoint: gkeCluster: resourceRef: name: CLUSTER_NAME
Haz los cambios siguientes:
- MEMBERSHIP_NAME: el nombre de la pertenencia que has elegido para representar de forma única el clúster que se va a registrar en la flota.
- MEMBERSHIP_LOCATION: la ubicación del servicio Fleet que quieras usar para gestionar la pertenencia a tu clúster. Puede ser la ubicación del clúster (opción recomendada) o
global
. Consulte más información en Ubicación de la flota. No puedes especificar una ubicación diferente a la del clúster. Si lo haces, el registro fallará. - CLUSTER_NAME: el nombre que has elegido para representar de forma única el clúster que has creado con Config Connector.
Registrar el clúster en otro proyecto
Añade lo siguiente al campo metadata
del recurso GKEHubMembership
para registrar un clúster en una flota de otro proyecto.
metadata:
annotations:
cnrm.cloud.google.com/project-id: FLEET_PROJECT_ID
Haz los cambios siguientes:
- FLEET_PROJECT_ID: el proyecto host de la flota que has elegido para registrar el clúster de GKE.
Registrar un clúster existente
Usa la siguiente configuración si quieres registrar cualquier clúster, independientemente de cómo se haya creado. En este caso, debe especificar el nombre completo del recurso del clúster para que Config Connector pueda encontrarlo.
Sustituye el campo resourceRef
del recurso GKEHubMembership
por lo siguiente:
resourceRef:
external: //container.googleapis.com/CLUSTER_RESOURCE_NAME
Haz los cambios siguientes:
- CLUSTER_RESOURCE_NAME: el Google Cloud nombre del recurso del clúster de GKE. Por ejemplo:
projects/my-project/zones/us-west1-a/clusters/my-cluster
.
Si el clúster se ha creado con Config Connector, no es necesario que especifiques el nombre completo del clúster.
Habilitar Workload Identity Federation para GKE en un clúster registrado
Para habilitar Workload Identity Federation en GKE, se usa la misma configuración que para registrar un clúster, pero se deben seguir estos pasos adicionales.
Habilita Workload Identity Federation para GKE añadiendo lo siguiente en el campo
spec
del recursoContainerCluster
. Debes hacerlo tanto en los clústeres nuevos como en los que ya tengas.spec: workloadIdentityConfig: workloadPool: PROJECT_ID.svc.id.goog
Haz los cambios siguientes:
- PROJECT_ID: el proyecto predeterminado que has elegido mediante la anotación del espacio de nombres para crear el recurso de clúster de GKE.
Habilita la federación de identidades de cargas de trabajo de la flota añadiendo lo siguiente al campo
spec
del bloque de recursosGKEHubMembership
.spec: authority: issuer: https://container.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/clusters/CLUSTER_NAME }
Haz los cambios siguientes:
- PROJECT_ID: el proyecto predeterminado que has elegido mediante la anotación del espacio de nombres para crear el recurso de clúster de GKE.
- LOCATION: la zona o región que has elegido para aprovisionar tu clúster de GKE.
resource. Por ejemplo:
us-central1-a
. - CLUSTER_NAME: el nombre que has elegido para representar de forma única el clúster que has creado.
Solución de problemas
Si tienes algún problema durante esta configuración, consulta nuestra guía de solución de problemas.
Siguientes pasos
- Valida que el clúster se ha registrado correctamente y consulta otros detalles de la pertenencia a la flota, tal como se describe en Obtener el estado de pertenencia a la flota.
- Configura la autenticación en los clústeres registrados:
- Iniciar sesión en un clúster desde la Google Cloud consola