Spezifikation zur Vereinheitlichung Was ist das Container Storage Interface (CSI)?
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.
Anbieter zum Thema

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)