Conéctate a clústeres registrados mediante la puerta de enlace de Connect

Las flotas (antes conocidas como entornos) en Google Cloud son grupos lógicos de clústeres de Kubernetes y otros recursos que se pueden administrar juntos y se crean mediante el registro de clústeres en Google Cloud mediante Connect. La puerta de enlace de Connect se basa en la potencia de las flotas para permitir que los usuarios de Anthos se conecten y ejecuten comandos en los clústeres de Anthos registrados 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 Google Cloud. De lo contrario, puedes obtener más información en la guía de flotas y en Registra un clúster. 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.

Para obtener más información general sobre cómo trabajar con varios clústeres en Anthos y Google Cloud, consulta Administración de varios clústeres.

La puerta de enlace de Connect usa tu ID de Google para autenticarse en clústeres. Para descubrir cómo usar los ID de tu proveedor de identidad de OICD existente, consulta Introducción a Anthos 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 Anthos registrados en Cloud Console.
  • 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 Cloud Console. Para ello, sigue las instrucciones en Accede a un clúster desde Cloud Console.

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.

  1. El usuario o servicio descubre los clústeres mediante la enumeración de los recursos de membresía de la flota mediante la herramienta de línea de comandos de gcloud.

    gcloud container hub memberships list
    
  2. El usuario o servicio recupera la kubeconfig de la puerta de enlace específica que se necesita para alcanzar el clúster seleccionado mediante la herramienta de línea de comandos de gcloud.

    gcloud container hub memberships get-credentials membership-name
    

    Si ya estás familiarizado con el uso de la herramienta de línea de comandos 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.

  3. El usuario o servicio ejecuta sus comandos como lo haría normalmente con kubectl o client-go, mediante el archivo kubeconfig descargado.

    1. 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.
    2. 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.
    3. 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 o el servicio 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 seguridad. 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 adicional mediante el Servicio de identidad de Anthos, 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 o servicio.

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 mediante Grupos de Google.

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