Mobile-Menu

Storage auf Kubernetes-Clustern Was ist OpenEBS?

Von Dipl.-Ing. (FH) Stefan Luber 2 min Lesedauer

Anbieter zum Thema

OpenEBS ist eine Open-Source-Lösung für Container-Native Storage. Sie wurde für die Containerorchestrierungsplattform Kubernetes entwickelt und stellt zustandsbehafteten Anwendungen auf Kubernetes-Clustern lokalen oder replizierten persistenten Speicher zur Verfügung. Der Speicher ist von der Hardware abstrahiert und containerisiert. Er lässt sich direkt mit den Kubernetes-Tools verwalten und bereitstellen.

OpenEBS wurde für Kubernetes entwickelt und stellt dort Container-nativen Storage bereit.(Bild:  Gemini / KI-generiert)
OpenEBS wurde für Kubernetes entwickelt und stellt dort Container-nativen Storage bereit.
(Bild: Gemini / KI-generiert)

OpenEBS ist der Name einer Open-Source-Lösung zur Bereitstellung von Container-nativem Storage innerhalb der Containerorchestrierungsplattform Kubernetes. Sie ist ein Projekt der Cloud Native Computing Foundation (CNCF) und hat den Sandbox-Reifegrad. Ursprünglich entwickelt wurde OpenEBS von MayaData (heute DataCore Software). MayaData spendete die Softwarelösung an die CNCF.

Mithilfe von OpenEBS lässt sich zustandsbehafteten Anwendungen auf Kubernetes-Clustern lokaler oder replizierter persistenter Storage, der oft auch als Container-Attached Storage (CAS) bezeichnet wird, zur Verfügung stellen. Der Speicher ist von der Hardware abstrahiert und selbst containerisiert. Er wird innerhalb der Orchestrierungslösung mit den Kubernetes-Werkzeugen verwaltet und bereitgestellt. Es handelt sich quasi um Storage für Kubernetes, der selbst Kubernetes versteht und sich nahtlos in Kubernetes integriert. Dadurch wird die Verbindung von zustandsbehafteten Anwendungen und persistentem Storage in Container-Umgebungen unabhängig vom zugrundeliegenden physischen Datenspeicher. OpenEBS steht unter Apache License 2.0. Der Quellcode ist über GitHub frei verfügbar.

Architektur und prinzipielle Funktionsweise

Die Architektur von OpenEBS folgt dem Grundkonzept für Container-Native Storage. Dabei werden die Speicher-Controller und die zugrundeliegenden Speicherziele containerisiert, um sie über einen Orchestrator wie Kubernetes verwalten und automatisieren zu können. Die Storage-Komponenten laufen als Container im Kubernetes-Cluster und werden von Kubernetes gesteuert. Dabei sind die Control-Plane und die Data-Engine voneinander getrennt. Die Control-Plane verwaltet und steuert die Speicherressourcen, die Data-Engine ist für die eigentliche I/O-Arbeit verantwortlich. Über die Control-Plane lassen sich Funktionen wie Snapshots, Clones oder Backup und Restore steuern.

Control-Plane und Data-Engine sind als Microservices implementiert, als Container deployed und werden von Kubernetes orchestriert. Da sie im User-Space implementiert sind, lässt sich OpenEBS auf jeder Kubernetes-Plattform ausführen. Zudem ist jede Art von Speicher der Kubernetes-Worker-Nodes für OpenEBS nutzbar. Für die unterschiedlichen Anforderungen an Leistung und Verfügbarkeit stehen verschiedene Storage-Engines zur Verfügung.

Grundsätzlich kann OpenEBS lokale oder replizierte persistente Volumes bereitstellen. Bei lokalen Volumes erfolgt die Datenhaltung direkt auf dem jeweiligen Knoten. Bei replizierten Volumes werden die Daten synchron auf mehrere Knoten repliziert, wodurch sich der Ausfall einzelner Knoten abfangen lässt. Die Replikation erfolgt über Netzwerkprotokolle wie iSCSI und NVMe oF (NVMe over Fabrics).

Typische Anwendungsfälle für OpenEBS

OpenEBS ist prädestiniert für in Kubernetes betriebene, zustandsbehaftete Anwendungen, die persistenten Speicher benötigen. Typische Anwendungsfälle sind beispielsweise Datenbanken, Logging und Monitoring für Observability-Stacks, CI/CD-Pipelines oder die Entwicklung skalierbarer Websites und Machine-Learning-Pipelines.

(ID:50845566)

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu Data-Storage und -Management

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung. Die Einwilligungserklärung bezieht sich u. a. auf die Zusendung von redaktionellen Newslettern per E-Mail und auf den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern (z. B. LinkedIn, Google, Meta).

Aufklappen für Details zu Ihrer Einwilligung