openebs is a free, open source cloud infrastructure management project written in several languages and released under Apache-2.0. It has 9,812 GitHub stars, 983 forks and 37 open issues, and was last pushed 5 hours ago. On this registry it ranks #21 of 70 tracked projects in Cloud Infrastructure Management, with 5 head-to-head comparisons available.

What is openebs?

OpenEBS is an open-source, CNCF Sandbox container-native storage platform that gives Kubernetes stateful applications persistent volumes through containerized storage controllers, and it is aimed at platform, infrastructure, and DevOps teams that run stateful workloads on Kubernetes.

What it is

OpenEBS is an Apache-2.0 licensed Container Native Storage solution that provides persistent storage for Kubernetes workloads. It provisions storage dynamically using containerized storage controllers, which makes volume provisioning follow the same declarative, cloud-native model as the rest of a Kubernetes cluster. The project sits in the Kubernetes storage ecosystem alongside CSI drivers and the k8s-sig-storage effort, and it is developed as an umbrella of sub-projects rather than a single binary. Those sub-projects are Local PV Hostpath, Local PV ZFS, Local PV LVM, Local PV Rawfile (marked experimental), and Mayastor, each living in its own repository.

The concrete problem it solves is persistent volume provisioning for stateful applications inside the cluster. OpenEBS splits that work into two approaches. Local Storage attaches volumes directly to node storage, which suits applications that already handle their own replication and availability, such as distributed databases like MongoDB and Cassandra, and delivers near-disk performance with minimal overhead. Replicated Storage synchronously replicates data across multiple nodes, which suits workloads that need storage-level replication and high availability, such as Percona or standalone databases and GitLab, and it uses NVMe-oF semantics for low-latency network access. By keeping the storage controllers in containers, OpenEBS reduces dependence on external block-storage services, the kind of cloud volumes the registry topics tag as ebs and ebs-volumes.

Key capabilities

  • Two storage approaches in one platform: Local Storage backed by LocalPVs and Replicated Storage backed by Mayastor.
  • Four local engines with distinct backends: Local PV Hostpath (dynamic-localpv-provisioner), Local PV ZFS (zfs-localpv), Local PV LVM (lvm-localpv), and Local PV Rawfile (rawfile-localpv), the last flagged experimental.
  • Dynamic provisioning of storage resources through containerized storage controllers.
  • CSI-based integration with Kubernetes, published in the registry under the csi topic.
  • Storage policies, volume resize, thin-provisioning, snapshots, and restore.
  • Snapshot and cloning support on local volumes when backed by advanced filesystems such as LVM or ZFS.
  • Backup and restore through Velero, using Restic for local volumes and Velero for replicated volumes.
  • Replicated data availability through synchronous replication across multiple nodes, with NVMe-oF semantics for low-latency access.

Who uses it and how

  • Teams running distributed databases such as MongoDB and Cassandra that manage their own replication and availability choose Local Storage.
  • Teams running Percona, standalone databases, or GitLab that want storage-level replication and high availability choose Replicated Storage.
  • Environments optimized for raw throughput use Local Storage, which provides near-disk performance with minimal overhead.
  • Clusters with sufficient CPU, RAM, and NVMe resources use the replicated path to gain durability and network-based storage access.
  • Contributors and operators coordinate through the #openebs channel on Kubernetes Slack and through community meetings.

Getting started

OpenEBS ships as a Helm chart published to Artifact Hub as openebs/openebs, with chart releases produced by the repository's chart-release.yml workflow. Installation and upgrade therefore follow the standard Helm flow against a Kubernetes cluster, and the project documentation at openebs.io covers sub-project usage and architecture.

How it compares

The facts provided do not name any paid products that OpenEBS replaces, and they do not name competing tools in this category. OpenEBS stands alone in this registry on the evidence available. Any direct comparison would have to come from outside these facts.

When to use it — and when not to

Choose OpenEBS when the cluster can supply the resources each path needs, and accept the trade-off that Local Storage is not highly available: data becomes unavailable when the node holding the volume fails, so it only fits applications that handle their own replication. Replicated Storage removes that limitation but requires sufficient CPU, RAM, and NVMe to perform well, and Local PV Rawfile is explicitly experimental and not a production commitment. Teams that need storage-level high availability on constrained nodes, or that cannot tolerate an experimental sub-project in their stack, should look elsewhere; the project also carries CNCF Sandbox status rather than a graduated one.

project readme (upstream, from github) — read inline

OpenEBS - Cloud Native Storage

CNCF Status LICENSE FOSSA Status OpenSSF Best Practices CLOMonitor Slack Community Meetings Artifact HUB Release Charts

