OpenEBS — Leading Open Source Container-Attached Storage
OpenEBS is a CNCF storage project that provides dynamic persistent volumes for Kubernetes using multiple storage engines — Local PV, Replicated Mayastor, cStor, and Jiva — chosen per workload.
What it is
OpenEBS is a CNCF sandbox storage project that delivers container-attached storage (CAS) for Kubernetes. Instead of a monolithic storage appliance, OpenEBS runs storage controllers as microservices alongside your application pods. It supports multiple storage engines -- Local PV for high-performance local disks, Replicated Mayastor for NVMe-optimized replication, cStor for legacy flexibility, and Jiva for simple iSCSI-based replication.
It is designed for platform engineers, DevOps teams, and Kubernetes operators who need persistent storage without vendor lock-in.
How it saves time or tokens
OpenEBS eliminates the need to provision and manage external storage arrays. Storage is declaratively configured via Kubernetes StorageClasses, so developers request volumes the same way they request any other Kubernetes resource. The per-workload engine selection means you do not over-provision: low-latency workloads get Local PV, while stateful apps needing replication get Mayastor or cStor.
How to use
- Install OpenEBS via Helm chart or kubectl apply on your Kubernetes cluster.
- Create a StorageClass selecting the desired engine (e.g.,
openebs-hostpathfor Local PV oropenebs-cstorfor replicated storage). - Deploy your application with a PersistentVolumeClaim referencing the StorageClass.
Example
# StorageClass for OpenEBS Local PV hostpath
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: openebs-hostpath
provisioner: openebs.io/local
reclaimPolicy: Delete
volumeBindingMode: WaitForFirstConsumer
---
# PVC using OpenEBS
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: my-app-data
spec:
accessModes: [ReadWriteOnce]
storageClassName: openebs-hostpath
resources:
requests:
storage: 10Gi
Related on TokRepo
- DevOps AI tools -- More infrastructure and DevOps tooling curated on TokRepo.
- Self-hosted solutions -- Browse self-hosted alternatives for cloud-native stacks.
Common pitfalls
- Choosing Mayastor without NVMe-capable disks results in poor performance. Verify your nodes have NVMe SSDs before selecting this engine.
- Local PV volumes are node-bound. If the node goes down, the data is inaccessible until the node recovers.
- Running multiple OpenEBS engines simultaneously increases control-plane resource usage. Pick one engine per cluster unless you have distinct workload tiers.
- Forgetting to set
volumeBindingMode: WaitForFirstConsumeron Local PV StorageClasses causes scheduling conflicts. - cStor pool configuration requires dedicated block devices; sharing a device with the OS root filesystem will cause data loss.
Frequently Asked Questions
OpenEBS supports four engines: Local PV (hostpath and device) for direct local disk access, Replicated Mayastor for NVMe-optimized replicated storage, cStor for flexible iSCSI-based pools, and Jiva for lightweight iSCSI replication. Each engine targets different performance and durability trade-offs.
OpenEBS is a CNCF sandbox project used in production by organizations needing container-attached storage. Local PV and Mayastor are the most actively maintained engines. cStor and Jiva are in maintenance mode with no new features planned.
Both provide replicated storage for Kubernetes. OpenEBS offers more engine choices (Local PV, Mayastor, cStor, Jiva) while Longhorn focuses on a single replicated block storage engine. Mayastor targets higher IOPS with NVMe, while Longhorn prioritizes simplicity.
Yes. OpenEBS works on EKS, GKE, AKS, and other managed Kubernetes platforms. Local PV requires node-local disks (not network-attached EBS/PD), so you may need instance types with local NVMe or SSD storage.
cStor and Mayastor support volume snapshots and clones via the CSI snapshot interface. Local PV does not support snapshots natively. You need the CSI snapshot controller and CRDs installed in the cluster.
Citations (3)
- OpenEBS GitHub— OpenEBS provides container-attached storage with multiple engines
- CNCF Landscape— OpenEBS is a CNCF sandbox project
- OpenEBS Mayastor Docs— Mayastor NVMe-optimized storage engine
Related on TokRepo
Discussion
Related Assets
Conda — Cross-Platform Package and Environment Manager
Install, update, and manage packages and isolated environments for Python, R, C/C++, and hundreds of other languages from a single tool.
Sphinx — Python Documentation Generator
Generate professional documentation from reStructuredText and Markdown with cross-references, API autodoc, and multiple output formats.
Neutralinojs — Lightweight Cross-Platform Desktop Apps
Build desktop applications with HTML, CSS, and JavaScript using a tiny native runtime instead of bundling Chromium.