ConfigsApr 15, 2026·3 min read

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.

TL;DR
OpenEBS provides dynamic persistent volumes for Kubernetes with multiple storage engines chosen per workload requirements.
§01

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.

§02

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.

§03

How to use

  1. Install OpenEBS via Helm chart or kubectl apply on your Kubernetes cluster.
  2. Create a StorageClass selecting the desired engine (e.g., openebs-hostpath for Local PV or openebs-cstor for replicated storage).
  3. Deploy your application with a PersistentVolumeClaim referencing the StorageClass.
§04

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
§05

Related on TokRepo

§06

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: WaitForFirstConsumer on 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

What storage engines does OpenEBS support?+

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.

Is OpenEBS production-ready?+

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.

How does OpenEBS compare to Longhorn?+

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.

Can OpenEBS run on managed Kubernetes services?+

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.

Does OpenEBS support snapshots and clones?+

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)

Discussion

Sign in to join the discussion.
No comments yet. Be the first to share your thoughts.

Related Assets