https://github.com/openebs/openebs
A popular & widely deployed Open Source Container Native Storage platform for Stateful Persistent Applications on Kubernetes.
https://github.com/openebs/openebs
block-storage blockstorage cloud-native containerization csi devops docker ebs ebs-volumes filesystems k8s k8s-sig-storage kubernetes openebs persistent-storage persistent-workloads pod spdk storage storage-container
Last synced: 6 days ago
JSON representation
A popular & widely deployed Open Source Container Native Storage platform for Stateful Persistent Applications on Kubernetes.
- Host: GitHub
- URL: https://github.com/openebs/openebs
- Owner: openebs
- License: apache-2.0
- Created: 2016-08-01T09:33:32.000Z (over 8 years ago)
- Default Branch: develop
- Last Pushed: 2025-04-04T20:53:37.000Z (10 days ago)
- Last Synced: 2025-04-05T03:03:22.784Z (9 days ago)
- Topics: block-storage, blockstorage, cloud-native, containerization, csi, devops, docker, ebs, ebs-volumes, filesystems, k8s, k8s-sig-storage, kubernetes, openebs, persistent-storage, persistent-workloads, pod, spdk, storage, storage-container
- Homepage: https://openebs.io
- Size: 22.8 MB
- Stars: 9,240
- Watchers: 155
- Forks: 951
- Open Issues: 42
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Codeowners: .github/CODEOWNERS
- Security: SECURITY.md
- Governance: GOVERNANCE.md
- Roadmap: ROADMAP.md
Awesome Lists containing this project
- awesome - openebs - Leading Open Source Container Attached Storage, built using Cloud Native Architecture, simplifies running Stateful Applications on Kubernetes. (Others)
- awesome-repositories - openebs/openebs - Most popular & widely deployed Open Source Container Native Storage platform for Stateful Persistent Applications on Kubernetes. (Others)
- awesome-k8s-resources - OpenEBS - OpenEBS is the most widely deployed and easy to use open-source storage solution for Kubernetes. (Tools and Libraries / Storage)
- awesome-list-docker - openebs
- awesome-k8s-resources - OpenEBS - 易于使用的Kubernetes开源存储解决方案。 (Uncategorized / Uncategorized)
- awesome-dok - OpenEBS - turns local Kubernetes worker nodes' storage into Persistent Volume Claims. (Storage / Other)
- awesome-dok - OpenEBS - turns local Kubernetes worker nodes' storage into Persistent Volume Claims. (Storage / Other)
- awesome-k8s-resources - OpenEBS - 易于使用的Kubernetes开源存储解决方案。 (Uncategorized / Uncategorized)
- awesome-starred - openebs/openebs - Leading Open Source Container Attached Storage, built using Cloud Native Architecture, simplifies running Stateful Applications on Kubernetes. (docker)
README
## OpenEBS - Cloud Native Storage
[](https://www.cncf.io/projects/openebs/)
[](./LICENSE)
[](https://app.fossa.com/projects/custom%2B162%2Fgithub.com%2Fopenebs%2Fopenebs?ref=badge_shield&issueType=license)
[](https://www.bestpractices.dev/projects/1754)
[](https://clomonitor.io/projects/cncf/openebs)
[](https://kubernetes.slack.com/messages/openebs)
[](https://us05web.zoom.us/j/87535654586?pwd=CigbXigJPn38USc6Vuzt7qSVFoO79X.1)
[](https://artifacthub.io/packages/helm/openebs/openebs)
[](https://github.com/openebs/openebs/actions/workflows/chart-release.yml)## 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](https://github.com/openebs/dynamic-localpv-provisioner) | [Local PV ZFS](https://github.com/openebs/zfs-localpv) | [Local PV LVM](https://github.com/openebs/lvm-localpv) | [Local PV Rawfile (_**Experimental**_)](https://github.com/openebs/rawfile-localpv) | [Mayastor](https://github.com/openebs/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 | []() |  | []() | [release v0.80](https://github.com/openebs/rawfile-localpv/releases/tag/0.8.0) | []() |### 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
- [Official Documentation](https://openebs.io/docs)
- [Governance Documentation](https://github.com/openebs/community/blob/develop/GOVERNANCE.md)
- [Contributing to OpenEBS](https://github.com/openebs/community/blob/develop/CONTRIBUTING.md)
- [OpenEBS Security Guidelines](https://github.com/openebs/community/blob/develop/SECURITY.md)
- [Release Process](./RELEASE.md)
- [Roadmap Tracker](https://github.com/orgs/openebs/projects/78)### Community
- Homepage: [openebs.io](https://openebs.io/)
- Maintainers' email: [email protected]
- Slack:
- [#openebs](https://kubernetes.slack.com/messages/openebs)
- [#openebs-dev](https://kubernetes.slack.com/messages/openebs-dev)
- Twitter: [@openebs](https://twitter.com/intent/follow?screen_name=openebs)
- Community Meeting: OpenEBS holds a monthly [community meeting](https://us05web.zoom.us/j/87535654586?pwd=CigbXigJPn38USc6Vuzt7qSVFoO79X.1) via Zoom on the last Thursday of the month, at 14:00 UTC.
- [Google Calendar](https://calendar.google.com/calendar/event?action=TEMPLATE&tmeid=ZDhqbDB0YjZtNmpvanJjN2Y2bWw3NnY0ajRfMjAyNTAyMjdUMTQwMDAwWiBvcGVuZWJzLnRlYW1AbQ&tmsrc=openebs.team%40gmail.com&scp=ALL)
- [Other Calendars](https://openebs.github.io/community/community_meeting.ics)
- Community Meeting Recordings: [Youtube](https://www.youtube.com/@openebscommunity6021)## Star History
[](https://star-history.com/#openebs/openebs&Date)
## Activity dashboard

## License Compliance
[](https://app.fossa.com/projects/custom%2B162%2Fgithub.com%2Fopenebs%2Fopenebs?ref=badge_large&issueType=license)
## OpenEBS is a [CNCF Sandbox Project](https://www.cncf.io/projects/openebs)
