Administración de equipos de la flota

Una tarea común para los administradores de plataforma es garantizar que los equipos de aplicaciones y atención al cliente tengan los recursos de infraestructura que necesitan para ejecutar sus cargas de trabajo. Según tu organización, es posible que los equipos necesiten usar clústeres específicos o que ejecuten cargas de trabajo en cada clúster de una flota, con el control de acceso adecuado configurado para cada equipo. Las funciones de administración de equipos de flotas facilitan a los administradores el aprovisionamiento y la administración de recursos de infraestructura para los equipos y cada equipo actúa como un “usuario” independiente en tu flota. Los equipos pueden ejecutar y administrar sus cargas de trabajo, así como ver los registros, el uso de recursos, las tasas de errores y otras métricas, todo con alcance a su propio conjunto de clústeres y espacios de nombres.

Esta página está destinada a los administradores de la plataforma y los miembros del equipo de aplicaciones que deseen obtener información sobre las funciones de administración de equipos de flotas. Las funciones de administración de equipos de flotas solo están disponibles para los usuarios que habilitaron toda la plataforma de GKE Enterprise.

Descripción general de la administración de equipos de flota

La administración de equipos de flotas se basa en dos conceptos clave que brindan a los administradores una abstracción a “nivel de equipo” para usar cuando administran flotas:

  • Los permisos del equipo te permiten definir subconjuntos de recursos de flota por equipo y cada alcance está asociado con uno o más clústeres miembros de la flota. Los permisos del equipo pueden incluir clústeres en Google Cloud o fuera de Google Cloud, aunque todos los clústeres deben ser miembros de la misma flota. Un clúster se puede asociar con más de un permiso de equipo, lo que permite que diferentes equipos ejecuten cargas de trabajo en el mismo clúster.
  • Los espacios de nombres de flotas ofrecen una manera de controlar quién tiene acceso a espacios de nombres específicos dentro de tu flota. De forma predeterminada, cualquier espacio de nombres con el mismo nombre definido en los clústeres de la flota se trata como si fueran el mismo espacio de nombres. Sin embargo, la administración de equipos de flota proporciona una forma de agregar un control más detallado sobre los espacios de nombres. Puedes crear espacios de nombres de flotas dentro de permisos de equipo específicos y, luego, otorgarles acceso a los miembros del equipo solo en clústeres dentro del permiso de su equipo. Los espacios de nombres de flotas se pueden usar de la misma manera que cualquier otro espacio de nombres de Kubernetes en los clústeres miembros del permiso del equipo. Los administradores de la plataforma pueden crear espacios de nombres de flotas por su cuenta o con algunos permisos adicionales, delegar la creación de espacios de nombres a los administradores del equipo.

Ejemplo de administración de equipos

Por ejemplo, supongamos que eres administrador de una plataforma para la empresa Cymbal Group que configura recursos para dos equipos en una sola flota.

  • El equipo de backend consta de un Grupo de Google, backend-team@cymbalgroup.com. Decides que este equipo puede ejecutar cargas de trabajo en los clústeres 1 y 2 con su espacio de nombres backend. Debes crear un permiso de equipo que incluya los dos clústeres y definir un espacio de nombres de flota backend dentro de ese permiso.
  • El equipo de frontend consta de dos Grupos de Google frontend-admin@cymbalgroup.com y frontend-dev@cymbalgroup.com. Decides que el equipo de frontend puede ejecutar cargas de trabajo en los clústeres 2 y 3 con los espacios de nombres frontend-foo y frontend-bar. Nuevamente, crearás un permiso de equipo con los dos clústeres y defines dos espacios de nombres de flota dentro de ese permiso.

Diagrama que muestra un ejemplo de dos equipos que usan una flota

Como puedes ver en el diagrama, una vez que hayas configurado los equipos, ambos pueden usar el clúster 2 y cada equipo usará sus propios espacios de nombres. Además, el equipo de Backend puede usar su espacio de nombres en el clúster 1 y el equipo de Frontend puede usar sus espacios de nombres en el clúster 3. Ambos equipos pueden ejecutar sus cargas de trabajo en los clústeres y ver sus propios recursos sin tener que considerar al otro equipo.

En cada caso, debes especificar que los líderes de equipo (el usuario individual Dana en el caso del equipo de backend y los miembros del grupo frontend-admin en el caso del equipo de frontend) tengan acceso admin al permiso del equipo, lo que significa que tienen pueden crear roles y vinculaciones de roles dentro del permiso, mientras que los miembros restantes del equipo tienen acceso editor.

Si bien puede establecer toda esta configuración manualmente con kubectl o con otras herramientas, el uso de las funciones de administración de equipos facilita la integración rápida de los equipos y permite que los administradores y los miembros del equipo usen funciones adicionales según los permisos del equipo, como los permisos para equipos. métricas.

En una situación real, es probable que también tengas flotas separadas para tus entornos de producción, desarrollo y prueba. Debería crear permisos de equipo para los equipos Frontend y Backend dentro de cada una de estas flotas, lo que les proporciona a los equipos sus propios clústeres de producción, desarrollo y prueba. Puedes obtener más información sobre este tema en las prácticas recomendadas y los ejemplos de nuestra flota.

Funciones habilitadas para el equipo

Una vez configurados los permisos del equipo, los operadores y administradores de la aplicación pueden ver información del permiso del equipo, como el uso de recursos, los registros, los errores por espacio de nombres y otras métricas desde todo su permiso, lo que les facilita evaluar la forma en que usan los recursos, totales, solucionan problemas y mucho más. Puedes obtener más información sobre estas opciones en Usa la descripción general del equipo. Los permisos del equipo también se pueden usar para secuenciar lanzamientos de las actualizaciones.

Accede a los permisos del equipo

Recomendamos que los miembros del equipo accedan a los clústeres de permiso de tu equipo con kubectl a través de las credenciales especiales del clúster para la Connect Gateway. Connect Gateway es un servicio coherente y seguro que permite a los usuarios acceder con sus IDs de Google a cualquier clúster de la flota, incluido el uso de Grupos de Google con propósitos de autorización. Si bien esto no es estrictamente necesario para la autenticación en clústeres de GKE en Google Cloud, usar las credenciales de la puerta de enlace proporciona una forma simple y coherente de autenticarse en los clústeres miembros de la flota, incluso en todos los proyectos. Por el momento, la administración de equipos de flotas no admite proveedores de identidad de terceros.

Recursos existentes

La administración de equipos de flotas también se puede usar para “incorporar” espacios de nombres y clústeres existentes que usan los equipos de tu organización, lo que permite que los administradores y los equipos empiecen a usar funciones basadas en equipos con las cargas de trabajo existentes. Si creas un espacio de nombres de flota y hay un espacio de nombres de Kubernetes existente con ese nombre en uno de los clústeres asociados con su permiso de equipo, ese espacio de nombres se considerará una instancia del espacio de nombres de la flota y, por lo tanto, forma parte del permiso del equipo.

Próximos pasos

  • Si eres administrador de una plataforma, sigue las instrucciones en Configura equipos para configurar y administrar los permisos y los espacios de nombres de los equipos.
  • Obtén información para ver las métricas a nivel del equipo y otra información específica del equipo en Cómo usar la descripción general del equipo (solo vista previa limitada).