Conéctate a clústeres registrados mediante la puerta de enlace de Connect
Las flotas en Google Cloud son grupos lógicos de clústeres de Kubernetes y otros recursos que se pueden administrar juntos y que se crean mediante el registro de clústeres en Google Cloud. La puerta de enlace de Connect se basa en la potencia de las flotas para permitir que los usuarios de GKE Enterprise se conecten y ejecuten comandos en los clústeres miembros de la flota de manera simple, coherente y segura, sin importar si se encuentran en Google Cloud, en otras nubes públicas o en las instalaciones locales, y facilita la automatización de los procesos de DevOps en todos los clústeres.
En esta guía, se da por sentado que estás familiarizado con algunos conceptos básicos de las flotas y con el registro de clústeres en una flota. De lo contrario, puedes obtener más información en la Descripción general de la administración de flotas, la Descripción general de la creación de flotas y sus guías vinculadas. También debes estar familiarizado con las herramientas y los conceptos de Kubernetes, incluidos kubectl
, client-go
(si deseas usar la puerta de enlace con fines de automatización), el control de acceso basado en funciones (RBAC) y los recursos principales de Kubernetes.
De forma predeterminada, la puerta de enlace de Connect usa tu ID de Google para autenticarse en clústeres, con compatibilidad para proveedores de identidad de terceros que usan la federación de identidades de personal y con asistencia de autenticación basada en grupos a través de GKE Identity Service. Si quieres obtener más información sobre GKE Identity Service o usarlo como una opción de autenticación independiente de terceros, consulta Introducción a GKE Identity Service.
¿Por qué usar la puerta de enlace de conexión?
Existen muchos desafíos durante la administración de cargas de trabajo cuando los clústeres se ejecutan en varios entornos híbridos y de nube. Los clústeres pueden ejecutarse en diferentes nubes privadas virtuales (VPC) y aprovechar diferentes proveedores de identidad, lo que hace que la conectividad, la autenticación y la autorización sean más complicadas. A veces, es difícil descubrir qué clústeres existen en estos entornos.
La puerta de enlace de Connect facilita las siguientes tareas:
- Descubrir qué clústeres existen (en Google Cloud, en otra nube pública o de forma local) y se registran en tu flota mediante una consulta simple.
- Conectarte al clúster deseado con la misma infraestructura que usamos para mostrar los clústeres de GKE registrados en la consola de Google Cloud.
- Autenticar con las mismas identidades que usas con los servicios de Google Cloud.
- Autorizar de manera coherente en todos los clústeres registrados en una flota.
La puerta de enlace autentica tu identidad de Google Cloud y proporciona la conexión con el servidor de API del clúster a través del servicio de conexión.
Puedes interactuar con los clústeres directamente a través de la puerta de enlace mediante herramientas de línea de comandos que acepten una kubeconfig
, como kubectl
. También puedes aprovechar la puerta de enlace con facilidad mediante las canalizaciones de compilación y otra automatización de DevOps. Puedes ver un ejemplo de cómo hacerlo en nuestro instructivo Integración con Cloud Build.
También puedes usar el servicio de Connect para conectarte a clústeres registrados fuera de Google Cloud con tu identidad de Google Cloud en la consola de Google Cloud. Para ello, sigue las instrucciones en Accede a un clúster desde la consola de Google Cloud.
Cómo funciona
Este es el flujo que realiza un usuario o un servicio típico (como una canalización de IC/EC) para usar la puerta de enlace de Connect después de configurar la autenticación y la autorización adecuadas. A fin de obtener instrucciones más detalladas para usuarios, consulta nuestra guía de uso.
El usuario o servicio descubre clústeres mediante la enumeración de recursos de membresía de la flota con Google Cloud CLI.
gcloud container fleet memberships list
El usuario o servicio recupera el
kubeconfig
específico de la puerta de enlace de Connect necesario para llegar al clúster seleccionado mediante Google Cloud CLI.gcloud container fleet memberships get-credentials membership-name
Si ya estás familiarizado con el uso de la CLI de gcloud con GKE, esto es similar a ejecutar
gcloud container clusters get-credentials
con tu cuenta de Google Cloud, lo que te permite (si tienes autorización) acceder a cualquier clúster registrado y conectado dentro de la flota de tu proyecto.El usuario o servicio ejecuta sus comandos como lo haría normalmente con
kubectl
oclient-go
, mediante el archivokubeconfig
descargado.- La puerta de enlace de conexión conecta al usuario/servicio, y se verifica la autorización para garantizar que tenga permiso para usar la puerta de enlace.
- La solicitud se reenvía a través del servicio de Connect y del agente de Connect al servidor de la API de Kubernetes correspondiente.
- El servidor de la API de Kubernetes autoriza la solicitud, lo que requiere que el agente de conexión esté autorizado para hacerse pasar por el usuario o servicio, y que el usuario o servicio está autorizado para ejecutar la solicitud deseada.
Asistencia de Grupos de Google
En el flujo estándar descrito en la sección anterior, la solicitud del usuario se autoriza en función de su ID individual. Sin embargo, en muchos casos, es útil poder autorizar a los usuarios en función de su pertenencia a Grupos de Google. La autorización basada en la pertenencia a un grupo significa que no tienes que configurar una autorización distinta para cada cuenta, lo que simplifica la administración de las políticas y facilita su auditoría. Por ejemplo, puedes compartir con facilidad el acceso al clúster a un equipo, sin la necesidad de agregar o quitar usuarios individuales de los clústeres cuando se unen al equipo o salen de él. Si realizas algunos pasos de configuración adicionales mediante GKE Identity Service, puedes configurar la puerta de enlace de Connect a fin de obtener información de la pertenencia a un Grupo de Google para el usuario.
Puedes obtener más información sobre cómo funciona esta función y cómo configurarla en Configura la puerta de enlace de Connect con Grupos de Google.
Si deseas usar esta función con clústeres conectados o con otros entornos de GKE Enterprise, comunícate con la Atención al cliente de Cloud o con el equipo de la puerta de enlace de Connect.
Asistencia de identidad de terceros
Además de trabajar con usuarios y grupos de Google Workspace, la puerta de enlace de Connect admite la autorización mediante identidades de terceros, como Azure Active Directory y Okta. Mediante la federación de identidades de personal, puedes usar un proveedor de identidad externo para autenticar y autorizar a personal (un grupo de usuarios, como empleados, socios, contratistas) con Identity and Access Management, de modo que los usuarios puedan acceder a los servicios de Google Cloud, como la puerta de enlace de Connect. Si realizas algunos pasos de configuración adicionales con GKE Identity Service, puedes configurar la puerta de enlace de Connect a fin de obtener información de pertenencia a un grupo de terceros para los usuarios.
La función de identidad de terceros de la puerta de enlace de Connect es compatible con las implementaciones de Google Distributed Cloud en VMware y en equipos físicos a partir de Anthos (GKE Enterprise) versión 1.13. Para los clústeres conectados, esta característica está disponible en Anthos 1.16 y versiones posteriores.
Puedes obtener más información sobre cómo funciona esta función y cómo configurarla en Configura la puerta de enlace de Connect con identidades de terceros.
Si lo prefieres, puedes configurar la autenticación de terceros por completo a través de GKE Identity Service según las instrucciones de su documentación.
Latencia
La latencia total de una solicitud a través de la puerta de enlace se puede dividir en dos partes: el RTT (tiempo de ida y vuelta) del servicio de la puerta de enlace de Connect al agente de Connect, y el tiempo de ejecución de la solicitud dentro del clúster. La latencia adicional que aporta el RTT es de p95<500 ms y p99<1 s. Ten en cuenta que la mayoría de los comandos kubectl
realiza una serie de varias solicitudes diferentes, cada una de las cuales requiere un recorrido de ida y vuelta, antes de procesar una respuesta al usuario.
Próximos pasos
- Obtén información sobre cómo configurar la puerta de enlace de Connect para usuarios y cuentas de servicio.
- Obtén información sobre cómo configurar la compatibilidad con los Grupos de Google para la puerta de enlace de Connect.
- Obtén información sobre cómo conectarte a un clúster registrado y ejecutar comandos en él mediante la puerta de enlace de Connect.
- Consulta un instructivo sobre cómo integrar en Cloud Build para ver un ejemplo de cómo usar la puerta de enlace de Connect con parte de tu automatización de DevOps.