Overview

OpenEBS is an open-source Container Native Storage solution that provides persistent storage for Kubernetes workloads. It enables dynamic provisioning of storage resources using containerized storage controllers, making it highly flexible and cloud-native. OpenEBS supports various storage engines, including LocalPVs for direct node storage and Replicated PV advanced data replication and resilience. It is designed to integrate seamlessly with Kubernetes, offering benefits like storage policies, resize, thin-provisioning, snapshots, and restore capabilities, making it an ideal choice for stateful applications.

OpenEBS offers two primary storage approaches for Kubernetes workloads: Local Storage and Replicated Storage. Below is a comparative overview:

Feature Local Storage Replicated Storage
Data Availability Limited to the node where the volume is provisioned; not suitable for high-availability requirements. Synchronously replicates data across multiple nodes, ensuring high availability and durability.
Use Cases Ideal for applications managing their own replication and availability, such as distributed databases like MongoDB and Cassandra. Suitable for stateful workloads requiring storage-level replication and high availability, like Percona/ Standalone DBs, and GitLab.
Performance Provides near-disk performance with minimal overhead. Designed for high performance, leveraging NVMe-oF semantics for low-latency access.
Limitations Not highly available; node failure leads to data unavailability. Requires sufficient resources (CPU, RAM, NVMe) for optimal performance.
Snapshot and Cloning Supported when backed by advanced filesystems like LVM or ZFS. Supported, providing enterprise storage capabilities.
Backup and Restore Supported via Velero, using Restic for local volumes. Supported via Velero, ensuring data protection and recovery.

In summary, Local Storage is a good choice when your application can manage its own replication and high availability, and Replicated Storage when you require storage-level replication, enhanced data durability and network-based storage access.

Below are the sub-projects or the major storage solutions under the OpenEBS Umbrella. Visit the individual repositories to learn more about their usage and architecture.

Sub-Project Local PV Hostpath Local PV ZFS Local PV LVM Local PV Rawfile (Experimental) Mayastor
Type Single-node Single-node Single-node Single-node Multi-node
What is it for? Replacement for in-Tree Kubernetes CSI Hostpath Storage engine for ZFS managed backend storage Storage engine for LVM2 managed backend storage Experimental engine for using an extent file as block storage General purpose replicated enterprise storage
Designed for Developers or DevOps ZFS users and production deployments LVM2 users and production deployments Developers Enterprises and production deployments
Features Everything in Kubernetes Hostpath, plus: - Dynamic provisioning, Zero configuration, No CSI driver Provision ZFS datasets, Provision ZFS volumes, Dynamic provisioning, ZFS resilience, ZFS RAID protection, CSI driver Provision LVM2 volumes, Dynamic provisioning, LVM2 RAID protection, CSI driver Provision file system from local files as persistent volumes, CSI driver Replicated storage NVMe / RDMA, Snapshots, Clones, High availability, CSI driver
Status Stable, deployable in PROD Stable, deployable in PROD Stable, deployable in PROD Beta, undergoing evaluation & integration Stable, deployable in PROD
Current Version Releases Releases Releases Releases Releases

Why OpenEBS?

OpenEBS offers several compelling advantages for managing storage in Kubernetes environments:

  • Cloud-Native Architecture: Designed as a cloud-native solution, OpenEBS integrates seamlessly with Kubernetes, most of the storage engines are CSI compliant.
  • Solutions for wide range of workloads: Solutions for both workloads which need or may not need replication.
  • Avoidance of Cloud Lock-In: By abstracting storage management, OpenEBS facilitates the movement of data across various Kubernetes environments, whether on-premises or in the cloud, thereby reducing dependency on a single cloud provider.
  • Cost Efficiency: With features like thin provisioning OpenEBS enables dynamic allocation of storage resources, potentially reducing storage by preventing overprovisioning and allowing for on-the-fly storage expansion.
  • High Availability with Lower Blast Radius: OpenEBS enhances application resilience by synchronously replicating data across multiple nodes, ensuring high availability. In the event of a node failure, only the data on that specific node is affected, minimizing the impact on the overall system.

These features make OpenEBS a robust and flexible solution for managing persistent storage in Kubernetes environments.

Documents

Community

readme truncated — read the full docs on github

Frequently asked questions

Is openebs free to use?

openebs is open source under the Apache-2.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does openebs do?

A popular & widely deployed Open Source Container Native Storage platform for Stateful Persistent Applications on Kubernetes.

What is openebs written in?

openebs's source is publicly available at https://github.com/openebs/openebs, with 9,812 GitHub stars.