Cloud et infrastructure

Kubernetes ajoute des métadonnées de compatibilité d'image via Node Feature Discovery

Une nouvelle spécification permet aux images de conteneurs de déclarer les exigences relatives au système d'exploitation hôte et au matériel, permettant une validation automatisée avant la planification dans les clusters Kubernetes.

A digital container image with a compatibility checklist hovering over server hardware.
Image : Kubernetes Blog, sous licence CC BY 4.0

Traduit automatiquement depuis l'original anglais.

Dans un article publié sur le blog Kubernetes en juin 2025, des ingénieurs de Huawei et du Lawrence Livermore National Laboratory ont décrit une nouvelle méthode pour gérer la compatibilité des conteneurs. Cette proposition aborde la manière dont les applications spécialisées peuvent déclarer directement dans leurs métadonnées d'image des besoins spécifiques concernant le système d'exploitation ou le matériel de l'hôte. Cette approche s'appuie sur le projet existant Node Feature Discovery pour combler le fossé entre les exigences des conteneurs et les capacités des nœuds du cluster.

Ce qui s'est passé

Les applications conteneurisées dans des secteurs tels que les télécommunications, le calcul haute performance (HPC) et l'intelligence artificielle dépendent souvent de configurations hôtes précises. Ces dépendances peuvent inclure des versions spécifiques du noyau, des pilotes de périphériques ou des bibliothèques système qui ne font pas partie de l'image de conteneur standard. Bien que l'Open Container Initiative fournisse des normes pour les formats d'image, elle manquait auparavant d'un moyen unifié pour exprimer ces exigences de compatibilité au niveau de l'hôte. Cette lacune obligeait les équipes à se fier à une préconfiguration manuelle ou à des infrastructures immuables, difficiles à gérer dans des environnements multi-clouds.

Pour résoudre ce problème, les auteurs ont proposé une spécification pour les métadonnées de compatibilité d'image. Cette spécification permet aux créateurs de conteneurs de définir exactement quelles fonctionnalités de l'hôte leur application nécessite. La proposition a été mise en œuvre au sein du projet Kubernetes Node Feature Discovery (NFD). NFD est un outil open source qui détecte et signale automatiquement les fonctionnalités matérielles et logicielles des nœuds du cluster. En intégrant les métadonnées de compatibilité avec NFD, les utilisateurs peuvent désormais planifier des charges de travail uniquement sur des nœuds qui répondent aux exigences système strictes définies par l'image de conteneur.

L'implémentation prend en charge diverses technologies de conteneurs au-delà de Kubernetes seul, y compris Singularity et d'autres artefacts OCI. Elle vise à rendre les exigences de compatibilité découvrables et programmables. Cela signifie qu'au lieu de deviner si un nœud peut exécuter une charge de travail spécifique, le système peut valider automatiquement la compatibilité avant le début du déploiement. Cela réduit le risque de pannes à l'exécution causées par des pilotes manquants ou des modules de noyau incompatibles.

Comment cela fonctionne

Le mécanisme central repose sur l'attachement d'un artefact de compatibilité structuré à une image de conteneur dans le registre. Cet artefact utilise l'API OCI referrers pour lier les métadonnées à l'image spécifique qu'il décrit. Les métadonnées elles-mêmes sont un fichier YAML qui répertorie les « Node Feature Groups » requis. Ces groupes définissent des règles basées sur des fonctionnalités que NFD peut détecter, telles que les modules de noyau chargés, les modèles de CPU ou les périphériques PCI.

Figure de l’article original: Kubernetes adds image compatibility metadata via Node Feature Discovery
Figure de l’article original · Kubernetes Blog · CC BY 4.0

Lorsqu'un utilisateur souhaite déployer une image, un outil client récupère l'artefact de compatibilité depuis le registre. Il compare ensuite les exigences répertoriées dans l'artefact avec les fonctionnalités réellement signalées par le nœud cible. Si le nœud correspond à toutes les règles spécifiées, la validation réussit. Ce processus peut avoir lieu à l'intérieur ou à l'extérieur d'un cluster Kubernetes, offrant ainsi une flexibilité pour les scénarios cloud hybrides. Le système utilise des expressions de correspondance pour vérifier l'existence de fonctionnalités spécifiques ou pour valider que les valeurs se situent dans une plage autorisée.

Détails clés

  • La spécification a été publiée le 25 juin 2025 par Chaoyi Huang, Marcin Franczyk et Vanessa Sochat.
  • Elle s'intègre à Kubernetes Node Feature Discovery (NFD) pour faire correspondre les exigences des conteneurs avec les capacités des nœuds.
  • Les métadonnées de compatibilité sont stockées sous forme d'artefact OCI et attachées aux images à l'aide de l'outil oras.
  • Le schéma comprend des champs pour la version, les compatibilités, les règles, le poids, le tag et la description.
  • La validation peut être effectuée à l'aide de la commande nfd compat validate-node avant la planification.
  • L'approche prend en charge divers environnements, y compris RHCOS, Photon OS, Amazon Linux 2 et Azure Linux OS.

Pourquoi c'est important

Pour les ingénieurs développant des produits dans des industries réglementées ou sensibles aux performances, ce changement réduit les frictions opérationnelles. Auparavant, garantir qu'un conteneur puisse s'exécuter sur un nœud spécifique nécessitait une connaissance approfondie de l'infrastructure sous-jacente ou des tests exhaustifs. Avec des métadonnées de compatibilité explicites, le pipeline de déploiement peut rejeter automatiquement les nœuds inadaptés. Cela prévient les erreurs coûteuses à l'exécution et garantit que les applications ayant des dépendances matérielles strictes, telles que celles utilisant des GPU ou Infiniband, s'exécutent sur une infrastructure appropriée.

Ce développement simplifie également les stratégies multi-cloud et cloud hybride. Différents fournisseurs cloud utilisent différents systèmes d'exploitation de base, chacun avec des configurations de noyau et des jeux de pilotes uniques. En définissant les exigences de manière normalisée, les équipes peuvent écrire une fois et déployer partout, à condition que les nœuds cibles exposent les fonctionnalités nécessaires via NFD. Cette portabilité est cruciale pour les organisations qui doivent éviter l'enfermement fournisseur tout en maintenant une fiabilité élevée.

Conclusion

En résumé, cette intégration entre les métadonnées d'image et Node Feature Discovery marque une étape significative vers une orchestration plus intelligente et moins sujette aux erreurs. Elle offre aux développeurs et aux opérateurs un contrôle plus fin sur l'adéquation entre les charges de travail et l'infrastructure, réduisant ainsi la complexité inhérente aux déploiements dans des environnements hétérogènes.

Outils de la Boutique Bytechap

Continuer la lecture

Tous les articles