Las flotas de Google Cloud son grupos lógicos de clústeres de Kubernetes y otros recursos que se pueden gestionar conjuntamente. Se crean registrando clústeres en Google Cloud. La pasarela Connect aprovecha la potencia de las flotas para permitir que los usuarios de GKE se conecten a los clústeres miembros de la flota y ejecuten comandos en ellos de forma sencilla, coherente y segura, independientemente de si los clústeres están en Google Cloud, en otras nubes públicas o en entornos on-premise. Además, facilita la automatización de los procesos de DevOps en todos los clústeres.
En esta guía se da por hecho que ya conoces algunos conceptos básicos de las flotas y cómo registrar clústeres en una flota. Si no es así, puedes consultar más información en los artículos Introducción a la gestión de flotas y Introducción a la creación de flotas, así como en las guías vinculadas. También debes familiarizarte con las herramientas y los conceptos de Kubernetes, como kubectl
, client-go
(si quieres usar la pasarela con fines de automatización), el control de acceso basado en roles (RBAC) y los recursos principales de Kubernetes.
De forma predeterminada, la pasarela Connect usa tu ID de Google para autenticarse en los clústeres. Admite proveedores de identidades externos mediante federación de identidades de la fuerza de trabajo y autenticación basada en grupos a través de Identity Service para GKE. Si quieres obtener más información sobre Identity Service para GKE o usarlo como opción de autenticación de terceros independiente, consulta el artículo Presentamos Identity Service para GKE.
¿Por qué usar la pasarela de conexión?
Gestionar cargas de trabajo cuando los clústeres se ejecutan en varias nubes y entornos híbridos plantea muchos retos. Los clústeres pueden ejecutarse en diferentes nubes privadas virtuales (VPCs) y usar distintos proveedores de identidades, lo que complica la conectividad, la autenticación y la autorización. A veces, es difícil saber qué clústeres hay en estos entornos.
La pasarela de conexión te permite hacer lo siguiente:
- Descubre qué clústeres hay (en Google Cloud, en otra nube pública o en instalaciones locales) y cuáles están registrados en tu flota mediante una consulta sencilla.
- Conéctate al clúster que quieras mediante la misma infraestructura que usamos para mostrar los clústeres de GKE registrados en la Google Cloud consola.
- Autentícate con las mismas identidades que usas con los servicios de Google Cloud .
- Autoriza de forma coherente en todos los clústeres registrados en una flota.
La pasarela autentica tu Google Cloud identidad y proporciona la conexión al servidor de la API del clúster a través del servicio Connect.
Puedes interactuar directamente con los clústeres a través de la pasarela mediante herramientas de línea de comandos que acepten un kubeconfig
, como kubectl
. También puedes aprovechar fácilmente la pasarela con tus pipelines de compilación y otras automatizaciones de DevOps. Puedes ver un ejemplo de cómo hacerlo en nuestro tutorial Integrar con Cloud Build.
También puedes usar el servicio Connect para conectarte a clústeres registrados fuera Google Cloud con tu Google Cloud identidad en la Google Cloud consola. Para ello, sigue las instrucciones que se indican en Trabajar con clústeres desde la consola Google Cloud .
Cómo funciona
Este es el flujo que sigue un usuario o servicio típico (como una canalización de CI/CD) para usar la pasarela Connect una vez que se han configurado la autenticación y la autorización adecuadas. Para obtener instrucciones de uso más detalladas, consulta nuestra guía de uso.
El usuario o el servicio descubre clústeres enumerando los recursos de Membership de la flota con Google Cloud CLI.
gcloud container fleet memberships list
El usuario o el servicio obtiene el
kubeconfig
específico de la pasarela Connect necesario para acceder al clúster seleccionado mediante Google Cloud CLI.gcloud container fleet memberships get-credentials membership-name
Si ya sabes cómo usar la CLI de gcloud con GKE, esta opción es similar a ejecutar
gcloud container clusters get-credentials
con tu cuenta Google Cloud , lo que te permite (si tienes autorización) acceder a cualquier clúster registrado y conectado en la flota de tu proyecto.El usuario o el servicio ejecutan sus comandos como lo harían normalmente con
kubectl
oclient-go
, usando el archivokubeconfig
descargado.- La pasarela de conexión autentica al usuario o servicio y comprueba la autorización para asegurarse de que tiene permiso para usar la pasarela. En el caso de los clústeres de GKE, la pasarela se conecta directamente al clúster de GKE.
- En el caso de los clústeres de Kubernetes que no sean de GKE, la solicitud se reenvía a través del servicio Connect y del agente Connect al servidor de la API de Kubernetes correspondiente.
- En el caso de los clústeres de Kubernetes que no sean de GKE, el servidor de la API de Kubernetes autoriza la solicitud, lo que requiere que el agente de Connect esté autorizado para suplantar al usuario o al servicio, y que el usuario o el servicio estén autorizados 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. Al autorizar el acceso en función de la pertenencia a un grupo, no tienes que configurar una autorización independiente para cada cuenta, lo que simplifica la gestión de las políticas y facilita la auditoría. Por ejemplo, puedes compartir fácilmente el acceso a un clúster con un equipo, lo que elimina la necesidad de añadir o quitar manualmente usuarios de los clústeres cuando se unan al equipo o lo abandonen. Con una configuración adicional mediante GKE Identity Service, puedes configurar la pasarela de Connect para obtener información sobre la pertenencia a grupos de Google del usuario.
Puedes consultar más información sobre cómo funciona esta función y cómo configurarla en Configurar la pasarela de conexión con Grupos de Google.
Si quieres usar esta función con clústeres adjuntos u otros entornos de GKE, ponte en contacto con el equipo de Asistencia de Google Cloud o con el equipo de Connect Gateway.
Compatibilidad con identidades de terceros
Además de trabajar con usuarios y grupos de Google Workspace, Connect Gateway admite la autorización mediante identidades de terceros, como Azure Active Directory y Okta. Si usas la federación de identidades de empleados, puedes usar un proveedor de identidades externo para autenticar y autorizar a los empleados (un grupo de usuarios, como empleados, partners y contratistas) mediante Gestión de Identidades y Accesos, de forma que los usuarios puedan acceder aGoogle Cloud servicios como Connect Gateway. Con una configuración adicional mediante GKE Identity Service, puedes configurar la pasarela de Connect para obtener información sobre la pertenencia a grupos de terceros de los usuarios.
En el caso de los clústeres adjuntos de GKE, esta función está disponible para todas las versiones de clúster de Kubernetes compatibles.
Para obtener más información sobre cómo funciona esta función y cómo configurarla, consulta el artículo Configurar la pasarela Connect con identidades de terceros.
Si lo prefieres, puedes configurar la autenticación de terceros por completo con Identity Service para GKE siguiendo las instrucciones de su documentación.
Latencia
La latencia total de una solicitud a través de la pasarela se puede dividir en dos partes: el tiempo de ida y vuelta (RTT) desde el servicio de pasarela Connect hasta el agente Connect y el tiempo de ejecución de la solicitud en el clúster. La latencia adicional que aporta el RTT es p95<500 ms y p99<1 s. Ten en cuenta que la mayoría de los comandos de kubectl
realizan una serie de varias solicitudes diferentes, cada una de las cuales requiere un viaje de ida y vuelta, antes de renderizar una respuesta al usuario.
Siguientes pasos
- Consulta cómo configurar la pasarela Connect para usuarios y cuentas de servicio
- Consulta cómo configurar la compatibilidad con Grupos de Google en la pasarela Connect.
- Consulta cómo conectarte a un clúster registrado y ejecutar comandos en él mediante la pasarela de conexión.
- Consulta un ejemplo de cómo usar la pasarela Connect como parte de tu automatización de DevOps en nuestro tutorial Integración con Cloud Build.