Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Al responder a la pregunta: «¿Cómo configuro Kubernetes para la multitenencia?», los arquitectos deben comprender primero los límites conceptuales y los modelos de aislamiento disponibles. El multiinquilinato en AKS es la práctica de ejecutar varias cargas de trabajo aisladas, pertenecientes a distintos equipos, aplicaciones o clientes, en un clúster compartido de Kubernetes. En este artículo se detallan los conceptos básicos y los modelos arquitectónicos para el multiinquilino en Azure Kubernetes Service (AKS).
Sugerencia
¿Cuáles son los tres modelos de multiinquilinato en AKS? AkS multiinquilino usa un espectro de aislamiento con tres modelos comunes: aislamiento de espacio de nombres, aislamiento de grupo de nodos y clúster por inquilino. El aislamiento por espacio de nombres es la mejor opción para equipos internos de confianza y para lograr la máxima eficiencia de costes; el aislamiento mediante pools de nodos añade una separación más sólida de las cargas de trabajo con una sobrecarga moderada; y un clúster por tenant proporciona el mayor nivel de aislamiento para escenarios no confiables o muy regulados.
Para obtener instrucciones de implementación paso a paso y manifiestos YAML, consulte la guía complementaria: Prácticas recomendadas para entornos multiinquilino en AKS.
¿Por qué el multiinquilinato en AKS?
La multitenencia permite que varios equipos, aplicaciones o clientes compartan un único clúster de Kubernetes. La principal razón de la multiinquilancia en AKS es la eficiencia de costes y la escala operativa.
Ejecutar un clúster dedicado para cada aplicación o equipo provoca una fragmentación significativa de los recursos, capacidad de cómputo ociosa y una sobrecarga multiplicada del plano de control. Al consolidar cargas de trabajo en clústeres multiinquilino, las organizaciones maximizan el uso de recursos y reducen el gasto en la nube. Desde el punto de vista operativo, la multitenencia reduce la cantidad de clústeres, lo que significa que los equipos de plataforma tienen menos clústeres que parchear, actualizar, supervisar y proteger, lo que agiliza la gestión del ciclo de vida.
¿Cuál es la diferencia entre el multiinquilinato blando y el estricto?
Kubernetes no es inherentemente un sistema multiinquilino. Para implementar la multitenencia, debe optar por un modelo de aislamiento «blando» o «duro» en función del nivel de confianza entre los inquilinos.
La diferencia entre la multitenencia flexible y la estricta en Kubernetes radica principalmente en el modelo de confianza y en los requisitos de aislamiento resultantes. La multitenencia flexible parte de la base de que los inquilinos internos son de confianza y se centra en evitar interferencias accidentales mediante controles lógicos, como espacios de nombres, RBAC y cuotas. La multitenencia estricta asume una confianza baja o nula entre los inquilinos y requiere controles de aislamiento más sólidos para reducir el riesgo de acceso malintencionado, movimiento lateral y exposición de datos.
| Modelo | Nivel de confianza | Objetivo | Caso de uso | Escenarios de ejemplo |
|---|---|---|---|---|
| Multiinquilinato flexible | Elevada confianza entre inquilinos internos | Evitar interferencias accidentales, colapso de recursos y colisiones de configuración | Entornos de plataforma internos en los que los equipos comparten infraestructura | Varios equipos de productos de una organización que comparten un clúster de AKS para desarrollo y pruebas y servicios internos |
| Multitenencia estricta | Confianza baja o cero entre inquilinos | Prevención de ataques malintencionados, movimiento lateral y filtración de datos | Hospedaje de clientes externos y cargas de trabajo reguladas | Proveedor de SaaS que hospeda cargas de trabajo específicas del cliente en las que el aislamiento de inquilinos es un requisito de seguridad y cumplimiento |
El espectro de aislamiento
La multitenencia en AKS no es una elección binaria; se sitúa en un espectro. A medida que se mueve por el espectro, el aislamiento aumenta, pero también lo hace la complejidad operativa y el costo. Este espectro forma la columna vertebral organizativa para el diseño de clústeres multiinquilino:
- Aislamiento de espacios de nombres (lógico): los inquilinos comparten los mismos grupos de nodos y el plano de control, pero están separados lógicamente mediante espacios de nombres de Kubernetes. Esta es la base del multiarrendamiento flexible.
- Aislamiento del grupo de nodos (computación física): los clientes comparten el plano de control, pero tienen asignados nodos de trabajo dedicados. Esto mejora la separación de cargas de trabajo y la mitigación de vecinos ruidosos, pero no se completa el aislamiento de inquilinos porque el plano de control y los componentes de nivel de clúster todavía se comparten.
- Clúster por inquilino (físico completo): los inquilinos están completamente aislados con su propio plano de control y plano de datos de AKS. Esta es la máxima expresión de la multitenencia estricta, ya que elude los recursos compartidos a nivel de Kubernetes en favor del aislamiento a nivel de Azure.
Elementos básicos de AKS para multitenencia
AKS proporciona un conjunto de primitivas nativas e integradas con Azure para garantizar los distintos niveles de aislamiento.
- Microsoft Entra ID: proporciona administración centralizada de identidades y acceso para autenticar usuarios y sistemas automatizados en la API de Kubernetes.
- Azure RBAC: asigna las identidades de Microsoft Entra ID a los permisos de Kubernetes, lo que garantiza que los tenants solo puedan acceder a los recursos que tienen autorizados.
- Espacios de nombres administrados: proporcionan límites lógicos dentro del clúster para agrupar los recursos de los inquilinos, aplicar cuotas y delimitar el acceso.
- Azure Policy/Gatekeeper: aplica reglas centralizadas de cumplimiento y gobernanza en todo el clúster para evitar que los inquilinos implementen configuraciones no seguras o no autorizadas.
- Azure CNI: proporciona integración de red virtual nativa para redes de AKS y admite la segmentación del tráfico de inquilinos con controles de directivas de red. El comportamiento de IP del pod depende del modo CNI seleccionado (por ejemplo, Superposición o Subred de pod).
- Azure Container Networking Services (ACNS) Cilium L7: ofrece directivas de red basadas en eBPF de alto rendimiento y filtrado de tráfico de nivel 7 para aislar estrictamente el tráfico de red del inquilino.
- Identidad de carga de trabajo: permite que los pods individuales se autentiquen de forma segura en servicios de Azure externos mediante identidad federada, lo que elimina los secretos compartidos entre inquilinos.
Mapeo de capas de aislamiento a través de planos
Para crear una arquitectura multiinquilino segura, debe aplicar los primitivos de AKS en tres planos distintos del entorno de clúster.
| Avión | Description | Elementos básicos de AKS aplicados |
|---|---|---|
| Plano de control | Protección del acceso al servidor de API de Kubernetes y a los límites lógicos. | Microsoft Entra ID, Azure RBAC, espacios de nombres administrados |
| Plano de datos | Protección del tráfico de red, de la ejecución de procesos y de los límites a nivel de nodo. | Azure CNI, ACNS Cilium L7, grupos de nodos |
| Plano de recursos | Gestión del consumo de recursos de cómputo, el acceso externo y la conformidad de la configuración. | Azure Policy, identidad de carga de trabajo |
¿Qué modelo de aislamiento debe elegir?
Use la siguiente matriz para determinar qué punto del espectro de aislamiento se ajusta mejor a sus requisitos organizativos.
| Modelo de aislamiento | Nivel de seguridad | Rentabilidad | Complejidad operativa | Mejor ajuste para |
|---|---|---|---|---|
| Espacio de nombres por tenant | Bajo a medio (lógico) | Alto (uso compartido máximo) | Bajo (clúster único para administrar) | Equipos internos, entornos de desarrollo y pruebas, multitenencia flexible. |
| Grupo de nodos por arrendatario | Alto (cómputo aislado) | Medio (plano de control compartido) | Medio (Gestión de marcas y tolerancias) | Cargas de trabajo internas y externas que necesitan un aislamiento de cómputo más sólido, aunque comparten un plano de control; no es ideal para entornos multiinquilino hostiles de confianza cero. |
| Clúster por cliente | El más alto (físico) | Bajo (sobrecarga alta) | Alta (se requiere administración de flotas) | Entornos multicliente hostiles, clientes empresariales externos, confianza cero. |
Cuándo usar cada modelo
- Utilice un espacio de nombres por inquilino cuando los inquilinos sean internos o de confianza, la eficiencia de costes sea una prioridad y los controles de aislamiento lógico sean suficientes.
- Use node-pool-per-tenant cuando necesite un aislamiento de cómputo más sólido y reducir el efecto de vecino ruidoso, sin dejar de compartir un único plano de control de AKS.
- Use el clúster por inquilino cuando los inquilinos no son de confianza, los límites normativos son estrictos o el modelo de riesgo requiere una infraestructura compartida mínima.
Pasos siguientes
Ahora que comprende los modelos conceptuales y las primitivas de multiinquilinato, continúe con la guía de implementación para aplicar estos conceptos a su clúster.
En conclusión
- La multitenencia en Azure Kubernetes Service (AKS) es la práctica de ejecutar múltiples cargas de trabajo aisladas de distintos inquilinos sobre una infraestructura de Kubernetes compartida para reducir costes y simplificar las operaciones.
- El espacio de nombres por inquilino es el modelo más rentable para cargas de trabajo internas de confianza, ya que maximiza el uso compartido de infraestructura al aplicar límites lógicos.
- Node-pool-per-tenant mejora el aislamiento de los recursos de proceso y el control del problema del vecino ruidoso, pero sigue compartiendo el plano de control de AKS y otros componentes a nivel de clúster.
- El clúster por inquilino proporciona el aislamiento de inquilino más seguro para escenarios de confianza cero y altamente regulados, pero requiere un mayor costo y una mayor sobrecarga operativa.