Los clústeres conectados de GKE te permiten ver tus clústeres de Kubernetes existentes en la consola de Google Cloud junto con tus clústeres de GKE, y habilitar varias funciones de GKE en ellos, incluido el control de configuración centralizado con Sincronizador de configuración.
Clústeres de Kubernetes compatibles
Puedes adjuntar a tu flota cualquier clúster de Kubernetes que cumpla con las especificaciones y que incluya nodos x86, y visualizarlo en la Google Cloud consola con tus clústeres de GKE.
Google validó los siguientes tipos y versiones de clústeres. Para obtener información sobre las funciones de GKE compatibles con los clústeres adjuntos, consulta Compatibilidad con versiones y actualizaciones de GKE.
Tipos de clústeres adjuntos | Versiones de Kubernetes |
---|---|
Red Hat OpenShift Kubernetes Engine (OKE) 4.9 y 4.10 | 1.23, 1.24 |
Red Hat OpenShift Container Platform (OCP) 4.9 y 4.10 | 1.23, 1.24 |
Rancher Kubernetes Engine (RKE) 1.3.8 | 1.23, 1.24 |
KIND 0.12 | 1.23, 1.24 |
K3s 1.20 | 1.20 |
K3d 4.4.3 | 1.20 |
Antes de comenzar
- 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 usas un proveedor de identidad externo (IdP), primero debes acceder a gcloud CLI 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 usas un proveedor de identidad externo (IdP), primero debes acceder a gcloud CLI con tu identidad federada.
-
Para inicializar gcloud CLI, ejecuta el siguiente comando:
gcloud init
- Verifica los requisitos de registro de flotas y asegúrate de tener los permisos pertinentes y las APIs habilitadas para registrar un clúster.
- Consulta la guía Antes de comenzar para conocer los requisitos específicos para conectar clústeres fuera de Google Cloud, incluidos los pasos de configuración especiales que puedes necesitar para el tipo de clúster.
- MEMBERSHIP_NAME: Es el nombre de membresía que elijas y que se usa para representar de forma única el clúster registrado en la flota.
- SERVICE_ACCOUNT_KEY_PATH: Es la ruta de acceso del archivo local al archivo JSON de clave privada de la cuenta de servicio que se descargó como parte de los requisitos.
Esta clave de la cuenta de servicio se almacena como un secreto llamado
creds-gcp
en el espacio de nombresgke-connect
. - KUBECONFIG_CONTEXT: Es el contexto de clúster del clúster que se registra como aparece en el archivo kubeconfig. Puedes obtener este valor desde la línea de comandos si ejecutas
kubectl config current-context
. - KUBECONFIG_PATH: Es la ruta de archivo local en la que se almacena tu kubeconfig que contiene una entrada para el clúster que se registra.
El valor predeterminado es
$KUBECONFIG
, si esa variable de entorno está configurada, de lo contrario, el valor predeterminado será$HOME/.kube/config
. En la consola de Google Cloud , ve a la página Descripción general de los clústeres de Google Kubernetes Engine.
Haz clic en Registrar un clúster existente.
Haz clic en Agregar clúster externo.
Ingresa el nombre del clúster que deseas registrar en el campo Nombre del clúster.
Opcional: Agrega Google Cloud etiquetas a tu clúster.
Haz clic en Generar comandos de registro.
En Cloud Shell o donde sea que hayas guardado las credenciales de tu cuenta de servicio, edita y ejecuta el comando de
gcloud
que se muestra en la página. Debes especificar los siguientes valores:- El CLUSTER_CONTEXT es el contexto del clúster tal como aparece en el archivo kubeconfig. Puedes obtener este valor desde la línea de comandos si ejecutas
kubectl config current-context
. - El KUBECONFIG_PATH es la ruta de acceso del archivo local donde se almacena tu archivo kubeconfig. El valor predeterminado es
$KUBECONFIG
, si esa variable de entorno está configurada, de lo contrario, el valor predeterminado es$HOME/.kube/config
. - El LOCAL_KEY_PATH es la ruta al archivo de claves de tu cuenta de servicio.
Cuando ejecutas este comando, se implementa el agente de Connect en tu clúster de usuarios. Cuando el agente de Connect se conecta a Google Cloud y tu clúster está registrado, se muestra un mensaje de éxito en la página.
- El CLUSTER_CONTEXT es el contexto del clúster tal como aparece en el archivo kubeconfig. Puedes obtener este valor desde la línea de comandos si ejecutas
Haz clic en Configurar etiquetas o en Omitir si no estableciste ninguna etiqueta.
Cloud Service Mesh 1.11 y las versiones posteriores son compatibles con Amazon EKS:
Administración de configuración y políticas:
- Configura el registro y la supervisión para los clústeres adjuntos.
- Soluciona problemas de clústeres conectados
Registra los clústeres adjuntos
Debes registrar todos los clústeres que desees usar con las funciones de GKE en la flota de tu proyecto. Una flota es una manera de agrupar y normalizar clústeres de Kubernetes de manera lógica, lo que facilita la administración de la infraestructura. Los clústeres de la misma flota se pueden explorar y administrar juntos en la consola deGoogle Cloud , y muchos componentes de GKE y Google Cloud usan conceptos de flota, como la similitud de identidad y la similitud de espacios de nombres para simplificar el trabajo con varios clústeres. Puedes obtener mucha más información sobre las flotas y la funcionalidad que habilitan en nuestra Guía de administración de flotas.
Tienes derecho a habilitar y usar las funciones de GKE en estos clústeres, y puedes administrar algunas de ellas a nivel de la flota desde la página de funciones de GKE.
Configurar la identidad
Todos los clústeres adjuntos requieren una identidad para que el agente de Connect los use cuando se autentique en Google. Si tu clúster cumple con los requisitos, puedes registrarlo con la función Workload Identity de la flota habilitada para la autenticación. Los clústeres con esta función habilitada usan identidades del grupo de Workload Identity de toda la flota. Puedes obtener más información sobre cómo funciona Workload Identity de flota y las ventajas de usarlo, consulta Usa Workload Identity de flota.
Si no puedes usar la función Workload Identity de la flota, el registro de un clúster adjunto requiere una Google Cloud cuenta de servicio para la autenticación. Recomendamos crear una cuenta de servicio nueva para cada clúster que desees conectar. Si deseas crear una cuenta de servicio para un clúster con los roles adecuados, sigue las instrucciones en Crea una cuenta de servicio de Google Cloud con gcloud
.
Después de crear tu cuenta de servicio, puedes usar el archivo JSON con las credenciales de la cuenta de servicio (archivo de claves) para registrar tu clúster, como se describe en la siguiente sección.
Registra tu clúster
Te recomendamos obtener el estado de la membresía 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
Reemplaza lo siguiente:
Registra un clúster conectado con Workload Identity de flota
Para registrar un clúster conectado con Workload Identity de flota habilitado, ejecuta el siguiente comando. Para obtener más información sobre qué tipos de clústeres adjuntos pueden usar esta función y otros requisitos adicionales, consulta Requisitos previos del clúster adjunto.
gcloud container fleet memberships register MEMBERSHIP_NAME \ --context=KUBECONFIG_CONTEXT \ --kubeconfig=KUBECONFIG_PATH \ --enable-workload-identity \ --has-private-issuer
Console
Genera un comando de registro
Puedes usar la consola de Google Cloud para generar un comando de registro gcloud
para registrar tu clúster (solo con una cuenta de servicio).
Para registrar un clúster, sigue estos pasos:
Opciones avanzadas de registro (solo línea de comandos)
Descargar el manifiesto del agente de Connect
Para descargar el manifiesto de instalación del agente de Connect sin implementarlo, por ejemplo, si deseas examinar o editar el manifiesto antes de la instalación, pasa la marca --manifest-output-file
al comando gcloud container fleet memberships register
. Por ejemplo:
--manifest-output-file=[MANIFEST_FILE_PATH]
[MANIFEST_FILE_PATH] es la ruta de acceso del archivo local en la que deseas almacenar el manifiesto de instalación del agente de Connect.
El uso de esta opción no implementará el agente de Connect en el clúster. Para implementar el agente de Connect, aplica el manifiesto descargado de forma manual a tu clúster.
Usa un servidor proxy
Para configurar un servidor proxy, pasa la marca --proxy
al comando gcloud container fleet memberships register
. Por ejemplo:
--proxy=[URL]
En el ejemplo anterior, [URL] es la dirección del proxy.
El agente de Connect 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 pasar un nombre de host HTTPS, haz lo siguiente:
--proxy=https://mycorpproxy.com:443
A menos que especifiques lo contrario, el agente de Connect usa el puerto 3128 para el proxy.
Si tu proxy requiere autorización, asegúrate de pasar tus credenciales, como se muestra a continuación:
--proxy=http://user:password@10.10.10.10:8888
Instala el agente de Connect en un clúster con nodos de Windows y Linux
El agente de Connect debe ejecutarse en un nodo de Linux. Si realizas la instalación en un clúster mixto con nodos de Linux y Windows, asegúrate de que el agente de Connect esté implementado en un nodo de Linux. Para ello, agrega un selector de nodos apropiado a la definición de 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 ejecutó correctamente, ejecuta el siguiente comando:
kubectl get deployment -o=jsonpath='{.items[].spec.template.spec.nodeSelector}' -n gke-connect
El comando debería mostrar lo siguiente:
{"kubernetes.io/os":"linux"}
Soluciona problemas
Si tienes algún problema durante esta configuración, consulta la guía de solución de problemas para la creación de flotas.
Habilita las funciones de GKE en los clústeres conectados
Después de registrar los clústeres, puedes habilitar las funciones de GKE disponibles en ellos para tus aplicaciones. Estas funciones solo son compatibles con nuestros tipos de clústeres validados. Para ver las versiones de funciones actuales que admiten estos tipos, consulta Compatibilidad con versiones y actualizaciones.
En las siguientes guías, se muestra cómo habilitar las funciones compatibles en tus clústeres:
Accede a los clústeres adjuntos
Después de registrar un clúster conectado, este aparece en las páginas de clústeres de GKE en la Google Cloud console. Sin embargo, para ver más detalles, como nodos y cargas de trabajo, debes acceder a tu cuenta y autenticarte en el clúster. Para acceder a los clústeres adjuntos desde la Google Cloud consola, sigue las instrucciones en Accede a clústeres desde la Google Cloud consola. Según el método de autenticación que elijas, es posible que tú o un administrador de la plataforma necesiten realizar alguna configuración adicional antes de que tú u otros usuarios puedan acceder al clúster.
Para acceder a los clústeres conectados desde la línea de comandos con una identidad de Google Cloud , consulta Conéctate a clústeres registrados con la puerta de enlace de Connect.
Para la autenticación en los clústeres adjuntos mediante tu proveedor de identidad de terceros existente (solo clústeres de EKS en AWS, función de versión preliminar), consulta Configura Anthos Identity Service para una flota y Accede a clústeres con Anthos Identity Service.