Cloud & Infrastruktur

Kubernetes ergänzt Metadaten zur Bildkompatibilität über Node Feature Discovery

Eine neue Spezifikation ermöglicht es Container-Images, Anforderungen an das Host-Betriebssystem und die Hardware zu deklarieren. Dies erlaubt eine automatisierte Validierung vor der Planung in Kubernetes-Clustern.

Ein digitales Container-Image mit einer Kompatibilitätscheckliste, die über Server-Hardware schwebt.
Bild: Kubernetes Blog, lizenziert unter CC BY 4.0

Automatisch aus dem englischen Original übersetzt.

In einem Beitrag auf dem Kubernetes Blog im Juni 2025 beschrieben Ingenieure von Huawei und dem Lawrence Livermore National Laboratory eine neue Methode zur Handhabung der Container-Kompatibilität. Der Vorschlag befasst sich damit, wie spezialisierte Anwendungen spezifische Anforderungen an das Host-Betriebssystem oder die Hardware direkt innerhalb ihrer Image-Metadaten deklarieren können. Dieser Ansatz nutzt das bestehende Projekt Node Feature Discovery, um die Lücke zwischen den Anforderungen der Container und den Fähigkeiten der Cluster-Knoten zu schließen.

Was passiert ist

Containerisierte Anwendungen in Bereichen wie Telekommunikation, Hochleistungsrechnen (HPC) und KI sind oft von präzisen Host-Konfigurationen abhängig. Diese Abhängigkeiten können bestimmte Kernel-Versionen, Gerätetreiber oder Systembibliotheken umfassen, die nicht Teil des Standard-Container-Images sind. Während die Open Container Initiative Standards für Image-Formate bereitstellt, fehlte ihr bisher eine einheitliche Möglichkeit, diese Kompatibilitätsanforderungen auf Host-Ebene auszudrücken. Diese Lücke zwang Teams dazu, sich auf manuelle Vorabkonfigurationen oder unveränderliche Infrastruktursetups zu verlassen, die in Multi-Cloud-Umgebungen schwer zu verwalten sind.

Um dieses Problem zu lösen, schlugen die Autoren eine Spezifikation für Metadaten zur Bildkompatibilität vor. Diese Spezifikation ermöglicht es Autoren von Containern genau zu definieren, welche Host-Funktionen ihre Anwendung benötigt. Der Vorschlag wurde im Rahmen des Kubernetes-Projekts Node Feature Discovery (NFD) umgesetzt. NFD ist ein Open-Source-Tool, das Hardware- und Software-Funktionen von Cluster-Knoten automatisch erkennt und meldet. Durch die Integration der Kompatibilitätsmetadaten mit NFD können Benutzer Workloads nun nur noch auf Knoten planen, die die strengen Systemanforderungen erfüllen, die durch das Container-Image definiert werden.

Die Implementierung unterstützt verschiedene Containertechnologien über Kubernetes hinaus, einschließlich Singularity und anderer OCI-Artefakte. Ziel ist es, Kompatibilitätsanforderungen auffindbar und programmierbar zu machen. Das bedeutet, dass das System die Eignung automatisch validieren kann, bevor die Bereitstellung beginnt, anstatt zu raten, ob ein Knoten einen bestimmten Workload ausführen kann. Dies reduziert das Risiko von Laufzeitfehlern, die durch fehlende Treiber oder inkompatible Kernel-Module verursacht werden.

Wie es funktioniert

Der Kernmechanismus beruht darauf, ein strukturiertes Kompatibilitätsartefakt einem Container-Image in der Registry anzuhängen. Dieses Artefakt nutzt die OCI-Referrers-API, um die Metadaten mit dem spezifischen Bild zu verknüpfen, das sie beschreiben. Die Metadaten selbst sind eine YAML-Datei, die erforderliche „Node Feature Groups“ auflistet. Diese Gruppen definieren Regeln basierend auf Funktionen, die NFD erkennen kann, wie z. B. geladene Kernel-Module, CPU-Modelle oder PCI-Geräte.

Abbildung aus dem Originalartikel: Kubernetes adds image compatibility metadata via Node Feature Discovery
Abbildung aus dem Originalartikel · Kubernetes Blog · CC BY 4.0

