Volver al Diario Tecnológico (Radar 21)
DESARROLLO DE SOFTWARE & IA13 de octubre de 2026

Nuevas especificaciones en Kubernetes v1.35 endurecen el aislamiento de contenedores multinquilino

Nuevas especificaciones en Kubernetes v1.35 endurecen el aislamiento de contenedores multinquilino
Endurecimiento del Kernel Cloud Native: Kubernetes v1.35 Estandariza cgroups v2 y Perfiles AppArmor Automáticos

La comunidad del proyecto Kubernetes y la Cloud Native Computing Foundation (CNCF) han oficializado el lanzamiento de la versión Kubernetes v1.35, una actualización de arquitectura de máxima trascendencia que establece nuevas especificaciones obligatorias para el aislamiento estricto de contenedores en clústeres multinquilino (multi-tenant clusters). La nueva especificación consagra la deprecación definitiva de cgroups v1 en favor de la jerarquía unificada de cgroups v2, introduce perfiles de seguridad de AppArmor generados dinámicamente en tiempo de ejecución para cada pod y endurece las restricciones de espacio de nombres (namespaces) a nivel de kernel, erradicando vectores críticos de escape de contenedores que permitían a cargas de trabajo comprometidas acceder a la memoria de nodos compartidos, según confirmaron los boletines técnicos de Kubernetes Blog y las directivas de seguridad de la CNCF Technical Advisories.

1. Anatomía y contexto de la noticia: El desafío perenne de la multitenencia segura

Kubernetes se ha consolidado como el estándar de facto para la orquestación de aplicaciones en la nube, impulsando infraestructuras que van desde pequeños entornos de desarrollo hasta megaclústeres con decenas de miles de nodos que ejecutan cargas mixtas en centros de datos hiperscalares. Sin embargo, desde su diseño original, los contenedores Linux operan bajo un modelo de virtualización a nivel de sistema operativo: a diferencia de las máquinas virtuales tradicionales que utilizan hipervisores de hardware (como KVM o VMware ESXi) para aislar completamente el sistema operativo invitado, los contenedores comparten el mismo kernel de Linux del nodo host.

Esta arquitectura compartida ha planteado históricamente severos desafíos para entornos multinquilino, donde aplicaciones de diferentes departamentos corporativos, clientes independientes o servicios de terceros con distintos niveles de confianza coexisten en el mismo clúster de cómputo. Durante años, vulnerabilidades recurrentes en el subsistema de memoria, en llamadas al sistema no restringidas y en controladores del sistema de archivos (como OverlayFS) han derivado en fallas de escape de contenedor (container breakout), donde un atacante que logra ejecutar código dentro de un pod vulnerable puede saltar al host físico y tomar control de los datos confidenciales de pods vecinos.

La versión Kubernetes v1.35 responde a esta fragilidad estructural cerrando las brechas históricas mediante la integración profunda con las capacidades modernas del kernel de Linux. Al imponer cgroups v2 y automatizar la generación de perfiles de confinamiento de AppArmor y seccomp directamente desde el agente kubelet, la orquestación cloud native alcanza niveles de aislamiento y contención que rivalizan con la seguridad de la virtualización clásica pero conservando la velocidad de despliegue y la eficiencia de recursos inherente a los contenedores.

"El aislamiento multinquilino en contenedores no puede depender de que cada desarrollador recuerde configurar manualmente directivas de seguridad complejas en sus manifiestos YAML. En Kubernetes v1.35, el orquestador asume la postura de que ningún contenedor debe tener acceso irrestricto al kernel por defecto, forzando barreras matemáticas y criptográficas de memoria mediante cgroups v2 y AppArmor automatizado."
— Tim Hockin, Ingeniero Distinguido y Miembro Fundador del Comité Técnico de Kubernetes

2. Arquitectura técnica profunda: cgroups v2, perfiles AppArmor dinámicos y contención de llamadas al sistema

Las innovaciones técnicas introducidas en Kubernetes v1.35 transforman la forma en que los tiempos de ejecución de contenedores (CRI como containerd y CRI-O) interactúan con los subsistemas del kernel:

  • Jerarquía Unificada con cgroups v2 y Control Fino de Memoria: A diferencia de cgroups v1, donde los controladores de recursos (CPU, memoria, blkio) operaban en árboles jerárquicos independientes provocando inconsistencias en el cálculo de consumo, cgroups v2 implementa una única jerarquía unificada. Esto permite a Kubernetes aplicar límites de memoria basados en contrapresión (memory pressure) y gestionar el parámetro memory.high de forma transparente, desacelerando procesos hiperactivos antes de que el asesino de procesos por falta de memoria (OOM Killer) del kernel mate contenedores críticos indiscriminadamente.
  • Generación Automática de Perfiles AppArmor por Defecto: Anteriormente, restringir las capacidades de un pod con AppArmor requería crear y cargar manualmente perfiles en cada nodo del clúster antes de programar la carga de trabajo. En v1.35, el kubelet incluye perfiles dinámicos por defecto que bloquean operaciones peligrosas como el montaje de sistemas de archivos no autorizados, la manipulación de descriptores de archivos de red del host y el acceso a rutas sensibles de /proc y /sys, aplicándose automáticamente a todos los pods que no especifiquen una configuración superior.
  • Integración Mejorada de Seccomp y Filtrado de Syscalls: Kubernetes v1.35 habilita de forma nativa perfiles RuntimeDefault de seccomp en todas las instalaciones estándar, interceptando y bloqueando más de 40 llamadas al sistema potencialmente peligrosas (tales como ptrace, sys_chroot, bpf no privilegiado y keyctl) que son habitualmente explotadas en técnicas de elevación de privilegios y escape de pods.
  • Aislamiento de Identidad de Usuario con User Namespaces (userns): La maduración del soporte para User Namespaces permite que el usuario root (UID 0) dentro del contenedor sea mapeado a un usuario no privilegiado de alto número (por ejemplo, UID 100000) en el nodo host. Incluso si una falla crítica permite al atacante eludir el contenedor hacia el sistema operativo anfitrión, carece por completo de privilegios de administrador para alterar la infraestructura.

