OpenEBS Dynamic Local PV provisioner can be used to dynamically provision
Kubernetes Local Volumes using different kinds of storage available on the Kubernetes nodes.
Local Persistent Volumes are great for distributed cloud native data services that can handle resiliency and availability and expect low-latency access to the storage. Local Persistent Volumes can be provisioned using the hostpath, NVMe or PCIe based SSDs, Hard Disks or on top of other filesystems like ZFS, LVM.
Some of the targetted applications are:
- Distributed SQL Databases like PostgreSQL
- Distributed No-SQL Databases like MongoDB, Cassandra
- Distributed Object Storages like MinIO (distributed mode)
- Distributed Streaming services like Apache Kakfa,
- Distributed Logging and search services like ElasticSearch, Solr
- AI/ML workloads
Kubernetes Local persistent volumes allows users to access local storage through the standard PVC interface in a simple and portable way. The PV contains node affinity information that the system uses to schedule pods to the correct nodes.
OpenEBS Dynamic Local PVs extends the capabilities provided by the Kubernetes Local PV by making use of the OpenEBS Node Storage Disk Manager (NDM), the significant differences include:
- Users need not pre-format and mount the devices in the node.
- Supports Dynamic Local PVs - where the devices can be used by CAS solutions and also by applications. CAS solutions typically directly access a device. OpenEBS Local PV ease the management of storage devices to be used between CAS solutions (direct access) and applications (via PV), by making use of BlockDeviceClaims supported by OpenEBS NDM.
- Supports using hostpath as well for provisioning a Local PV. In fact in some cases, the Kubernetes nodes may have limited number of storage devices attached to the node and hostpath based Local PVs offer efficient management of the storage available on the node.
Kubernetes <= 1.15 | Kubernetes 1.16 | Kubernetes 1.17 | Kubernetes 1.18 | Kubernetes 1.19 | Kubernetes 1.20 | Kubernetes 1.21 | Kubernetes 1.22 | Kubernetes 1.23 | Kubernetes 1.24 | Kubernetes 1.25 | Kubernetes 1.26 | Kubernetes 1.27 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
v3.3.x |
✕ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
v3.4.x |
✕ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
v3.5.x |
✕ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
HEAD |
✕ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Please refer to our Quickstart and the OpenEBS Documentation.
Head over to the CONTRIBUTING.md page.
Find the Dynamic Local PV roadmap items at the OpenEBS Roadmap page.
Check out the list of organizations and users who have chosen OpenEBS to run their stateful workloads, over at the OpenEBS Adopters page.
Learn how to engage with the OpenEBS community on the community page.
You can reach the maintainers of this project at:
- Kubernetes Slack channels: * #openebs * #openebs-dev
- Mailing List
Participation in the OpenEBS community is governed by the CNCF Code of Conduct.
OpenEBS Local PV has been inspired by the prior work done by the following the Kubernetes projects: