Kubernetes añade metadatos de compatibilidad de imágenes mediante Node Feature Discovery
Una nueva especificación permite que las imágenes de contenedores declaren los requisitos del sistema operativo anfitrión y del hardware, lo que habilita la validación automatizada antes de la programación en clústeres de Kubernetes.
Traducido automáticamente del original en inglés.
En una publicación en el blog de Kubernetes en junio de 2025, ingenieros de Huawei y del Lawrence Livermore National Laboratory describieron un nuevo método para gestionar la compatibilidad de contenedores. La propuesta aborda cómo las aplicaciones especializadas pueden declarar necesidades específicas del sistema operativo anfitrión o del hardware directamente dentro de los metadatos de su imagen. Este enfoque aprovecha el proyecto existente Node Feature Discovery para cerrar la brecha entre los requisitos de los contenedores y las capacidades de los nodos del clúster.
Qué ocurrió
Las aplicaciones contenedorizadas en sectores como telecomunicaciones, computación de alto rendimiento e IA a menudo dependen de configuraciones precisas del host. Estas dependencias pueden incluir versiones específicas del kernel, controladores de dispositivos o bibliotecas del sistema que no forman parte de la imagen estándar del contenedor. Aunque la Open Container Initiative ofrece estándares para los formatos de imagen, carecía previamente de una forma unificada para expresar estos requisitos de compatibilidad a nivel de host. Esta laguna obligaba a los equipos a depender de preconfiguraciones manuales o de infraestructuras inmutables, difíciles de gestionar en entornos multi-nube.
Para resolver esto, los autores propusieron una especificación para los metadatos de compatibilidad de imágenes. Esta especificación permite a los autores de contenedores definir exactamente qué características del host necesita su aplicación. La propuesta se implementó dentro del proyecto Kubernetes Node Feature Discovery (NFD). NFD es una herramienta de código abierto que detecta y reporta automáticamente las características de hardware y software de los nodos del clúster. Al integrar los metadatos de compatibilidad con NFD, los usuarios ahora pueden programar cargas de trabajo solo en nodos que cumplan con los estrictos requisitos del sistema definidos por la imagen del contenedor.
La implementación admite diversas tecnologías de contenedores más allá de Kubernetes, incluyendo Singularity y otros artefactos OCI. Su objetivo es hacer que los requisitos de compatibilidad sean descubribles y programables. Esto significa que, en lugar de adivinar si un nodo puede ejecutar una carga de trabajo específica, el sistema puede validar automáticamente la adecuación antes de que comience el despliegue. Esto reduce el riesgo de fallos en tiempo de ejecución causados por controladores faltantes o módulos del kernel incompatibles.
Cómo funciona
El mecanismo central se basa en adjuntar un artefacto estructurado de compatibilidad a una imagen de contenedor en el registro. Este artefacto utiliza la API de referrers de OCI para vincular los metadatos a la imagen específica que describe. Los metadatos en sí son un archivo YAML que lista los "Node Feature Groups" requeridos. Estos grupos definen reglas basadas en características que NFD puede detectar, como módulos del kernel cargados, modelos de CPU o dispositivos PCI.

Cuando un usuario desea desplegar una imagen, una herramienta cliente recupera el artefacto de compatibilidad del registro. Luego compara los requisitos listados en el artefacto contra las características reales reportadas por el nodo destino. Si el nodo coincide con todas las reglas especificadas, la validación pasa. Este proceso puede ocurrir dentro o fuera de un clúster de Kubernetes, proporcionando flexibilidad para escenarios de nube híbrida. El sistema utiliza expresiones de coincidencia para verificar la existencia de características específicas o para confirmar que los valores caen dentro de un rango permitido.
Detalles clave
- La especificación fue publicada el 25 de junio de 2025 por Chaoyi Huang, Marcin Franczyk y Vanessa Sochat.
- Se integra con Kubernetes Node Feature Discovery (NFD) para emparejar los requisitos de los contenedores con las capacidades de los nodos.
- Los metadatos de compatibilidad se almacenan como un artefacto OCI y se adjuntan a las imágenes usando la herramienta
oras. - El esquema incluye campos para versión, compatibilidades, reglas, peso, etiqueta y descripción.
- La validación puede realizarse usando el comando
nfd compat validate-nodeantes de la programación. - El enfoque admite diversos entornos, incluyendo RHCOS, Photon OS, Amazon Linux 2 y Azure Linux OS.
Por qué importa
Para los ingenieros que construyen productos en industrias reguladas o sensibles al rendimiento, este cambio reduce la fricción operativa. Anteriormente, garantizar que un contenedor pudiera ejecutarse en un nodo específico requería un profundo conocimiento de la infraestructura subyacente o pruebas extensivas. Con metadatos de compatibilidad explícitos, el pipeline de despliegue puede rechazar automáticamente los nodos inadecuados. Esto previene errores costosos en tiempo de ejecución y asegura que las aplicaciones con dependencias estrictas de hardware, como aquellas que usan GPUs o Infiniband, se ejecuten en la infraestructura apropiada.
Este desarrollo también simplifica las estrategias de multi-nube y nube híbrida. Diferentes proveedores de nube utilizan diferentes sistemas operativos base, cada uno con configuraciones únicas de kernel y conjuntos de controladores. Al definir los requisitos de manera estandarizada, los equipos pueden escribir una vez y desplegar en cualquier lugar, siempre que los nodos destino expongan las características necesarias vía NFD. Esta portabilidad es crucial para organizaciones que necesitan evitar el bloqueo del proveedor mientras mantienen alta fiabilidad.
Además, esto sienta las bases para una programación más inteligente en el futuro. A medida que el ecosistema adopte estos estándares, los planificadores podrían configurar automáticamente los nodos o seleccionar hardware óptimo basado en el perfil de compatibilidad declarado. Esto acerca a la industria a una infraestructura totalmente automatizada y auto-reparable, donde la ubicación de las cargas de trabajo está impulsada por restricciones técnicas precisas en lugar de etiquetas amplias.
Qué puedes hacer
- Explora la documentación del proyecto Node Feature Discovery para entender cómo detecta características de hardware y software.
- Usa la herramienta
oraspara adjuntar artefactos de compatibilidad a tus imágenes de contenedores en registros compatibles con OCI. - Define reglas de compatibilidad en formato YAML, especificando módulos del kernel requeridos, proveedores de CPU o dispositivos PCI.
- Prueba la herramienta cliente
nfd compat validate-nodepara comprobar si tus nodos actuales cumplen con los requisitos de tu imagen. - Únete a la comunidad de Kubernetes Node Feature Discovery para contribuir al desarrollo continuo de la Image Compatibility API.
- Revisa tus aplicaciones contenedorizadas existentes para identificar dependencias ocultas del SO del host que podrían beneficiarse de esta especificación.


