Files

OpenEBS CStor

License Release Charts Chart Lint and Test

OpenEBS CStor helm chart for Kubernetes. This chart bootstraps OpenEBS cstor operators and csi driver deployment on a Kubernetes cluster using the Helm package manager

Homepage: http://www.openebs.io/

Maintainers

Name Email Url
kiranmova kiran.mova@mayadata.io
prateekpandey14 prateek.pandey@mayadata.io
sonasingh46 sonasingh46@gmail.com

Get Repo Info

helm repo add openebs-cstor https://openebs.github.io/cstor-operators
helm repo update

See helm repo for command documentation.

Install Chart

Please visit the link for install instructions via helm3.

# Helm
$ helm install [RELEASE_NAME] openebs-cstor/cstor --namespace [NAMESPACE]
Click here if you're using MicroK8s.
microk8s helm3 install [RELEASE_NAME] openebs-cstor/cstor --namespace [NAMESPACE] --set-string csiNode.kubeletDir="/var/snap/microk8s/common/var/lib/kubelet/"

See configuration below.

See helm install for command documentation.

Dependencies

By default this chart installs additional, dependent charts:

Repository Name Version
https://openebs.github.io/node-disk-manager openebs-ndm 2.1.0

To disable the dependency during installation, set openebsNDM.enabled to false.

See helm dependency for command documentation.

Uninstall Chart

# Helm
$ helm uninstall [RELEASE_NAME] --namespace [NAMESPACE]

This removes all the Kubernetes components associated with the chart and deletes the release.

See helm uninstall for command documentation.

Upgrading Chart

# Helm
$ helm upgrade [RELEASE_NAME] [CHART] --install --namespace [NAMESPACE]

Configuration

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

You can modify different parameters by specifying the desired value in the helm install command by using the --set and/or the --set-string flag(s). You can modify the parameters of the Node Disk Manager chart by adding openebs-ndm before the desired parameter in the helm install command.

In the following sample command we modify csiNode.nodeSelector from the cstor chart and ndm.nodeSelector from the openebs-ndm chart to only schedule pods on nodes labelled with openebs.io/data-plane=true. We also enable the 'Use OS-disk' feature gate using the featureGates.UseOSDisk.enabled parameter from the openebs-ndm chart.

helm install openebs-cstor openebs-cstor/cstor --namespace openebs --create-namespace \
	--set-string csiNode.nodeSelector."openebs\.io/data-plane"=true \
	--set-string openebs-ndm.ndm.nodeSelector."openebs\.io/data-plane"=true \
	--set openebs-ndm.featureGates.UseOSDisk.enabled=true
Click here if you're using MicroK8s.

If you are using MicroK8s, it is necessary to add the following flag:

