En esta página se explica en detalle cómo te ayudan las flotas a gestionar las implementaciones multiclúster, incluidos algunos términos y conceptos clave de las flotas. Las flotas son un Google Cloud concepto para organizar de forma lógica clústeres y otros recursos, lo que te permite usar y gestionar funciones de varios clústeres, así como aplicar políticas coherentes en tus sistemas. Las flotas son una parte fundamental del funcionamiento de la función multiclúster en Google Cloud.
Esta guía está dirigida a lectores con conocimientos técnicos, como arquitectos de sistemas, operadores de plataformas y operadores de servicios, que quieran aprovechar varios clústeres y la infraestructura relacionada. Estos conceptos son útiles en cualquier organización que ejecute varios clústeres, ya sea enGoogle Cloud, en varios proveedores de servicios en la nube o en instalaciones locales.
Antes de leer esta página, asegúrate de que conoces los conceptos básicos de Kubernetes, como los clústeres y los espacios de nombres. Si no es así, consulta los conceptos básicos de Kubernetes, la documentación de GKE y el artículo Preparar una aplicación para Cloud Service Mesh.
Terminología
A continuación, se indican algunos términos importantes que usamos cuando hablamos de flotas.
Recursos que tienen en cuenta la flota
Los recursos compatibles con flotas son Google Cloud recursos de proyectos que se pueden agrupar y gestionar de forma lógica como flotas. Actualmente, solo los clústeres de Kubernetes pueden ser miembros de una flota.
Proyecto del host de la flota
La implementación de flotas, al igual que muchos otros Google Cloud recursos, se basa en un Google Cloud proyecto, al que llamamos proyecto de host de flota. Un proyecto Google Cloud determinado solo puede tener una flota (o ninguna) asociada. Esta restricción refuerza el uso de proyectos de Google Cloud para proporcionar un mayor aislamiento entre los recursos que no se rigen ni se consumen conjuntamente.
Infraestructura de agrupación
El primer concepto importante de las flotas es el de agrupación, es decir, elegir qué elementos de los recursos relacionados compatibles con flotas deben formar parte de una flota. Para decidir qué elementos se deben agrupar, es necesario responder a las siguientes preguntas:
- ¿Están relacionados entre sí?
- Los recursos que tienen grandes cantidades de comunicación entre servicios son los que más se benefician de gestionarse juntos en una flota.
- Los recursos del mismo entorno de implementación (por ejemplo, tu entorno de producción) deben gestionarse conjuntamente en una flota.
- ¿Quién administra los recursos?
- Tener un control unificado (o al menos de confianza mutua) sobre los recursos es fundamental para asegurar la integridad de la flota.
Para ilustrar este punto, vamos a tomar como ejemplo una organización que tiene varias líneas de negocio. En este caso, los servicios rara vez se comunican entre las fronteras de las líneas de negocio, los servicios de diferentes líneas de negocio se gestionan de forma diferente (por ejemplo, los ciclos de actualización difieren entre las líneas de negocio) e incluso pueden tener un conjunto diferente de administradores para cada línea de negocio. En este caso, puede que tenga sentido tener flotas por línea de negocio. Es probable que cada línea de negocio también adopte varias flotas para separar sus servicios de producción y no producción.
En las siguientes secciones se explorarán otros conceptos de flotas, por lo que puede que encuentres más motivos para crear varias flotas en función de las necesidades específicas de tu organización.
Igualdad
Un concepto importante en las flotas es el de igualdad. Esto significa que, cuando usas determinadas funciones habilitadas para flotas, algunos objetos de Kubernetes, como los espacios de nombres que tienen el mismo nombre en diferentes clústeres, se tratan como si fueran lo mismo. Esta normalización se lleva a cabo para facilitar la administración de los recursos de la flota. Si usas funciones que aprovechan la igualdad, esta suposición te ofrece algunas directrices sobre cómo configurar espacios de nombres, servicios e identidades. Sin embargo, también sigue lo que hemos observado que la mayoría de las organizaciones ya están implementando.
Los distintos tipos de igualdad ofrecen diferentes ventajas, tal como se muestra en la siguiente tabla:
Propiedad de igualdad | Te permite... |
---|---|
Un espacio de nombres se considera el mismo en varios clústeres. |
|
La combinación de espacio de nombres y nombre de servicio se considera la misma en varios clústeres. Los servicios con el mismo nombre en el mismo espacio de nombres usan el mismo selector de etiquetas. |
|
Una combinación de espacio de nombres y cuenta de servicio (identidad) se considera la misma en varios clústeres. |
|
Como se indica, las diferentes funciones de la flota dependen de distintos tipos de igualdad. Un número menor de funciones no usa la igualdad en absoluto. Puedes consultar más información en el artículo ¿Qué funciones usan la igualdad?, donde se indica qué funciones puedes usar sin tener que tener en cuenta la igualdad en toda la flota y cuáles pueden requerir una planificación más cuidadosa.
Igualdad de espacios de nombres
El ejemplo fundamental de igualdad en una flota es la igualdad del espacio de nombres. Muchos servicios de flotas consideran que los espacios de nombres con el mismo nombre en diferentes clústeres son iguales. Otra forma de entender esta propiedad es que un espacio de nombres se define lógicamente en toda una flota, aunque la instanciación del espacio de nombres solo exista en un subconjunto de los recursos de la flota.
Veamos el siguiente ejemplo de espacio de nombres backend
. Aunque el espacio de nombres solo se crea en los clústeres A y B, se reserva implícitamente en el clúster C (permite que un servicio del espacio de nombres backend
también se programe en el clúster C si es necesario).
Esto significa que los espacios de nombres se asignan a toda la flota y no a cada clúster. Por lo tanto, para que los espacios de nombres sean iguales, es necesario que la propiedad de los espacios de nombres sea coherente en toda la flota.

