Suchen

Spezifikation zur Vereinheitlichung Was ist das Container Storage Interface (CSI)?

| Autor / Redakteur: Dipl.-Ing. (FH) Stefan Luber / Dr. Jürgen Ehneß

Das Container Storage Interface ist eine Spezifikation für Container-Orchestrierungslösungen wie Kubernetes zur Vereinfachung und Vereinheitlichung der Anbindung externer Storage-Anbieter. Eine CSI-Implementierung eines Storage-Anbieters stellt die Kompatibilität mit allen die CSI-Spezifikation unterstützenden Container-Orchestrierungslösungen sicher.

Firma zum Thema

Die wichtigsten IT-Fachbegriffe verständlich erklärt.
Die wichtigsten IT-Fachbegriffe verständlich erklärt.
(Bild: © aga7ta - Fotolia)

Die Abkürzung CSI steht für „Container Storage Interface“. Es handelt sich um eine Spezifikation, mit der das Storage Interface für die verschiedenen Container-Orchestrierungssysteme wie Kubernetes, Docker Swarm, Mesos oder Cloud Foundry vereinfacht und vereinheitlicht werden soll. Implementiert ein Storage-Anbieter das Interface, ist die Kompatibilität mit allen die CSI-Spezifikation unterstützenden Container-Orchestrierungssystemen sichergestellt. Das Interface eignet sich für Block- und File-Storage und macht Anpassungen im Core-System der Orchestrierungslösungen überflüssig.

Die Motivation für CSI

Vor der Spezifizierung des Container Storage Interfaces waren die Plug-ins für die verschiedenen Storage-Volumes Bestandteil der jeweiligen Orchestrierungslösung. Daraus ergaben sich unter anderem folgende Nachteile:

  • großer Aufwand für die Implementierung eines neuen Volume-Plug-ins,
  • Speicheranbieter waren von der Implementierung im Core der jeweiligen Orchestrierungslösung und von deren Release-Politik abhängig,
  • die Volume-Plug-ins mussten von den Entwicklern der Orchestrierungslösung getestet werden,
  • Fehler hatten unter Umständen Auswirkungen auf weitere Komponenten der Lösung.

Dank des Container Storage Interfaces sind externe Storage-Anbieter nun in der Lage, Speicher-Plug-ins zu entwickeln und bereitzustellen, ohne vom Core-Code der Orchestrierungslösung abhängig zu sein. Für die Orchestrierungslösung ergibt sich eine höhere Flexibilität in der Nutzung externer Storages. Zudem reduziert sich für die Storage-Anbieter der Aufwand. Die Systeme sind zuverlässiger und sicherer.

Architektur und Funktionen des Container Storage Interfaces

Im Fokus der Spezifikation steht die Kommunikation zwischen der Orchestrierungslösung und dem Plug-in. Ein wichtiger Bestandteil der Spezifikation des Container Storage Interfaces ist daher die Deklaration der Remote Procedure Calls (RPCs), die ein Plug-in unterstützen muss. Die RPCs ermöglichen unter anderem folgende Funktionen:

  • dynamische Bereitstellung von Volumes,
  • Verbinden und Trennen von Volumes mit einem Node,
  • Mounten und Unmounten von Volumes,
  • Erstellen und Löschen von Snapshots,
  • Bereitstellen eines neuen Volumes aus einem Snapshot.

Vorteile durch das CSI-Konzept

Das Konzept der Container Storage Interfaces bietet im Umgang mit Container-Orchestrierungslösungen und externen Storages zahlreiche Vorteile. Diese sind beispielsweise:

  • Reduktion des Aufwands zur Implementierung eines neuen Volume-Plug-ins,
  • keine Abhängigkeit mehr von der Codebasis der Orchestrierungslösung und deren Release-Politik,
  • Entwickler der Orchestrierungslösung müssen nur die Implementierung des Container Storage Interfaces testen und nicht die verschiedenen Storage-Plug-ins,
  • Entkopplung des Cores der Orchestrierungslösung von der Ankopplung der Storage-Volumes – höhere Stabilität und Sicherheit des Gesamtsystems,
  • größere Unabhängigkeit der Anbieter von Storage-Lösungen in der Entwicklung ihrer Produkte.

(ID:46234902)

Über den Autor