Skip to content
forked from openebs/openebs

OpenEBS is containerized storage for containers integrated tightly into K8S and other environments and based on distributed block storage and containerization of storage control. OpenEBS derives intent from K8S and other YAML or JSON such as per container QoS SLAs, tiering and replica policies, and more. OpenEBS is EBS API compliant as well.

License

Notifications You must be signed in to change notification settings

vishnuitta/openebs

 
 

Repository files navigation

OpenEBS

Releases Slack Twitter PRs Welcome FOSSA Status CII Best Practices

https://www.openebs.io/

OpenEBS enables the use of containers for mission-critical, persistent workloads and for other stateful workloads such as logging or Prometheus for example. OpenEBS is containerized storage and related storage services.

OpenEBS allows you to treat your persistent workload containers, such as DBs on containers, just like other containers. OpenEBS itself is deployed as just another container on your host and enables storage services that can be designated on a per pod, application, cluster or container level, including:

  • Data persistence across nodes, dramatically reducing time spent rebuilding Cassandra rings for example.
  • Synchronization of data across availability zones and cloud providers improving availability and decreasing attach/detach times for example.
  • A common layer so whether you are running on AKS, or your bare metal, or GKE, or AWS - your wiring and developer experience for storage services is as similar as possible.
  • Integration with Kubernetes, so developer and application intent flows into OpenEBS configurations automatically.
  • Management of tiering to and from S3 and other targets.

Our vision is simple: let storage and storage services for persistent workloads be fully integrated into the environment so that each team and workload benefits from granularity of control and Kubernetes native behavior.

Read this in other languages.

🇩🇪 🇷🇺 🇹🇷

Scalability

OpenEBS can scale to include an arbitrarily large number of containerized storage controllers. Kubernetes is used to provide fundamental pieces such as using etcd for inventory. OpenEBS scales to the extent your Kubernetes scales.

Installation and Getting Started

OpenEBS can be set up in a few easy steps. You can get going on your choice of Kubernetes cluster by having open-iscsi installed on the Kubernetes nodes and running the openebs-operator using kubectl.

Start the OpenEBS Services using operator

# apply this yaml
kubectl apply -f https://openebs.github.io/charts/openebs-operator.yaml

Start the OpenEBS Services using helm

helm repo update
helm install --namespace openebs --name openebs stable/openebs

You could also follow our QuickStart Guide.

OpenEBS can be deployed on any Kubernetes cluster - either in cloud, on-premise or developer laptop (minikube). Note that there are no changes to the underlying kernel that are required as OpenEBS operates in userspace. Please follow our OpenEBS Setup documentation. Also, we have a Vagrant environment available that includes a sample Kubernetes deployment and synthetic load that you can use to simulate the performance of OpenEBS. You may also find interesting the related project called Litmus (https://www.openebs.io/litmus) which helps with chaos engineering for stateful workloads on Kubernetes.

Status

We are approaching the beta stage with active development underway. See our Project Tracker for more details. Many users are running OpenEBS in production and early access commercial solutions were made available in September 2018 by our primary sponsor MayaData (https://www.mayadata.io).

Contributing

OpenEBS welcomes your feedback and contributions in any form possible.

Show me the Code

This is a meta-repository for OpenEBS. The source code is available at the following locations:

  • The source code for the initial storage engine is under openebs/jiva.
  • The storage orchestration source code is under openebs/maya.
  • While jiva and maya contain significant chunks of source code, some of the orchestration and automation code is also distributed in other repositories under the OpenEBS organization.

Please start with the pinned repositories or with OpenEBS Architecture document.

License

OpenEBS is developed under Apache 2.0 license at the project level. Some components of the project are derived from other open source projects and are distributed under their respective licenses.

About

OpenEBS is containerized storage for containers integrated tightly into K8S and other environments and based on distributed block storage and containerization of storage control. OpenEBS derives intent from K8S and other YAML or JSON such as per container QoS SLAs, tiering and replica policies, and more. OpenEBS is EBS API compliant as well.

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published