Skip to content

niladrih/dynamic-localpv-provisioner

 
 

Repository files navigation

Dynamic Kubernetes Local Persistent Volumes

GitHub release (latest by date)
GitHub build (develop) GitHub go.mod Go version (develop) codecov Go Report Card stability-GA License FOSSA Status

OpenEBS Logo

OpenEBS Dynamic Local PV provisioner can be used to dynamically provision Kubernetes Local Volumes using different kinds of storage available on the Kubernetes nodes.

Project Status: GA

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

Overview

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 Compatibity Matrix

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
v3.0.x
v3.1.x
v3.2.x
HEAD

Install

Please refer to our Quickstart and the OpenEBS Documentation.

Contributing

Head over to the CONTRIBUTING.md page.

Roadmap

Find the Dynamic Local PV roadmap items at the OpenEBS Roadmap page.

OpenEBS Adopters

Check out the list of organizations and users who have chosen OpenEBS to run their stateful workloads, over at the OpenEBS Adopters page.

Community, discussion, and support

Learn how to engage with the OpenEBS community on the community page.

You can reach the maintainers of this project at:

Code of conduct

Participation in the OpenEBS community is governed by the CNCF Code of Conduct.

Inspiration/Credit

OpenEBS Local PV has been inspired by the prior work done by the following the Kubernetes projects:

License

FOSSA Status

About

Dynamic Local Volumes for Kubernetes Stateful workloads.

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 95.3%
  • Shell 2.0%
  • Makefile 1.2%
  • Other 1.5%