Los clústeres asociados de GKE te permiten ver tus clústeres de Kubernetes en la Google Cloud consola junto con tus clústeres de GKE y habilitar varias funciones de GKE en ellos, incluido el control de configuración centralizado con Config Sync.
Clústeres de Kubernetes admitidos
Puedes adjuntar cualquier clúster de Kubernetes compatible que incluya nodos x86 a tu flota y verlo en la Google Cloud consola con tus clústeres de GKE.
Google ha validado los siguientes tipos y versiones de clústeres. Para obtener información sobre las funciones de GKE que se admiten en los clústeres adjuntos, consulta Compatibilidad con versiones y actualizaciones de GKE.
Tipos de clústeres vinculados | Versiones de Kubernetes |
---|---|
Red Hat OpenShift Kubernetes Engine (OKE) 4.9 y 4.10 | 1.23 y 1.24 |
Red Hat OpenShift Container Platform (OCP) 4.9 y 4.10 | 1.23 y 1.24 |
Rancher Kubernetes Engine (RKE) 1.3.8 | 1.23 y 1.24 |
KIND 0.12 | 1.23 y 1.24 |
K3s 1.20 | 1,20 |
K3d 4.4.3 | 1,20 |
Antes de empezar
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Anthos API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. -
Install the Google Cloud CLI.
-
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
-
Para inicializar gcloud CLI, ejecuta el siguiente comando:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Anthos API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. -
Install the Google Cloud CLI.
-
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
-
Para inicializar gcloud CLI, ejecuta el siguiente comando:
gcloud init
- Consulta los requisitos para registrar una flota para asegurarte de que tienes los permisos pertinentes y las APIs habilitadas para registrar un clúster.
- Consulta la guía Antes de empezar para ver los requisitos específicos para adjuntar clústeres externos a Google Cloud, incluidos los pasos de configuración especiales que puedas necesitar para tu tipo de clúster.
- MEMBERSHIP_NAME: el nombre de la pertenencia que elijas y que se use para representar de forma única el clúster que se está registrando en la flota.
- SERVICE_ACCOUNT_KEY_PATH: la ruta de archivo local al archivo JSON de la clave privada de la cuenta de servicio descargado como parte de los requisitos previos.
Esta clave de cuenta de servicio se almacena como un secreto llamado
creds-gcp
en el espacio de nombresgke-connect
. - KUBECONFIG_CONTEXT: el contexto del clúster que se va a registrar tal y como aparece en el archivo kubeconfig. Para obtener este valor desde la línea de comandos, ejecuta
kubectl config current-context
. - KUBECONFIG_PATH: la ruta de archivo local en la que está almacenado tu archivo kubeconfig, que contiene una entrada del clúster que se va a registrar.
El valor predeterminado es
$KUBECONFIG
si se ha definido esa variable de entorno. De lo contrario, será$HOME/.kube/config
. En la Google Cloud consola, ve a la página Resumen de clústeres de Google Kubernetes Engine.
Haga clic en Registrar clúster existente.
Haz clic en Añadir clúster externo.
Escribe el nombre del clúster que quieras registrar en el campo Nombre del clúster.
Opcional: Añade Google Cloud etiquetas a tu clúster.
Haz clic en Generar comando de registro.
En Cloud Shell o en el lugar donde hayas guardado las credenciales de tu cuenta de servicio, edita y ejecuta el comando
gcloud
que se muestra en la página. Debe especificar los siguientes valores:- CLUSTER_CONTEXT es el contexto del clúster tal y como aparece en el archivo kubeconfig. Para obtener este valor desde la línea de comandos, ejecuta
kubectl config current-context
. - KUBECONFIG_PATH es la ruta de archivo local en la que está almacenado tu archivo kubeconfig. El valor predeterminado es
$KUBECONFIG
si se ha definido esa variable de entorno. De lo contrario, el valor predeterminado es$HOME/.kube/config
. - LOCAL_KEY_PATH es la ruta al archivo de clave de tu cuenta de servicio.
Al ejecutar este comando, se implementa el agente de Connect en tu clúster de usuario. Cuando el agente de conexión se conecte a Google Cloud y tu clúster se registre, se mostrará un mensaje de éxito en la página.
- CLUSTER_CONTEXT es el contexto del clúster tal y como aparece en el archivo kubeconfig. Para obtener este valor desde la línea de comandos, ejecuta
Haz clic en Definir etiquetas o en Saltar si no has definido ninguna etiqueta.
Cloud Service Mesh 1.11 y versiones posteriores son compatibles con Amazon EKS:
Gestión de la configuración y las políticas:
- Configurar el almacenamiento de registros y la monitorización de clústeres vinculados
- Solucionar problemas con clústeres adjuntos
Registrar clústeres vinculados
Debes registrar en la flota de tu proyecto todos los clústeres que quieras usar con las funciones de GKE. Una flota proporciona una forma de agrupar y normalizar lógicamente los clústeres de Kubernetes, lo que facilita la administración de la infraestructura. Los clústeres de la misma flota se pueden consultar y gestionar conjuntamente en la Google Cloud consola, y muchos componentes de GKE y Google Cloud utilizan conceptos de flota, como la identidad y el espacio de nombres, para simplificar el trabajo con varios clústeres. Puedes consultar mucha más información sobre las flotas y las funciones que permiten en nuestra guía de gestión de flotas.
Puedes habilitar y usar funciones de GKE en estos clústeres, así como gestionar algunas funciones de GKE a nivel de flota desde la página Funciones de GKE.
Configurar la identidad
Todos los clústeres adjuntos requieren una identidad para que el agente de Connect la use al autenticarse en Google. Si tu clúster cumple los requisitos, puedes registrarlo con la identidad de carga de trabajo de la flota habilitada para la autenticación. Los clústeres que tienen habilitada esta función usan identidades de un grupo de identidades de cargas de trabajo de toda la flota. Para obtener más información sobre cómo funciona la identidad de cargas de trabajo de flotas y las ventajas de usarla, consulta el artículo Usar la identidad de cargas de trabajo de flotas.
Si no puedes usar Workload Identity de la flota, para registrar un clúster adjunto, necesitas una Google Cloud cuenta de servicio para la autenticación. Te recomendamos que crees una cuenta de servicio para cada clúster que quieras adjuntar. Para crear una cuenta de servicio para un clúster con los roles adecuados, sigue las instrucciones que se indican en Crear una cuenta de servicio con gcloud
Google Cloud .
Una vez que hayas creado tu cuenta de servicio, podrás usar el archivo JSON con las credenciales de la cuenta de servicio (archivo de clave) para registrar tu clúster, tal como se describe en la siguiente sección.
Registrar un clúster
Te recomendamos que consultes el estado de la pertenencia de tu clúster después de registrarlo para asegurarte de que está conectado correctamente a Google Cloud. Consulta nuestra guía de solución de problemas si tienes algún problema con el registro.
gcloud
Ejecuta el siguiente comando:
gcloud container fleet memberships register MEMBERSHIP_NAME \ --context=KUBECONFIG_CONTEXT \ --kubeconfig=KUBECONFIG_PATH \ --service-account-key-file=SERVICE_ACCOUNT_KEY_PATH
Haz los cambios siguientes:
Registrar un clúster adjunto con la identidad de cargas de trabajo de la flota
Para registrar un clúster adjunto con la identidad de cargas de trabajo de la flota habilitada, ejecuta el siguiente comando. Para obtener más información sobre los tipos de clústeres adjuntos que pueden usar esta función y los requisitos adicionales, consulta Requisitos previos de los clústeres adjuntos.
gcloud container fleet memberships register MEMBERSHIP_NAME \ --context=KUBECONFIG_CONTEXT \ --kubeconfig=KUBECONFIG_PATH \ --enable-workload-identity \ --has-private-issuer
Consola
Generar un comando de registro
Puedes usar la consola Google Cloud para generar un comando de registro gcloud
que te ayude a registrar tu clúster (solo con una cuenta de servicio).
Para registrar un clúster, sigue estos pasos:
Opciones de registro avanzadas (solo en la línea de comandos)
Descargar el manifiesto del agente de Connect
Para descargar el manifiesto de instalación del agente de Connect sin implementar el agente (por ejemplo, si quieres examinar o editar el manifiesto antes de la instalación), incluye la marca --manifest-output-file
en el comando gcloud container fleet memberships register
. Por ejemplo:
--manifest-output-file=[MANIFEST_FILE_PATH]
donde [MANIFEST_FILE_PATH] es la ruta de archivo local en la que quieres que se almacene el manifiesto de instalación de Connect Agent.
Si usas esta opción, no se implementará el agente de conexión en el clúster. Para desplegar el agente de Connect, aplica manualmente el manifiesto descargado a tu clúster.
Usar un servidor proxy
Para configurar un servidor proxy, pasa la marca --proxy
al comando gcloud container fleet memberships register
. Por ejemplo:
--proxy=[URL]
donde [URL] es la dirección del proxy.
Connect Agent solo admite proxies HTTP y HTTPS basados en CONNECT y acepta direcciones IP y nombres de host. Asegúrate de especificar el protocolo correspondiente al tipo de proxy en la URL. Por ejemplo, para introducir un nombre de host HTTPS, haz lo siguiente:
--proxy=https://mycorpproxy.com:443
A menos que especifiques lo contrario, Connect Agent usa el puerto 3128 para el proxy.
Si tu proxy requiere autorización, asegúrate de introducir tus credenciales, como las siguientes:
--proxy=http://user:password@10.10.10.10:8888
Instalar el agente de conexión en un clúster con nodos de Windows y Linux
El agente de conexión debe ejecutarse en un nodo Linux. Si vas a instalar el agente Connect en un clúster mixto con nodos Linux y Windows, puedes asegurarte de que se implemente en un nodo Linux añadiendo un selector de nodos adecuado a la definición de la implementación.
Ejecuta el siguiente comando para actualizar la implementación con el selector de nodos adecuado:
kubectl patch deployment \
$(kubectl get deployment -o=jsonpath='{.items[*].metadata.name}' -n gke-connect) \
-p '{"spec":{"template":{"spec":{"nodeSelector":{"kubernetes.io/os":"linux"}}}}}' -n gke-connect
Para validar que la actualización se ha realizado correctamente, ejecuta el siguiente comando:
kubectl get deployment -o=jsonpath='{.items[].spec.template.spec.nodeSelector}' -n gke-connect
El comando debería devolver lo siguiente:
{"kubernetes.io/os":"linux"}
Solución de problemas
Si tienes algún problema durante esta configuración, consulta la guía de solución de problemas para crear flotas.
Habilitar funciones de GKE en clústeres adjuntos
Una vez que hayas registrado tus clústeres, podrás habilitar las funciones de GKE disponibles en ellos para tus aplicaciones. Estas funciones solo se admiten en nuestros tipos de clúster validados. Puedes consultar las versiones actuales de las funciones compatibles con estos tipos en Compatibilidad con versiones y actualizaciones.
En las siguientes guías se explica cómo habilitar las funciones admitidas en tus clústeres:
Acceder a clústeres vinculados
Después de registrar un clúster adjunto, aparece en las páginas de clústeres de GKE de la Google Cloud console. Sin embargo, para ver más detalles, como nodos y cargas de trabajo, debes iniciar sesión y autenticarte en el clúster. Para iniciar sesión en los clústeres adjuntos desde la Google Cloud consola, sigue las instrucciones que se indican en Iniciar sesión en clústeres desde la Google Cloud consola. En función del método de autenticación que elijas, ten en cuenta que tú o un administrador de la plataforma tendréis que realizar algunos pasos de configuración adicionales para que tú u otros usuarios podáis iniciar sesión en el clúster.
Para acceder a los clústeres adjuntos desde la línea de comandos mediante una identidad de Google Cloud , consulta el artículo Conectarse a clústeres registrados con la pasarela de Connect.
Para autenticarte en clústeres adjuntos con tu proveedor de identidades externo (solo en clústeres de EKS en AWS, función de vista previa), consulta Configurar Identity Service de GKE para una flota y Acceder a clústeres con Identity Service de GKE.