In Branchen, in denen Systeme äußerst zuverlässig laufen müssen und strenge Leistungsanforderungen bestehen, wie beispielsweise in der Telekommunikation, Hochleistungs- oder KI-Computing, benötigen containerisierte Anwendungen oft spezifische Betriebssystemkonfigurationen oder Hardware. Es ist gängige Praxis, bestimmte Versionen des Kernels, dessen Konfiguration, Gerätetreiber oder Systemkomponenten zu verlangen.

Trotz der Existenz der Open Container Initiative (OCI), einer Gemeinschaft, die Standards und Spezifikationen für Container-Images definiert, gab es eine Lücke in der Ausdrucksweise solcher Kompatibilitätsanforderungen. Die Notwendigkeit, dieses Problem anzugehen, führte zu unterschiedlichen Vorschlägen und letztlich zu einer Implementierung im Kubernetes-Projekt Node Feature Discovery (NFD).

NFD ist ein Open-Source-Kubernetes-Projekt, das automatisch Hardware- und Systemmerkmale von Cluster-Knoten erkennt und meldet. Diese Informationen helfen Benutzern, Workloads auf Knoten zu planen, die spezifische Systemanforderungen erfüllen, was besonders nützlich für Anwendungen mit strengen Hardware- oder Betriebssystemabhängigkeiten ist.

Die Notwendigkeit einer Spezifikation zur Image-Kompatibilität

Abhängigkeiten zwischen Containern und Host-OS

Ein Container-Image wird auf einem Basis-Image erstellt, das eine minimale Laufzeitumgebung bietet, oft ein abgespecktes Linux-Userland, das völlig leer oder distroless ist. Wenn eine Anwendung bestimmte Funktionen vom Host-OS benötigt, treten Kompatibilitätsprobleme auf. Diese Abhängigkeiten können sich auf verschiedene Weise manifestieren:

  • Treiber: Host-Treiber-Versionen müssen mit dem unterstützten Bereich einer Bibliotheksversion innerhalb des Containers übereinstimmen, um Kompatibilitätsprobleme zu vermeiden. Beispiele sind GPUs und Netzwerktreiber.
  • Bibliotheken oder Software: Der Container muss mit einer bestimmten Version oder einem Versionsbereich für eine Bibliothek oder Software geliefert werden, um optimal in der Umgebung zu funktionieren. Beispiele aus dem Hochleistungsrechnen sind MPI, EFA oder Infiniband.
  • Kernel-Module oder -Funktionen: Bestimmte Kernel-Funktionen oder -Module müssen vorhanden sein. Beispiele sind die Unterstützung von schreibgeschützten großen Seitenfehlern oder die Anwesenheit von VFIO.
  • Und mehr…

Während Container in Kubernetes die wahrscheinlichste Abstraktionseinheit für diese Bedürfnisse darstellen, kann die Definition von Kompatibilität weitergehen und andere Container-Technologien wie Singularity sowie andere OCI-Artefakte wie Binärdateien aus einem Spack-Binärcache einschließen.

Herausforderungen in Multi-Cloud- und Hybrid-Cloud-Umgebungen

Containerisierte Anwendungen werden über verschiedene Kubernetes-Distributionen und Cloud-Anbieter hinweg bereitgestellt, wobei unterschiedliche Host-Betriebssysteme Kompatibilitätsherausforderungen mit sich bringen. Oft müssen diese vor der Bereitstellung von Workloads vorkonfiguriert oder sind nicht veränderbar.

Verschiedene Cloud-Anbieter bieten unterschiedliche Betriebssysteme wie:

  • RHCOS/RHEL
  • Photon OS
  • Amazon Linux 2
  • Container-Optimized OS
  • Azure Linux OS
  • Und mehr…

Jedes OS kommt mit einzigartigen Kernel-Versionen, Konfigurationen und Treibern, was die Kompatibilität für Anwendungen, die spezifische Funktionen erfordern, zu einer nicht trivialen Angelegenheit macht. Es muss möglich sein, schnell zu beurteilen, ob ein Container geeignet ist, um in einer bestimmten Umgebung zu laufen.

Die neue Spezifikation zur Kompatibilität von Container-Images kann hier entscheidend helfen. Durch die Verbesserung der Transparenz und der Möglichkeiten zur Validierung von Systemanforderungen wird die Zuverlässigkeit von Anwendungen in Cloud-Umgebungen erheblich gesteigert.

Bei ayedo unterstützen wir Unternehmen dabei, diese Herausforderungen zu meistern und Kubernetes effizient zu nutzen, um die Vorteile einer containerisierten Architektur voll auszuschöpfen.


Quelle: Kubernetes Blog

ayedo Alien Kubernetes Hat

Hosten Sie Ihre Apps bei ayedo

Profitieren Sie von skalierbarem App Hosting in Kubernetes, hochverfügbarem Ingress Loadbalancing und erstklassigem Support durch unser Plattform Team. Mit der ayedo Cloud können Sie sich wieder auf das konzentrieren, was Sie am besten können: Software entwickeln.

Jetzt ausprobieren →

Ähnliche Inhalte

Alle Blogs →



ayedo Redaktion · 06.07.2025 · ⏳ 2 Minuten

Herausforderungen und Lösungen: So meistern Sie Geräteausfälle in Kubernetes-Pods

Kubernetes ist der De-facto-Standard für die Container-Orchestrierung, aber wenn es um den Umgang mit spezialisierter Hardware wie GPUs und anderen Beschleunigern geht, wird es kompliziert. In diesem …

Lesen →

Herausforderungen und Lösungen: So meistern Sie Geräteausfälle in Kubernetes-Pods
Katrin Peter · 03.07.2025 · ⏳ 2 Minuten

Produkt-Update bei Loopback:

Lesen →

Produkt-Update bei Loopback:
Katrin Peter · 03.07.2025 · ⏳ 3 Minuten

Kubernetes als Schlüsseltechnologie für die OZG-Umsetzung im Saarland

Lesen →

Kubernetes als Schlüsseltechnologie für die OZG-Umsetzung im Saarland
Katrin Peter · 17.06.2025 · ⏳ 3 Minuten

Kubernetes kann Freiheit - wenn man es richtig macht.

Lesen →

Kubernetes kann Freiheit - wenn man es richtig macht.
Katrin Peter · 13.06.2025 · ⏳ 3 Minuten

Container nativ auf dem Mac: Apple macht ernst

Lesen →

Container nativ auf dem Mac: Apple macht ernst

Interessiert an weiteren Inhalten? Hier gehts zu allen Blogs →


Noch Fragen? Melden Sie sich!

Unsere DevOps-Experten antworten in der Regel innerhalb einer Stunde.

Zu Gen-Z für E-Mail? Einfach mal Discord versuchen. Unter +49 800 000 3706 können Sie unter Angabe Ihrer Kontaktdaten auch einen Rückruf vereinbaren. Bitte beachten Sie, dass es keine Möglichkeit gibt, uns telefonisch direkt zu erreichen. Bitte gar nicht erst versuchen. Sollten Sie dennoch Interesse an synchroner Verfügbarkeit via Telefon haben, empfehlen wir Ihnen unseren Priority Support.