Igualdad de servicios
Cloud Service Mesh y Multi Cluster Ingress usan el concepto de igualdad de servicios en un espacio de nombres. Al igual que la igualdad de espacios de nombres, esto implica que los servicios con el mismo espacio de nombres y nombre de servicio se consideran el mismo servicio.
Los endpoints de servicio se pueden combinar en toda la malla en el caso de Cloud Service Mesh. Con Multi Cluster Ingress, un recurso MultiClusterService (MCS) hace que la combinación de endpoints sea más explícita. Sin embargo, recomendamos prácticas similares con respecto a la nomenclatura. Por este motivo, es importante asegurarse de que los servicios con el mismo nombre en el mismo espacio de nombres sean realmente lo mismo.
En el siguiente ejemplo, el tráfico de Internet se balancea entre un servicio con el mismo nombre en el espacio de nombres frontend
presente en los clústeres B y C. Del mismo modo, si se usan las propiedades de la malla de servicios en la flota, el servicio del espacio de nombres frontend
puede acceder a un servicio con el mismo nombre en el espacio de nombres auth
presente en los clústeres A y C.

Identidad idéntica al acceder a recursos externos
Con la federación de identidades de carga de trabajo de flotas, los servicios de una flota pueden usar una identidad común al salir para acceder a recursos externos, como servicios, almacenes de objetos, etc. Google Cloud Esta identidad común permite que los servicios de una flota accedan a un recurso externo una sola vez en lugar de clúster por clúster.
Para ilustrar este punto, veamos el siguiente ejemplo. Los clústeres A, B y C están registrados en la identidad común de su flota. Cuando los servicios del espacio de nombres backend
acceden Google Cloud a los recursos, sus identidades se asignan a una cuenta de servicio común llamada Google Cloud back
. LaGoogle Cloud cuenta de servicioback
se puede autorizar en cualquier número de servicios gestionados, desde Cloud Storage hasta Cloud SQL. A medida que se añaden nuevos recursos de la flota, como clústeres, en el espacio de nombres backend
, estos heredan automáticamente las propiedades de igualdad de la identidad de carga de trabajo.
Debido a la igualdad de identidad, es importante que todos los recursos de una flota sean de confianza y estén bien gestionados. Volviendo al ejemplo anterior, si el clúster C es propiedad de un equipo independiente que no es de confianza, este también puede crear un espacio de nombres backend
y acceder a los servicios gestionados como si fuera el backend
de los clústeres A o B.

