Container Persistent Storage
While Kubernetes is beneficial in scalability, portability, and management, it does not support storing state. Almost all production applications, such as databases, are stateful and require persistent storage.
Ambedded UniVirStor (unified virtual storage) supports developers to use Ceph RBD and CephFS as the persistent storage through Ceph CSI plugins. Ceph CSI plugins implement an interface between CSI enabled Container Orchestrator (CO) and Ceph cluster for supporting CSI functionalities. It allows dynamically provisioning Ceph volumes and attaching them to workloads.
The Container Storage Interface (CSI) is a standard for exposing arbitrary block and file storage systems to containerized workloads on Container Orchestration Systems (COs) like Kubernetes, Mesos, Docker, and Cloud Foundry.
CSI addresses all of the issues of volume plugins and Flex-Volumes by enabling storage plugins to be developed out-of-tree, containerized, deployed, and consumed via standard Persistent Volume Claims, Persistent Volumes, and Storage Classes users love.
Container persistent storage needs to be highly available, survive reboots, and transient issues. Ceph is resilient and has well-defined interfaces for storing and retrieving data.
While there are many potential storage solutions capable of handling the storage needs of Kubernetes, Ceph stands out as being the most flexible and comprehensive. Its scalability, flexibility of allowing block, file, and object at the same time, makes Ceph the obvious choice for handling the highly variable needs of Kubernetes.
- Related Technology