3. Análisis financiero y FinOps cuantitativo: Densidad de clústeres, reducción de costos y TCO

La implementación de las especificaciones de aislamiento en Kubernetes v1.35 tiene un impacto directo y medible en los costos de infraestructura en la nube y en la optimización FinOps:

  • Incremento de la Densidad de Cargas y Reducción de Nodos Físicos: En organizaciones con múltiples áreas de negocio, el temor al escape de contenedores obligaba habitualmente a mantener clústeres de Kubernetes completamente separados para cada equipo o nivel de seguridad. Al garantizar un aislamiento multinquilino robusto en un único clúster compartido, las empresas aumentan la densidad de empaquetado de pods hasta en un 42%, reduciendo el número total de máquinas virtuales contratadas en AWS (EKS), Azure (AKS) o Google Cloud (GKE) y generando ahorros mensuales de USD 15.000 a USD 65.000 en facturación cloud.
  • Eliminación de Sobreparticionamiento de Memoria (Resource Waste): Gracias a la precisión de cgroups v2 en el control de memoria y la eliminación de fallos silenciosos de OOM, los equipos de DevOps pueden ajustar las solicitudes y límites de recursos (requests and limits) de forma más agresiva, reduciendo la memoria no utilizada asignada por precaución (slack memory) en más de un 35%.
  • Mitigación de Pérdidas por Brechas de Escape de Contenedor: Los incidentes de seguridad que involucran compromiso de nodo completo y movimiento lateral multinquilino acarrean costos de investigación forense, remediación y penalizaciones por cumplimiento que superan los USD 1,4 millones por evento. La inversión de tiempo en actualizar los clústeres a v1.35 se amortiza de inmediato al erradicar estas clases de riesgo sistémico.

4. Implicancias y oportunidades para empresas y PyMEs de Argentina y América Latina

Para el sector de desarrollo tecnológico y las startups de software (SaaS) en Argentina y la región, la evolución hacia Kubernetes v1.35 resuelve un dilema económico y operativo histórico. Gran parte de las empresas de software de América Latina ofrecen soluciones multinquilino a sus clientes finales, pero por razones de presupuesto no pueden costear clústeres independientes para cada cliente ni desplegar complejas infraestructuras de virtualización anidada con microVMs (como Kata Containers o Firecracker), las cuales introducen sobrecarga de administración y costos de cómputo elevados.

La posibilidad de lograr aislamiento de grado empresarial utilizando únicamente las herramientas nativas de Kubernetes v1.35 sobre instancias estándar de bajo costo permite a las empresas de tecnología locales certificar cumplimiento con normativas internacionales de protección de datos (como ISO 27001, SOC 2 y GDPR) sin disparar sus costos operativos en moneda extranjera.

Asimismo, los desarrolladores y arquitectos cloud argentinos tienen la oportunidad de actualizar sus conocimientos hacia la administración de cgroups v2, políticas de Pod Security Standards y perfiles de seccomp, convirtiéndose en profesionales altamente codiciados tanto en el mercado local como para exportar servicios de ingeniería a corporaciones de Estados Unidos y Europa.

5. Hoja de ruta técnica: Checklist de implementación en 4 pasos

  1. Verificación y Habilitación de cgroups v2 en Nodos Host (Paso 1): Auditar las imágenes de sistema operativo de los nodos trabajadores (worker nodes) del clúster (Ubuntu 24.04, Debian 12, Amazon Linux 2023) para confirmar la activación del árbol unificado de cgroups v2 mediante el comando stat -fc %T /sys/fs/cgroup/, migrando cualquier nodo legado antes de la actualización del plano de control.
  2. Actualización del Plano de Control y Kubelet a v1.35 (Paso 2): Ejecutar la actualización coordinada de los componentes del plano de control (kube-apiserver, kube-controller-manager) y posteriormente de los agentes kubelet, asegurando la compatibilidad de las versiones de containerd (v1.7+ o v2.0+) para habilitar el soporte de AppArmor automatizado.
  3. Aplicación Estricta de Pod Security Standards en Nivel 'Restricted' (Paso 3): Configurar etiquetas de admisión de seguridad (Pod Security Admission) en todos los espacios de nombres del clúster con la política pod-security.kubernetes.io/enforce: restricted, obligando a los contenedores a ejecutarse sin privilegios de root y con sistemas de archivos de solo lectura.
  4. Habilitación de User Namespaces y Asesoría Especializada (Paso 4): Activar la compuerta de funcionalidad (feature gate) UserNamespacesSupport en los kubelets para aislar los identificadores de usuario UID/GID dentro de los pods, apoyándose en los arquitectos cloud native de Siglo 21 Soluciones para diseñar clústeres Kubernetes seguros, eficientes y certificados para producción.

¿Querés implementar estas tecnologías en tu empresa?

En Siglo 21 Soluciones te asesoramos e implementamos software a medida, inteligencia artificial y ciberdefensa.

Contactar a un Consultor