0.7

0.80.70.60.5

›Setup

Getting Started

  • Quick Start Guide
  • Introduction
  • Minikube
  • Getting Help

Concepts

  • CAS
  • Architecture
  • Features
  • Maya
  • CAS Engines
  • Storage Schema
  • Storage Policies

Setup

  • Platforms
  • Prerequisites
  • Scheduler
  • Installation
  • Provisioning Jiva
  • Provisioning cStor
  • Upgrade
  • Storage Pools
  • Storage Classes
  • Storage Volumes
  • Snapshots

Usecases

  • Blue/Green strategy
  • Snapshots in CI/CD

Integrations

  • OpenShift
  • StackPointCloud
  • AWS
  • IBMCloud
  • Rancher
  • MayaOnline

Databases

  • Cassandra
  • CockroachDB
  • Couchbase Server
  • Crunchy Postgres
  • Jenkins
  • Jupyter
  • Kafka
  • MongoDB
  • PerconaDB
  • Percona Galera Cluster
  • RabbitMQ
  • Redis StatefulSet

Tasks

  • mayactl
  • Deploy across AZs
  • Volume provisioning

FAQs

  • FAQ

Troubleshooting

  • Overview
  • ReadOnly Volumes
  • Collecting Logs
  • Installation
  • Persistent Volumes

Releases

  • Changelog

Contributor Resources

  • Open source Meetings
  • Contributor's Guide
EditCreate An Issue

Installing OpenEBS


OpenEBS is tested on various platforms. Refer to the platform versions and associated special instructions [here].(/docs/next/supportedplatforms.html)

On an existing Kubernetes cluster, as a cluster administrator, you can install latest version of OpenEBS in the following two ways.

  1. Using Stable helm charts
  2. Using OpenEBS operator through kubectl

The latest OpenEBS version 0.7.2 installation steps for both methods are explained below.

Install OpenEBS using Helm Charts

Installing OpenEBS using helm

Setup Helm and RBAC

Setup Helm

You should have configured helm on your Kubernetes cluster as a prerequisite.

Setup RBAC for Tiller before Installing OpenEBS Chart

kubectl -n kube-system create sa tiller
kubectl create clusterrolebinding tiller --clusterrole cluster-admin --serviceaccount=kube-system:tiller
kubectl -n kube-system patch deploy/tiller-deploy -p '{"spec": {"template": {"spec": {"serviceAccountName": "tiller"}}}}'

Install OpenEBS using Stable Helm Charts

You can install OpenEBS using helm charts using Stable Helm Charts which will use Kubernetes stable helm charts. Install OpenEBS using the following commands in the openebs namespace.

Note: Ensure that you have met the prerequisites before installation.

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

OpenEBS control plane pods are now created. CAS Template,default Storage Pool,and default Storage Classes are created after executing the above command. Now,select the storage engine to provision OpenEBS volume from here.

Default Values for Helm Chart Parameters

The following table lists the configurable parameters of the OpenEBS chart and their default values.

ParameterDescriptionDefault
rbac.createEnable RBAC Resourcestrue
image.pullPolicyContainer pull policyIfNotPresent
apiserver.imageDocker Image for API Serveropenebs/m-apiserver
apiserver.imageTagDocker Image Tag for API Server0.7.2
apiserver.replicasNumber of API Server Replicas1
provisioner.imageDocker Image for Provisioneropenebs/openebs-k8s-provisioner
provisioner.imageTagDocker Image Tag for Provisioner0.7.2
provisioner.replicasNumber of Provisioner Replicas1
snapshotOperator.provisioner.imageDocker Image for Snapshot Provisioneropenebs/snapshot-provisioner
snapshotOperator.provisioner.imageTagDocker Image Tag for Snapshot Provisioner0.7.2
snapshotOperator.controller.imageDocker Image for Snapshot Controlleropenebs/snapshot-controller
snapshotOperator.controller.imageTagDocker Image Tag for Snapshot Controller0.7.2
snapshotOperator.replicasNumber of Snapshot Operator Replicas1
ndm.imageDocker Image for Node Disk Manageropenebs/openebs/node-disk-manager-amd64
ndm.imageTagDocker Image Tag for Node Disk Managerv0.2.0
ndm.sparse.enabledCreate Sparse files and cStor Sparse Pooltrue
ndm.sparse.pathDirectory where Sparse files are created/var/openebs/sparse
ndm.sparse.sizeSize of the sparse file in bytes10737418240
ndm.sparse.countNumber of sparse files to be created1
ndm.sparse.filters.excludeVendorsExclude devices with specified vendorCLOUDBYT,OpenEBS
ndm.sparse.filters.excludePathsExclude devices with specified path patternsloop,fd0,sr0,/dev/ram,/dev/dm-
jiva.imageDocker Image for Jivaopenebs/jiva
jiva.imageTagDocker Image Tag for Jiva0.7.2
jiva.replicasNumber of Jiva Replicas3
cstor.pool.imageDocker Image for cStor Poolopenebs/cstor-pool
cstor.pool.imageTagDocker Image Tag for cStor Pool0.7.2
cstor.poolMgmt.imageDocker Image for cStor Pool Managementopenebs/cstor-pool-mgmt
cstor.poolMgmt.imageTagDocker Image Tag for cStor Pool Management0.7.2
cstor.target.imageDocker Image for cStor Targetopenebs/cstor-target
cstor.target.imageTagDocker Image Tag for cStor Target0.7.2
cstor.volumeMgmt.imageDocker Image for cStor Volume Managementopenebs/cstor-volume-mgmt
cstor.volumeMgmt.imageTagDocker Image Tag for cStor Volume Management0.7.2
policies.monitoring.imageDocker Image for Prometheus Exporteropenebs/m-exporter
policies.monitoring.imageTagDocker Image Tag for Prometheus Exporter0.7.2

Specify each parameter using the --set key=value argument to helm install.

Alternatively, a YAML file that specifies the values for the parameters can be provided while installing the chart. For example,

helm install -f values.yaml --namespace openebs --name openebs stable/openebs

You can get default values.yaml from here.

Install OpenEBS using kubectl

Installing OpenEBS with Operator

You can install OpenEBS cluster by running the following command.

Note: Ensure that you have met the prerequisites before installation.

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

OpenEBS control plane pods are created under “openebs” namespace. CAS Template,default Storage Pool and default Storage Classes are created after executing the above command.Now select your storage to provision OpenEBS volume from here.

Select Your Storage Engine

You can now choose the storage engine to provision Jiva or cStor volumes. For more information about OpenEBS storage engines, see Jiva and cStor.

As a cluster admin, you can provision jiva or cStor based on your requirements. For more information about provisioning them, see provisioning jiva and provisioning cStor.

Once you complete provisioning the volumes, you can run the stateful application workloads. Some sample YAML files for stateful workloads using OpenEBS are provided in the openebs/k8s/demo.

See Also:

Setting up OpenEBS storage classes

OpenEBS architecture

Overview of CAS

Upgrading OpenEBS

← Scheduling OpenEBS Control Plane and Data Plane PodsProvisioning Jiva →
  • Install OpenEBS using Helm Charts
    • Setup Helm and RBAC
    • Install OpenEBS using Stable Helm Charts
    • Default Values for Helm Chart Parameters
  • Install OpenEBS using kubectl
  • Select Your Storage Engine
    • See Also:
      • Setting up OpenEBS storage classes
        OpenEBS architecture
        Overview of CAS
        Upgrading OpenEBS
EventsHackfestsHangoutsMeetupsCafe
CareersNewslettersVideosDocsReleases
SlackGitHubTwitterBlogsEmailFacebook