OpenEBS is a Container Attached Storage (CAS) project for Kubernetes that turns the block devices on cluster nodes into persistent volumes managed entirely through the Kubernetes API. The defining architectural idea is that each volume gets its own dedicated storage controller pod, rather than sharing a monolithic cluster-wide storage service, so storage scales and fails in the same units as the workloads that consume it.
OpenEBS is really a family of CSI drivers sharing a control plane. Local PV Hostpath and Local PV LVM/ZFS expose node-local disks with no replication for high-throughput workloads that handle their own redundancy (Cassandra, Kafka, etcd). cStor provides synchronous replicated block volumes using the ZFS-on-Linux userspace port, suited to general-purpose stateful apps. Mayastor is the NVMe-first engine written in Rust and built on SPDK and NVMe-oF, targeting latency-sensitive databases on modern NVMe hardware. Jiva, the original iSCSI-based engine, is kept for legacy deployments.
It is Apache-2.0 and joined the CNCF sandbox in 2024 after many years as an independent project led by MayaData/DataCore. In the Kubernetes storage landscape it overlaps with Longhorn (Rancher), Rook-Ceph, Portworx, Piraeus/LINSTOR, and the various cloud provider CSI drivers. OpenEBS’s distinguishing trait is the multi-engine approach: pick the data plane per workload instead of committing the whole cluster to one backend.