click2cloud-page-loader

Container Storage Interface

12-Aug, 2019
Container Storage Interface

OpenSDS introduces CSI aims to define an industry standard that enables storage vendors (SP) to develop a plugin once and have it work across several container orchestration (CO) systems. The container orchestration (CO) systems include Kubernetes, Docker Swarm, Cloud Foundry and so on.

Introduction

Container orchestration platform is especially beneficial when running microservices in containers. Kubernetes and Docker Swarm are the top orchestration production.

Why there is a need of CSI?

Pluggable storage interface (PSI) allowing storage vendors to plugin into systems. Popular container orchestration (CO) or middleware have independently evolved storage interfaces. It causes painful to storage providers because they have to build those different types of interface for different CO’s.

Also, it was causing problem for cost providers because they have to understand different types of standards, eventually causes issues to users.

Existing interfaces creating problems like CLI based interface, lack of Idempotency on API’s, too heavyweight and so forth.

To overcome such issues, Container Storage Interface (CSI) has been introduced which provides interoperability which helps storage vendors to create single plugin and that plugin can be used by system’s that supports CSI. CSI also overcome problems like Vendor neutral, focus on specification and so on.

Container Storage Interface (CSI)

Container Storage Interface in a cloud native environment have container orchestration system, storage vendors, storage container orchestration systems. Container Orchestrators (CO’s) include the Kubernetes, Docker Swarm, Cloud Foundry, Mesos.

Figure: Container Storage Interface

Pluggable Storage Interface (PSI) allowing storage vendors to plugin into system. CSI provides container orchestrators with following capabilities.

  • Create or delete volumes.
  • Mounting and Unmounting of a volume from a host node.
  • Format volumes.
  • Create snapshots.
  • Attachment and Detachment of volumes from a host node.
  • Dynamic provisioning and decommissioning of volumes.

CSI lifecycle of a new volume

Figure: Lifecycle of a new volume request

The above diagram illustrates the lifecycle of a new volume request.

The create volume and delete volume calls are used to create and delete a volume on the storage platform. Once a volume is created ControllerPublishVolume/ControllerUnpublishVolume ensure that an existing volume is made physically available to a container host.

NodePublishVolume/NodeUnpublishVolume is used to associate a volume with a specific container. All these happens in dynamically provisioned volume.

In case of Pre-provisioned volumes, the plugin simply maps and publishes volumes to a host.

CSI Architecture

CSI is designed and divided into different architecture diagrams that specifies how the plugins are deployed. The focus of this architecture is between CO and Plugin for a different deployment architecture.

Scenario 1 is an architecture diagram of master/node separate CSI. It shows the plugin runs on all the nodes in the cluster. The controller plugin is available on the master host whereas the node plugin is available on the node host.

Scenario 2 is an architecture diagram of Headless combined CSI. In this, only the CO node host run plugins. The controller plugin and the node plugin split the component plugins separately.

Scenario 3 is an architecture diagram of headless plugin deployment. Here only the CO node host run plugins. The unified plugin component supplies both controller and node service.

Conclusion!

Container Storage Interface, its volume and plugins provide a clear benefit for the CO’s and storage vendors. Due to the interfaces, it not only helps developers but also future CO’s to easily implement and test CSI.

Recent Posts

Get In Touch With

Our Offices


location Plot No. 21, Premier Technology Group, Third Floor, I.T Park Road, Parsodi, Nagpur - 440022(MS)

phone0712-297 0257 / 0712-297 1228 / +91-766 690 5354

emailcontact@click2cloud.net


location Click2Cloud Inc. , Suite #05-143, 800 Bellevue Way NE Bellevue, WA, 98004, USA.

phone425-784-9666

emailcontact@click2cloud.net


location No.401, Unit 8, Building 8, Area 5, HeYiDongLi, Fengtai District, Beijing, China, 100076

phone+86 173 4656 0417

emailcontact@click2cloud.net


location2806 Bloor Street West, Toronto, ON M5S 0B1

phone+1 425 748 9666

emailcontact@click2cloud.net


locationOffice No. 121-122Cowork06, Building Number 67 - Regus Doha Dring Building, Street 250 - DRing Road, Zone 45 - Old Airport,PO Box 32522, Doha, Qatar

phone+974 4423 1210

emailcontact@click2cloud.net


location7 Temasek Boulevard, #12-07, Suntec Tower One, Singapore 038987

emailcontact@click2cloud.net


locationNo 5, 17/f, strand 50 50 bonham strand, Sheung wan, Hong Kong

emailcontact@click2cloud.net