En esta página, se muestra cómo agregar un clúster de GKE a Google Cloud en tu flota. Según tu proyecto y caso práctico, puedes usar la consola de Google Cloud, Terraform, Config Connector o Google Cloud CLI para el registro. También puedes crear y registrar un clúster nuevo en un solo paso con Google Cloud CLI, la consola de Google Cloud o Terraform.
Antes de comenzar
Asegúrate de haber seguido los requisitos generales para registrar un clúster.
Según tu caso de uso, los registros de clústeres de GKE en Google Cloud también pueden requerir lo siguiente:
- Si deseas que tu clúster registrado tenga habilitada la federación de identidades para cargas de trabajo de la flota (recomendado), asegúrate de que la federación de identidades para cargas de trabajo para GKE esté habilitada en el clúster. Los clústeres en modo Autopilot tienen la federación de identidades para cargas de trabajo para GKE habilitada de forma predeterminada.
- Si registras un clúster en una flota de un proyecto diferente (también conocido como registro entre proyectos), asegúrate de configurar los permisos necesarios. Ten en cuenta que, si deseas usar las funciones de GKE Enterprise con un clúster registrado entre proyectos, GKE Enterprise debe estar habilitado en el proyecto host de la flota que elegiste, habilitarla en el proyecto del clúster no tiene ningún efecto.
- Si registras un clúster mediante Terraform o Config Connector, asegúrate de haber configurado una cuenta de servicio de Google Cloud para la herramienta y de que la herramienta pueda autenticarse en Google Cloud:
Registra tu clúster de GKE en Google Cloud
Como viste en los requisitos previos, te recomendamos registrar tus clústeres de GKE con federación de identidades para cargas de trabajo de la flota para GKE habilitada, que proporciona una forma coherente para que las aplicaciones se autentiquen en las APIs y los servicios de Google Cloud. Puedes obtener más información sobre las ventajas de habilitar la federación de identidades para cargas de trabajo de la flota para GKE en Usa la federación de identidades para cargas de trabajo de la flota para GKE. El registro de clústeres con cualquiera de las siguientes opciones te permite habilitar la federación de identidades para cargas de trabajo de la flota para GKE si es necesario.
Puedes elegir entre registrar un clúster nuevo durante la creación del clúster o registrar un clúster existente.
Registra un clúster nuevo
Si habilitaste GKE Enterprise, te recomendamos registrar clústeres nuevos en una flota durante la creación del clúster. Esto se debe a que estos clústeres “nacidos en la flota” se crean con la configuración predeterminada a nivel de la flota que elegiste para una serie de funciones empresariales y con los registros y las métricas recomendados ya habilitados. Puedes obtener más información al respecto en las siguientes guías:
- Administra características a nivel de la flota
- Registros habilitados de forma predeterminada
- Métricas habilitadas de forma predeterminada
Si no habilitaste GKE Enterprise, aún puedes registrar clústeres durante la creación del clúster con estas instrucciones, pero no obtendrás ninguna configuración predeterminada a nivel de la flota.
Console
En la consola de Google Cloud, ve a la página de creación de clústeres relevante.
Para crear un clúster en modo Autopilot, ve a la página Crea un clúster de Autopilot.
Para crear un clúster zonal estándar o regional estándar, ve a la página Crea un clúster de Kubernetes.
Sigue las instrucciones de la documentación de GKE para completar las secciones con el objetivo de crear un clúster de Autopilot, Regional estándar o Zonado estándar en la consola de Google Cloud.
En la sección Registro de flotas, selecciona la casilla de verificación Registrar en una flota. De forma predeterminada, el nombre de la flota se basa en el ID del proyecto.
Completa las secciones restantes.
Si elegiste crear un clúster estándar y quieres que el clúster registrado use la federación de identidades para cargas de trabajo de la flota (recomendado), haz clic en Seguridad en el panel de navegación y asegúrate de que Habilitar la federación de identidades para cargas de trabajo para GKE está seleccionado. Los clústeres en modo Autopilot tienen esta función habilitada de forma predeterminada.
Cuando termines de revisar los detalles del clúster, haz clic en Crear para crear y registrar el clúster en una flota.
gcloud
Estos comandos requieren la versión 450.0.0 de gcloud CLI o una posterior.
Cuando registras un clúster con Google Cloud CLI, le otorgas una ubicación de membresía regional de forma predeterminada.
Para crear y registrar un clúster de GKE Autopilot nuevo, ejecuta el siguiente comando:
gcloud container clusters create-auto CLUSTER_NAME --enable-fleet
Reemplaza
CLUSTER_NAME
por un nombre único para el clúster que estás creando. Este también se convertirá en el nombre de la membresía del clúster. Si ya existe un clúster con este nombre en la flota que elegiste, el comando devolverá un error.A fin de crear y registrar un clúster estándar de GKE nuevo con la federación de identidades para cargas de trabajo para GKE habilitada, ejecuta el siguiente comando:
gcloud container clusters create CLUSTER_NAME --enable-fleet \ --workload-pool=PROJECT_ID.svc.id.goog
Reemplaza lo siguiente:
CLUSTER_NAME
: Es un nombre único para el clúster que creas. Este también se convertirá en el nombre de la membresía del clúster. Si ya existe un clúster con este nombre en la flota que elegiste, el comando devolverá un error.PROJECT_ID
: Es el ID del proyecto de Google Cloud que tendrá el clúster nuevo.
Si creas un clúster estándar, te recomendamos que lo crees con la federación de identidades para cargas de trabajo para GKE habilitada, ya que esto habilita la federación de identidades para cargas de trabajo de la flota para tu clúster registrado. Sin embargo, puedes omitir la marca
--workload-pool
si no deseas usar esta función. Los clústeres en modo Autopilot tienen la federación de identidades para cargas de trabajo para GKE habilitada de forma predeterminada.
Según el clúster que desees crear, también puedes especificar cualquiera de las otras opciones para crear un clúster Zonal estándar, Regional estándar o Autopilot. Es posible que también debas especificar una zona de Compute Engine si no configuraste una zona predeterminada para Google Cloud CLI y un proyecto de Google Cloud para ser propietario del clúster si no configuraste un proyecto predeterminado.
Obtén más información para 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 con el proveedor google
. Puedes encontrar una referencia completa del recurso google_container_cluster
que se usa para administrar un clúster de GKE en el registro de Terraform.
Asegúrate de haber creado una cuenta de servicio para que Terraform la use como se describe en los requisitos previos antes de seguir estas instrucciones.
Para crear y registrar un clúster nuevo, agrega los siguientes bloques a la configuración de Terraform.
Especifica el proveedor
google
como proveedor obligatorio:terraform { required_providers { google = { source = "hashicorp/google" version = "VERSION" } } }
Reemplaza
VERSION
por 5.6.0 o una versión posterior.Crea y registra un clúster nuevo:
resource "google_container_cluster" "TF_CLUSTER_RESOURCE_NAME" { provider = google name = "CLUSTER_NAME" location = "ZONE" initial_node_count = 1 fleet { project = "FLEET_HOST_PROJECT" } }
Reemplaza lo siguiente:
TF_CLUSTER_RESOURCE_NAME
: Un nombre único para el recursogoogle_container_cluster
nuevo que creas.CLUSTER_NAME
: Un nombre único para el clúster de GKE nuevo que deseas crear y registrar.ZONE
: La zona del recurso del clúster de GKE. Por ejemplo:us-central1-a
.FLEET_HOST_PROJECT
: El ID del proyecto de Google Cloud en el que creas y registras el clúster. Si no se configura, el clúster no se registrará en una flota. Especifica un ID del proyecto diferente si deseas registrar el clúster en una flota en un proyecto diferente.
Registrar un clúster existente
Usa cualquiera de las siguientes opciones para registrar clústeres existentes, ya sea en la flota de su propio proyecto o en una flota de un proyecto diferente (todas las opciones, excepto la consola de Google Cloud). También puedes optar por registrar algunos o todos tus clústeres existentes mientras actualizas a GKE Enterprise.
Para registrar un clúster de GKE existente, sigue estos pasos:
Console
Si deseas que tu clúster use la federación de Workload Identity de la flota (recomendado), asegúrate de que la federación de identidades para cargas de trabajo para GKE esté habilitada en el clúster antes de seguir estas instrucciones. Los clústeres en modo Autopilot tienen la federación de identidades para cargas de trabajo para GKE habilitada de forma predeterminada. Los clústeres con la federación de identidades para cargas de trabajo para GKE tienen habilitada la federación de identidades para cargas de trabajo de la flota de forma automática cuando los registras desde la consola de Google Cloud.
En la consola de Google Cloud, ve a la página de clústeres de GKE.
Haz clic en Registrar junto al clúster no registrado que deseas agregar a tu flota.
Vuelve a hacer clic en Registrar en el cuadro de diálogo de confirmación que aparece.
gcloud
Estos comandos requieren la versión 450.0.0 de gcloud CLI o una posterior.
Cuando registras un clúster con Google Cloud CLI, le otorgas una ubicación de membresía regional de forma predeterminada.
Ambos comandos habilitan la federación de identidades para cargas de trabajo de la flota para el clúster si el clúster ya tiene habilitada la Federación de Workload Identity para GKE.
Para registrar un clúster de GKE existente en Google Cloud en la flota de su proyecto, ejecuta el siguiente comando:
gcloud container clusters update CLUSTER_NAME --enable-fleet
Reemplaza
CLUSTER_NAME
por el nombre del clúster que deseas registrar. Este también se convertirá en el nombre de la membresía del clúster.Para registrar el clúster en una flota en un proyecto diferente, usa la marca
--fleet-project
, como se muestra a continuación. Asegúrate de haber configurado los permisos necesarios para el registro entre proyectos antes de ejecutar este comando.gcloud container clusters update CLUSTER_NAME --fleet-project=PROJECT_ID_OR_NUMBER
- Reemplaza
CLUSTER_NAME
por el nombre del clúster que deseas registrar. Este también se convertirá en el nombre de la membresía del clúster. - Reemplaza
PROJECT_ID_OR_NUMBER
por el ID o el número del proyecto host de flota elegido.
- Reemplaza
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 administrar un clúster de GKE en el registro de Terraform.
Asegúrate de haber creado una cuenta de servicio para que Terraform la use como se describe en los requisitos previos antes de seguir estas instrucciones.
Registrar un clúster existente
Para registrar un clúster existente, agrega el siguiente bloque a la configuración de recursos google_container_cluster
de tu clúster:
fleet {
project = "FLEET_HOST_PROJECT"
}
Reemplaza FLEET_HOST_PROJECT
por el ID del proyecto de Google Cloud al que pertenece tu clúster o un ID del proyecto diferente si deseas registrar el clúster en una flota en un proyecto diferente.
Habilita la federación de identidades para cargas de trabajo para GKE en un clúster registrado
Puedes usar Terraform a fin de habilitar la federación de identidades para cargas de trabajo para GKE en un clúster.
A fin de habilitar la federación de identidades para cargas de trabajo para GKE en tu clúster nuevo o existente, agrega el siguiente bloque en la configuración de recursos google_container_cluster
del clúster relevante:
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 el complemento de Config Connector instalado, puedes usar Config Connector para registrar clústeres de GKE. Asegúrate de tener una versión de Config Connector superior a 1.47.0 y de que hayas creado una cuenta de servicio como se describe en los requisitos.
Puedes encontrar una referencia completa del recurso GKEHubMembership
en la
documentación de referencia de Config Connector.
Registra un clúster de GKE
Para registrar el clúster, primero especifica dónde deseas crear tus recursos y sigue las instrucciones en la guía de Config Connector. Luego, crea un archivo YAML para registrar y, de manera opcional, un clúster de la siguiente manera:
Crea y registra un clúster de GKE
Crea un clúster de GKE, como se muestra en el siguiente ejemplo simple:
apiVersion: container.cnrm.cloud.google.com/v1beta1 kind: ContainerCluster metadata: name: CLUSTER_NAME spec: location: LOCATION initialNodeCount: 1
Reemplaza lo siguiente:
- CLUSTER_NAME: El nombre que elegiste para representar de forma única el clúster que creaste con Config Connector.
- LOCATION: Es la zona o región que elegiste para aprovisionar el recurso del clúster de GKE. Por ejemplo:
us-central1-a
.
Para obtener una lista completa de las opciones cuando creas un clúster de GKE con Config Connector, consulta la documentación de Config Connector.
Registra una membresía 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
Reemplaza lo siguiente:
- MEMBERSHIP_NAME: El nombre de membresía que eliges para representar de forma única el clúster que se registra en la flota.
- MEMBERSHIP_LOCATION: La ubicación del servicio de flota que deseas administrar la membresía de tu clúster. Puede ser la propia ubicación del clúster (recomendado) o
global
. Obtén más información en Ubicación de la membresía de la flota. No puedes especificar una ubicación que no sea la del clúster: si haces esto, el registro fallará. - CLUSTER_NAME: El nombre que elegiste para representar de forma única el clúster que creaste con Config Connector.
Registra el clúster en otro proyecto
Agrega lo siguiente al campo metadata
del recurso GKEHubMembership
para registrar un clúster en una flota en otro proyecto.
metadata:
annotations:
cnrm.cloud.google.com/project-id: FLEET_PROJECT_ID
Reemplaza lo siguiente:
- FLEET_PROJECT_ID: Es el proyecto host de la flota que elegiste para registrar el clúster de GKE.
Registrar un clúster existente
Usa la siguiente configuración si deseas registrar cualquier clúster existente, sin importar cómo se creó. En este caso, debes especificar el nombre completo del recurso del clúster para que el Config Connector pueda encontrarlo.
Reemplaza el campo resourceRef
del recurso GKEHubMembership
por lo siguiente:
resourceRef:
external: //container.googleapis.com/CLUSTER_RESOURCE_NAME
Reemplaza lo siguiente:
- CLUSTER_RESOURCE_NAME: El nombre del recurso de Google Cloud para el clúster de GKE. Por ejemplo:
projects/my-project/zones/us-west1-a/clusters/my-cluster
.
Si el clúster se creó con Config Connector, no necesitas especificar el nombre completamente calificado.
Habilita la federación de identidades para cargas de trabajo para GKE en un clúster registrado
La habilitación de la federación de identidades para cargas de trabajo para GKE usa la misma configuración que para registrar un clúster, con los siguientes pasos adicionales.
A fin de habilitar la federación de identidades para cargas de trabajo para GKE, agrega lo siguiente en el campo
spec
del recursoContainerCluster
. Debes hacer esto para los clústeres nuevos y existentes.spec: workloadIdentityConfig: workloadPool: PROJECT_ID.svc.id.goog
Reemplaza lo siguiente:
- PROJECT_ID: El proyecto predeterminado que elegiste mediante la anotación de espacio de nombres para crear el recurso del clúster de GKE.
Para habilitar la federación de identidades para cargas de trabajo de la flota, agrega lo siguiente en el campo
spec
del bloque de recursosGKEHubMembership
.spec: authority: issuer: https://container.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/clusters/CLUSTER_NAME }
Reemplaza lo siguiente:
- PROJECT_ID: El proyecto predeterminado que elegiste mediante la anotación de espacio de nombres para crear el recurso del clúster de GKE.
- LOCATION: Es la zona o región que elegiste para aprovisionar el recurso del clúster de GKE. Por ejemplo:
us-central1-a
. - CLUSTER_NAME: El nombre que elegiste para representar de forma única el clúster que creaste.
Soluciona problemas
Si tienes algún problema durante esta configuración, consulta nuestra guía de solución de problemas.
Próximos pasos
- Valida el registro exitoso del clúster y obtén otros detalles de la membresía de la flota, como se describe en Obtén el estado de la membresía de la flota.
- Configura la autenticación para clústeres registrados:
- Accede a un clúster desde la consola de Google Cloud.