--set-string csiNode.kubeletDir="/var/snap/microk8s/common/var/lib/kubelet/"
Key Type Default Description
admissionServer.annotations object {} Admission webhook annotations
admissionServer.componentName string "cstor-admission-webhook" Admission webhook Component Name
admissionServer.failurePolicy string "Fail" Admission Webhook failure policy
admissionServer.image.pullPolicy string "IfNotPresent" Admission webhook image pull policy
admissionServer.image.registry string nil Admission webhook image registry
admissionServer.image.repository string "openebs/cstor-webhook" Admission webhook image repo
admissionServer.image.tag string "3.5.0" Admission webhook image tag
admissionServer.nodeSelector object {} Admission webhook pod node selector
admissionServer.podAnnotations object {} Admission webhook pod annotations
admissionServer.resources object {} Admission webhook pod resources
admissionServer.securityContext object {} Admission webhook security context
admissionServer.tolerations list [] Admission webhook tolerations
cleanup.image.registry string nil cleanup pre hook image registry
cleanup.image.repository string "bitnami/kubectl" cleanup pre hook image repository
csiController.annotations object {} CSI controller annotations
csiController.attacher.image.pullPolicy string "IfNotPresent" CSI attacher image pull policy
csiController.attacher.image.registry string "registry.k8s.io/" CSI attacher image registry
csiController.attacher.image.repository string "sig-storage/csi-attacher" CSI attacher image repo
csiController.attacher.image.tag string "v4.3.0" CSI attacher image tag
csiController.attacher.logLevel string unspecified Override log level for CSI attacher container (1 = least verbose, 5 = most verbose)
csiController.attacher.name string "csi-attacher" CSI attacher container name
csiController.componentName string "openebs-cstor-csi-controller" CSI controller component name
csiController.logLevel string "5" Default log level for all CSI controller containers (1 = least verbose, 5 = most verbose) unless overridden for a specific container
csiController.nodeSelector object {} CSI controller pod node selector
csiController.podAnnotations object {} CSI controller pod annotations
csiController.provisioner.image.pullPolicy string "IfNotPresent" CSI provisioner image pull policy
csiController.provisioner.image.registry string "registry.k8s.io/" CSI provisioner image pull registry
csiController.provisioner.image.repository string "sig-storage/csi-provisioner" CSI provisioner image pull repository
csiController.provisioner.image.tag string "v3.5.0" CSI provisioner image tag
csiController.provisioner.logLevel string unspecified Override log level for CSI provisioner container (1 = least verbose, 5 = most verbose)
csiController.provisioner.name string "csi-provisioner" CSI provisioner container name
csiController.resizer.image.pullPolicy string "IfNotPresent" CSI resizer image pull policy
csiController.resizer.image.registry string "registry.k8s.io/" CSI resizer image registry
csiController.resizer.image.repository string "sig-storage/csi-resizer" CSI resizer image repository
csiController.resizer.image.tag string "v1.8.0" CSI resizer image tag
csiController.resizer.logLevel string unspecified Override log level for CSI resizer container (1 = least verbose, 5 = most verbose)
csiController.resizer.name string "csi-resizer" CSI resizer container name
csiController.resources object {} CSI controller container resources
csiController.securityContext object {} CSI controller security context
csiController.snapshotController.image.pullPolicy string "IfNotPresent" CSI snapshot controller image pull policy
csiController.snapshotController.image.registry string "k8s.gcr.io/" CSI snapshot controller image registry
csiController.snapshotController.image.repository string "sig-storage/snapshot-controller" CSI snapshot controller image repository
csiController.snapshotController.image.tag string "v6.2.2" CSI snapshot controller image tag
csiController.snapshotController.logLevel string unspecified Override log level for CSI snapshot controller container (1 = least verbose, 5 = most verbose)
csiController.snapshotController.name string "snapshot-controller" CSI snapshot controller container name
csiController.snapshotter.image.pullPolicy string "IfNotPresent" CSI snapshotter image pull policy
csiController.snapshotter.image.registry string "registry..k8s.io/" CSI snapshotter image pull registry
csiController.snapshotter.image.repository string "sig-storage/csi-snapshotter" CSI snapshotter image repository
csiController.snapshotter.image.tag string "v6.2.2" CSI snapshotter image tag
csiController.snapshotter.name string "csi-snapshotter" CSI snapshotter container name
csiController.tolerations list [] CSI controller pod tolerations
csiNode.annotations object {} CSI Node annotations
csiNode.componentName string "openebs-cstor-csi-node" CSI Node component name
csiNode.driverRegistrar.image.pullPolicy string "IfNotPresent" CSI Node driver registrar image pull policy
csiNode.driverRegistrar.image.registry string "registry.k8s.io/" CSI Node driver registrar image registry
csiNode.driverRegistrar.image.repository string "sig-storage/csi-node-driver-registrar" CSI Node driver registrar image repository
csiNode.driverRegistrar.image.tag string "v2.8.0" CSI Node driver registrar image tag
csiNode.driverRegistrar.logLevel string unspecified Override log level for CSI node driver registrar container (1 = least verbose, 5 = most verbose)
csiNode.driverRegistrar.name string "csi-node-driver-registrar" CSI Node driver registrar container name
csiNode.kubeletDir string "/var/lib/kubelet/" Kubelet root dir
csiNode.labels object {} CSI Node pod labels
csiNode.logLevel string "5" Default log level for CSI node containers (1 = least verbose, 5 = most verbose) unless overriden for a specific container
csiNode.nodeSelector object {} CSI Node pod nodeSelector
csiNode.podAnnotations object {} CSI Node pod annotations
csiNode.resources object {} CSI Node pod resources
csiNode.securityContext object {} CSI Node pod security context
csiNode.tolerations list [] CSI Node pod tolerations
csiNode.updateStrategy.type string "RollingUpdate" CSI Node daemonset update strategy
cspcOperator.annotations object {} CSPC operator annotations
cspcOperator.componentName string "cspc-operator" CSPC operator component name
cspcOperator.cstorPool.image.registry string nil CStor pool image registry
cspcOperator.cstorPool.image.repository string "openebs/cstor-pool" CStor pool image repository
cspcOperator.cstorPool.image.tag string "3.5.0" CStor pool image tag
cspcOperator.cstorPoolExporter.image.registry string nil CStor pool exporter image registry
cspcOperator.cstorPoolExporter.image.repository string "openebs/m-exporter" CStor pool exporter image repository
cspcOperator.cstorPoolExporter.image.tag string "3.5.0" CStor pool exporter image tag
cspcOperator.image.pullPolicy string "IfNotPresent" CSPC operator image pull policy
cspcOperator.image.registry string nil CSPC operator image registry
cspcOperator.image.repository string "openebs/cspc-operator" CSPC operator image repository
cspcOperator.image.tag string "3.5.0" CSPC operator image tag
cspcOperator.nodeSelector object {} CSPC operator pod nodeSelector
cspcOperator.podAnnotations object {} CSPC operator pod annotations
cspcOperator.poolManager.image.registry string nil CStor Pool Manager image registry
cspcOperator.poolManager.image.repository string "openebs/cstor-pool-manager" CStor Pool Manager image repository
cspcOperator.poolManager.image.tag string "3.5.0" CStor Pool Manager image tag
cspcOperator.resources object {} CSPC operator pod resources
cspcOperator.resyncInterval string "30" CSPC operator resync interval
cspcOperator.securityContext object {} CSPC operator security context
cspcOperator.tolerations list [] CSPC operator pod tolerations
cspcOperator.baseDir string "/var/openebs" base directory for openebs cStor pools on host path to store pool related information
cspcOperator.sparseDir string "/var/openebs/sparse" sparse directory to access sparse based devices
cstorCSIPlugin.image.pullPolicy string "IfNotPresent" CStor CSI driver image pull policy
cstorCSIPlugin.image.registry string nil CStor CSI driver image registry
cstorCSIPlugin.image.repository string "openebs/cstor-csi-driver" CStor CSI driver image repository
cstorCSIPlugin.image.tag string "3.5.0" CStor CSI driver image tag
cstorCSIPlugin.name string "cstor-csi-plugin" CStor CSI driver container name
cstorCSIPlugin.remount string "true" Enable/disable auto-remount when volume recovers from read-only state
cvcOperator.annotations object {} CVC operator annotations
cvcOperator.componentName string "cvc-operator" CVC operator component name
cvcOperator.image.pullPolicy string "IfNotPresent" CVC operator image pull policy
cvcOperator.image.registry string nil CVC operator image registry
cvcOperator.image.repository string "openebs/cvc-operator" CVC operator image repository
cvcOperator.image.tag string "3.5.0" CVC operator image tag
cvcOperator.logLevel string "2" Log level for CVC operator container (1 = least verbose, 5 = most verbose)
cvcOperator.nodeSelector object {} CVC operator pod nodeSelector
cvcOperator.podAnnotations object {} CVC operator pod annotations
cvcOperator.resources object {} CVC operator pod resources
cvcOperator.resyncInterval string "30" CVC operator resync interval
cvcOperator.securityContext object {} CVC operator security context
cvcOperator.target.image.registry string nil Volume Target image registry
cvcOperator.target.image.repository string "openebs/cstor-istgt" Volume Target image repository
cvcOperator.target.image.tag string "3.5.0" Volume Target image tag
cvcOperator.tolerations list [] CVC operator pod tolerations
cvcOperator.volumeExporter.image.registry string nil Volume exporter image registry
cvcOperator.volumeExporter.image.repository string "openebs/m-exporter" Volume exporter image repository
cvcOperator.volumeExporter.image.tag string "3.5.0" Volume exporter image tag
cvcOperator.volumeMgmt.image.registry string nil Volume mgmt image registry
cvcOperator.volumeMgmt.image.repository string "openebs/cstor-volume-manager" Volume mgmt image repository
cvcOperator.volumeMgmt.image.tag string "3.5.0" Volume mgmt image tag
cvcOperator.baseDir string "/var/openebs" CVC operator base directory for openebs on host path
imagePullSecrets string nil Image registry pull secrets
openebsNDM.enabled bool true Enable OpenEBS NDM dependency
openebs-ndm.featureGates.APIService.enabled bool true Enable 'API Service' feature gate for NDM
openebs-ndm.featureGates.GPTBasedUUID.enabled bool true Enable 'GPT-based UUID' feature gate for NDM
openebs-ndm.featureGates.UseOSDisk.enabled bool false Enable 'Use OS-disk' feature gate for NDM
openebs-ndm.helperPod.image.registry string nil Registry for helper image
openebs-ndm.helperPod.image.repository string openebs/linux-utils Image repository for helper pod
openebs-ndm.ndm.filters.enableOsDiskExcludeFilter bool true Enable filters of OS disk exclude
openebs-ndm.ndm.filters.enableVendorFilter bool true Enable filters of vendors
openebs-ndm.ndm.filters.excludeVendors string "CLOUDBYT,OpenEBS" Exclude devices with specified vendor
openebs-ndm.ndm.filters.enablePathFilter bool true Enable filters of paths
openebs-ndm.ndm.filters.includePaths string "" Include devices with specified path patterns
openebs-ndm.ndm.filters.excludePaths string "loop,fd0,sr0,/dev/ram,/dev/dm-,/dev/md,/dev/rbd,/dev/zd" Exclude devices with specified path patterns
openebs-ndm.ndm.image.registry string nil Registry for Node Disk Manager image
openebs-ndm.ndm.image.repository string openebs/node-disk-manager Image repository for Node Disk Manager
openebs-ndm.ndm.nodeSelector object {} Nodeselector for daemonset pods
openebs-ndm.ndmOperator.image.registry string nil Registry for NDM operator image
openebs-ndm.ndmOperator.image.repository string openebs/node-disk-operator Image repository for NDM operator
rbac.create bool true Enable RBAC
rbac.pspEnabled bool false Enable PodSecurityPolicy
release.version string "3.5.0" Openebs CStor release version
serviceAccount.annotations object {} Service Account annotations
serviceAccount.csiController.create bool true Enable CSI Controller ServiceAccount
serviceAccount.csiController.name string "openebs-cstor-csi-controller-sa" CSI Controller ServiceAccount name
serviceAccount.csiNode.create bool true Enable CSI Node ServiceAccount
serviceAccount.csiNode.name string "openebs-cstor-csi-node-sa" CSI Node ServiceAccount name