Wenn ein Benutzer ein Image bereitstellen möchte, ruft ein Client-Tool das Kompatibilitätsartefakt aus der Registry ab. Anschließend vergleicht es die in dem Artefakt aufgeführten Anforderungen mit den tatsächlichen Funktionen, die vom Zielknoten gemeldet werden. Wenn der Knoten alle angegebenen Regeln erfüllt, besteht die Validierung. Dieser Prozess kann innerhalb oder außerhalb eines Kubernetes-Clusters stattfinden, was Flexibilität für Hybrid-Cloud-Szenarien bietet. Das System verwendet Match-Expressions, um die Existenz bestimmter Funktionen zu prüfen oder zu verifizieren, dass Werte innerhalb eines zulässigen Bereichs liegen.

Wichtige Details

  • Die Spezifikation wurde am 25. Juni 2025 von Chaoyi Huang, Marcin Franczyk und Vanessa Sochat veröffentlicht.
  • Sie integriert sich in Kubernetes Node Feature Discovery (NFD), um Container-Anforderungen mit den Fähigkeiten der Knoten abzugleichen.
  • Kompatibilitätsmetadaten werden als OCI-Artefakt gespeichert und unter Verwendung des Tools oras an Images angehängt.
  • Das Schema umfasst Felder für Version, Kompatibilitäten, Regeln, Gewicht, Tag und Beschreibung.
  • Die Validierung kann vor der Planung mit dem Befehl nfd compat validate-node durchgeführt werden.
  • Der Ansatz unterstützt diverse Umgebungen, darunter RHCOS, Photon OS, Amazon Linux 2 und Azure Linux OS.

Warum das wichtig ist

Für Ingenieure, die Produkte in regulierten oder leistungsintensiven Branchen entwickeln, reduziert diese Änderung die betriebliche Reibung. Zuvor erforderte die Sicherstellung, dass ein Container auf einem bestimmten Knoten laufen konnte, tiefgreifendes Wissen über die zugrunde liegende Infrastruktur oder extensive Tests. Mit expliziten Kompatibilitätsmetadaten kann die Bereitstellungspipeline ungeeignete Knoten automatisch ablehnen. Dies verhindert kostspielige Laufzeitfehler und stellt sicher, dass Anwendungen mit strengen Hardware-Abhängigkeiten, wie solche, die GPUs oder Infiniband nutzen, auf geeigneter Infrastruktur ausgeführt werden.

Diese Entwicklung vereinfacht auch Multi-Cloud- und Hybrid-Cloud-Strategien. Verschiedene Cloud-Anbieter verwenden unterschiedliche Basis-Betriebssysteme, jedes mit einzigartigen Kernel-Konfigurationen und Treiber-Sets. Indem Anforderungen standardisiert definiert werden, können Teams Code einmal schreiben und überall bereitstellen, vorausgesetzt, die Zielknoten stellen die erforderlichen Funktionen über NFD bereit. Diese Portabilität ist entscheidend für Organisationen, die Vendor-Lock-in vermeiden müssen, während sie gleichzeitig hohe Zuverlässigkeit gewährleisten.

Darüber hinaus legt dies den Grundstein für intelligenteres Scheduling in der Zukunft. Wenn das Ökosystem diese Standards annimmt, könnten Scheduler Knoten automatisch konfigurieren oder optimale Hardware basierend auf dem deklarierten Kompatibilitätsprofil auswählen. Dies bringt die Branche näher an vollständig automatisierte, selbstheilende Infrastrukturen heran, bei denen die Platzierung von Workloads durch präzise technische Einschränkungen gesteuert wird, anstatt durch breite Labels.

Was Sie tun können

  • Erkunden Sie die Dokumentation zum Node Feature Discovery-Projekt, um zu verstehen, wie es Hardware- und Software-Funktionen erkennt.
  • Verwenden Sie das Tool oras, um Kompatibilitätsartefakte Ihren Container-Images in OCI-konformen Registries hinzuzufügen.
  • Definieren Sie Kompatibilitätsregeln im YAML-Format und geben Sie dabei erforderliche Kernel-Module, CPU-Anbieter oder PCI-Geräte an.
  • Testen Sie das Client-Tool nfd compat validate-node, um zu prüfen, ob Ihre aktuellen Knoten die Anforderungen Ihrer Images erfüllen.
  • Treten Sie der Kubernetes Node Feature Discovery Community bei, um zur laufenden Entwicklung der Image Compatibility API beizutragen.
  • Überprüfen Sie Ihre bestehenden containerisierten Anwendungen, um versteckte Abhängigkeiten vom Host-Betriebssystem zu identifizieren, die von dieser Spezifikation profitieren könnten.

Tools aus dem Bytechap-Shop

Weiterlesen

Alle Artikel