Identidad de cargas de trabajo de flotas
En la flota, la identidad se usa de forma similar a la identidad externa que hemos comentado anteriormente. Al igual que los servicios de flota se autorizan una vez para un servicio externo, también se pueden autorizar internamente.
En el ejemplo siguiente, usamos Cloud Service Mesh para crear una malla de servicios multiclúster en la que frontend
tiene acceso a backend
.
Con Cloud Service Mesh y las flotas, no es necesario especificar que frontend
en los clústeres B y C puede acceder a backend
en los clústeres A y B. En su lugar, especificamos que frontend
de la flota puede acceder a backend
de la flota. Esta propiedad no solo simplifica la autorización, sino que también hace que los límites de los recursos sean más flexibles. Ahora, las cargas de trabajo se pueden mover fácilmente de un clúster a otro sin que afecte a la forma en que se autorizan. Al igual que ocurre con la igualdad de identidades de cargas de trabajo, la gobernanza de los recursos de la flota es fundamental para asegurar la integridad de la comunicación entre servicios.

¿Qué funciones usan la igualdad?
Algunas funciones de la flota no dependen de la igualdad y se pueden habilitar y usar sin tener que plantearse si quiere asumir alguna forma de igualdad en toda la flota. Otras funciones (como Config Sync y Policy Controller) pueden usar la igualdad (por ejemplo, si quieres seleccionar un espacio de nombres en varios clústeres miembros de la flota para la configuración de una única fuente de información), pero no es necesario en todos los casos prácticos. Por último, hay funciones como Multi Cluster Ingress y la federación de identidades de carga de trabajo en toda la flota que siempre presuponen alguna forma de igualdad entre los clústeres y que pueden tener que adoptarse con cuidado en función de tus necesidades y cargas de trabajo.
Algunas funciones de la flota (como la federación de identidades de cargas de trabajo de la flota) requieren que toda la flota esté preparada para las suposiciones de igualdad que utilizan. Otras funciones, como la gestión de equipos, te permiten habilitar gradualmente la igualdad a nivel de espacio de nombres o de permiso de equipo.
En la siguiente tabla se muestra qué funciones requieren uno o varios de los conceptos de igualdad descritos en esta sección.
Función | Admite la adopción gradual de la igualdad | Depende de si los espacios de nombres son iguales | Depende de si los servicios son iguales | Depende de si las identidades son iguales |
---|---|---|---|---|
Flotas | N/A | No | No | No |
Autorización binaria | N/A | No | No | No |
Cifrado transparente entre nodos | N/A | No | No | No |
Política de red basada en nombres de dominio completos | N/A | No | No | No |
Pasarela de conexión | N/A | No | No | No |
Config Sync | N/A | No | No | No |
Policy Controller | N/A | No | No | No |
Posición de seguridad de GKE | N/A | No | No | No |
Advanced Vulnerability Insights | N/A | No | No | No |
Posición de cumplimiento | N/A | No | No | No |
Secuenciación de lanzamientos | N/A | No | No | No |
Gestión de equipos | Sí | Sí | Sí | No |
entrada multi-clúster | Sí | Sí | Sí | Sí |
Servicios de varios clústeres | Sí | Sí | Sí | Sí |
Federación de identidades de cargas de trabajo de flotas | No | Sí | Sí | Sí |
Cloud Service Mesh | No | Sí | Sí | Sí |
Exclusividad
Los recursos que tienen en cuenta la flota solo pueden ser miembros de una flota a la vez. Esta restricción se aplica mediante Google Cloud herramientas y componentes. Esta restricción asegura que solo haya una fuente de información veraz que rija un clúster. Sin exclusividad, incluso los componentes más sencillos serían complejos de usar, lo que obligaría a tu organización a reflexionar y configurar cómo interactuarían varios componentes de varias flotas.
Confianza alta
La igualdad de servicios, la igualdad de identidades de cargas de trabajo y la igualdad de identidades de malla se basan en un principio de alta confianza entre los miembros de una flota. Esta confianza permite mejorar la gestión de estos recursos en la flota, en lugar de gestionarlos uno a uno (es decir, clúster a clúster en el caso de los recursos de Kubernetes), y, en última instancia, hace que el límite del clúster sea menos importante.
Dicho de otro modo, en una flota, los clústeres protegen frente a los problemas de radio de explosión, la disponibilidad (tanto del plano de control como de la infraestructura subyacente), los vecinos ruidosos, etc. Sin embargo, no son un límite de aislamiento sólido para las políticas y la gobernanza, ya que los administradores de cualquier miembro de una flota pueden afectar a las operaciones de los servicios de otros miembros de la flota.
Por este motivo, recomendamos que los clústeres en los que no confíe el administrador de la flota se coloquen en sus propias flotas para mantenerlos aislados. Después, si es necesario, se pueden autorizar servicios concretos en el límite de la flota.
Ámbitos de equipo
Un permiso de equipo es un mecanismo para subdividir aún más tu flota en grupos de clústeres, lo que te permite definir los recursos de la flota asignados a un equipo de aplicaciones específico. En función de tu caso práctico, un clúster de miembros de la flota puede asociarse a ningún equipo, a un equipo o a varios, lo que permite que varios equipos compartan clústeres. También puedes usar ámbitos de equipo para secuenciar implementaciones de actualizaciones de clústeres en toda tu flota, aunque esto requiere que cada clúster solo esté asociado a un equipo.
Un ámbito de equipo puede tener espacios de nombres de flota definidos explícitamente asociados, donde el espacio de nombres se considera el mismo en todo el ámbito. De esta forma, tendrás un control más granular sobre los espacios de nombres que con la igualdad de espacios de nombres predeterminada que ofrecen las flotas por sí solas.
Componentes habilitados para flotas
Todos los componentes siguientes aprovechan los conceptos de flota, como la igualdad de espacio de nombres e identidad, para ofrecer una forma simplificada de trabajar con tus clústeres y servicios. Para consultar los requisitos o las limitaciones actuales para usar flotas con cada componente, consulta los requisitos de los componentes.
Grupos de identidades de carga de trabajo
Una flota ofrece un grupo de identidades de carga de trabajo común que se puede usar para autenticar y autorizar cargas de trabajo de forma uniforme en una malla de servicios y en servicios externos.Cloud Service Mesh
Cloud Service Mesh es un conjunto de herramientas que te ayuda a monitorizar y gestionar una malla de servicios fiable en Google Cloud, en entornos on-premise y en otros entornos compatibles. Puedes formar una malla de servicios en clústeres que formen parte de la misma flota.Config Sync
Config Sync te permite desplegar y monitorizar paquetes de configuración declarativos para tu sistema almacenados en una fuente de referencia central, como un repositorio de Git, aprovechando conceptos básicos de Kubernetes, como espacios de nombres, etiquetas y anotaciones. Con Config Sync, las configuraciones se definen en toda la flota, pero se aplican y se cumplen de forma local en cada uno de los recursos miembros.Policy Controller
Policy Controller te permite aplicar y hacer cumplir políticas declarativas en tus clústeres de Kubernetes. Estas políticas actúan como medidas de protección y pueden ayudarte a gestionar las prácticas recomendadas, la seguridad y el cumplimiento de tus clústeres y tu flota.Ingress de varios clústeres
Ingress de varios clústeres usa la flota para definir el conjunto de clústeres y endpoints de servicio en los que se puede balancear la carga del tráfico, lo que permite ofrecer servicios de baja latencia y alta disponibilidad.
Siguientes pasos
- Consulta más información sobre cuándo usar varios clústeres para satisfacer tus necesidades técnicas y empresariales en Casos prácticos de varios clústeres.
- ¿Te animas a aplicar estos conceptos a tus propios sistemas? Consulta Planificar recursos de la flota.