Most popular & widely deployed Open Source Container Native Storage platform for Stateful Persistent Applications on Kubernetes.
APACHE-2.0 License
Bot releases are hidden (Show)
Published by kmova over 5 years ago
kubectl apply -f https://openebs.github.io/charts/openebs-operator-0.9.0.yaml
helm repo update
helm install --namespace openebs --name openebs stable/openebs
For more details refer to the documentation at: https://docs.openebs.io/
OpenEBS Release 0.9 has multiple enhancements and bug fixes which include:
For detailed change summary and steps to upgrade from previous version, please refer to: Release 0.9 Change Summary
For a more comprehensive list of open issues uncovered through e2e, please refer to open issues.
Published by kmova over 5 years ago
kubectl apply -f https://openebs.github.io/charts/openebs-operator-0.9.0-RC2.yaml
For change summary refer to: Release 0.9 Change Summary
Published by kmova over 5 years ago
kubectl apply -f https://openebs.github.io/charts/openebs-operator-0.8.2.yaml
helm repo update
helm install --namespace openebs --name openebs stable/openebs
For more details refer to the documentation at: https://docs.openebs.io/
This is a patch release with limited scope.
name: cstor-sparse-pool
annotations:
cas.openebs.io/config: |
- name: Tolerations
value: |-
t1:
effect: NoSchedule
key: nodeA
operator: Equal
t2:
effect: NoSchedule
key: app
operator: Equal
value: storage
Sample Storage Pool Claims, Storage Class and PVC configurations to make use of new features can be found here: Sample YAMLs
For a more comprehensive list of open issues uncovered through e2e, please refer to open issues.
Additional details and note to upgrade and uninstall are available on Project Tracker Wiki.
Published by kmova over 5 years ago
kubectl apply -f https://openebs.github.io/charts/openebs-operator-0.8.1.yaml
helm repo update
helm install --namespace openebs --name openebs stable/openebs
Sample Storage Pool Claims, Storage Class and PVC configurations to make use of new features can be found here: Sample YAMLs
For more details refer to the documentation at: https://docs.openebs.io/
annotations:
cas.openebs.io/config: |
- name: TargetTolerations
value: |
t1:
key: "key1"
operator: "Equal"
value: "value1"
effect: "NoSchedule"
t2:
key: "key1"
operator: "Equal"
value: "value1"
effect: "NoExecute"
annotations:
cas.openebs.io/config: |
- name: ReplicaTolerations
value: |
t1:
key: "key1"
operator: "Equal"
value: "value1"
effect: "NoSchedule"
t2:
key: "key1"
operator: "Equal"
value: "value1"
effect: "NoExecute"
node: storage-node
:
annotations:
openebs.io/cas-type: cstor
cas.openebs.io/config: |
- name: TargetNodeSelector
value: |-
node: storage-node
quay.io/openebs/openebs-tools:3.8
. For deployments where the images can't be downloaded from the Internet, this image can be hosted locally and the location specified using the ScrubImage policy in the StorageClass as follows:
annotations:
cas.openebs.io/config: |
- name: ScrubImage
value: localrepo/openebs-tools:latest
Stats:
Device Utilization Rate: 0
Disk Temperature:
Current Temperature: 0
Highest Temperature: 0
Lowest Temperature: 0
Percent Endurance Used: 0
Total Bytes Read: 0
Total Bytes Written: 0
partitionDetails:
- fileSystemType: None
partitionType: "0x83"
- fileSystemType: None
partitionType: "0x8e"
If the disk is formatted as a whole with a filesystem
fileSystem: ext4
zpool clear
command (openebs/zfs#186) (openebs/zfs#187)kubectl get ..
output of the CR. This feature requires K8s 1.11 or higher. (openebs/maya#925)$ kubectl get csp -n openebs
NAME ALLOCATED FREE CAPACITY STATUS TYPE AGE
sparse-claim-auto-lja7 125K 9.94G 9.94G Healthy striped 1h
$ kubectl get cvr -n openebs
NAME USED ALLOCATED STATUS AGE
pvc-9ca83170-01e3-11e9-812f-54e1ad0c1ccc-sparse-claim-auto-lja7 6K 6K Healthy 1h
$ kubectl get cstorvolume -n openebs
NAME STATUS AGE
pvc-9ca83170-01e3-11e9-812f-54e1ad0c1ccc Healthy 4h
$ kubectl get disk
NAME SIZE STATUS AGE
sparse-5a92ced3e2ee21eac7b930f670b5eab5 10737418240 Active 10m
mayactl
snapshot commands are deprecated in favor of the kubectl
approach of taking snapshots. snapshot` commands.Upgrade to 0.8.1 is supported only from 0.8.0 and follows a similar approach like earlier releases.
Note that the upgrade uses the node labels to pin the Jiva replicas to the nodes where they are present. On node restart, these labels will disappear and can cause the replica to be not scheduled.
The scripts and detailed instructions for upgrade are available here.
kubectl get pods -n <openebs namespace>
kubectl get cvr -n <openebs namespace>
kubectl delete
kubectl delete crd castemplates.openebs.io
kubectl delete crd cstorpools.openebs.io
kubectl delete crd cstorvolumereplicas.openebs.io
kubectl delete crd cstorvolumes.openebs.io
kubectl delete crd runtasks.openebs.io
kubectl delete crd storagepoolclaims.openebs.io
kubectl delete crd storagepools.openebs.io
kubectl delete crd volumesnapshotdatas.volumesnapshot.external-storage.k8s.io
kubectl delete crd volumesnapshots.volumesnapshot.external-storage.k8s.io
kubectl delete jobs -l openebs.io/cas-type=jiva -n <namespace>
kubectl delete deploy <volume-target-deploy> -n openebs --force --grace-period=0
For a more comprehensive list of open issues uncovered through e2e, please refer to open issues.
Additional details and note to upgrade and uninstall are available on Project Tracker Wiki.
Published by kmova almost 6 years ago
kubectl apply -f https://openebs.github.io/charts/openebs-operator-0.8.0.yaml
helm repo update
helm install --namespace openebs --name openebs stable/openebs
Sample Storage Pool Claims, Storage Class and PVC configurations to make use of new features can be found here: Sample YAMLs
For more details refer to the documentation at: https://docs.openebs.io/
Support for creating instant Snapshots on cStor volumes that can be used for both data protection or data warm-up usecases. The snapshots can be taken using kubectl
by providing an VolumeSnapshot
YAML as shown below:
apiVersion: volumesnapshot.external-storage.k8s.io/v1
kind: VolumeSnapshot
metadata:
name: <snapshot-name>
namespace: default
spec:
persistentVolumeClaimName: <cstor-pvc-name>
cStor Volume Snapshot creation is controlled by the cStor Target Pod by flushing all the pending IOs to the Replicas and requesting each of the Replica to take snapshot. cStor Volume Snapshot can be taken as long as two Replicas are Healthy.
Since snapshots can be managed via kubectl
, you can setup your own K8s cron job that can take period snapshots etc.,
Support for creating a clone PVs from a previously taken snapshot. Clones can be used for both recovering data from a previously taken snapshot or for optimizing the application startup time. Application startup time can be reduced in usecases where an application pod requires some kind of seed data to be available. With clones support, user can setup a seed volume and fill it with the data. Create a snapshot with the seed data. When the application are launched, the PVCs can be setup to create Cloned PVs from the seed data snapshot. cStor Clones are also optimized for minimizing the capacity overhed. cStor Clones are reference based and need capacity only for new or modified data.
Clones can be created using the PVC
YAML as shown below:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: <cstor-clone-pvc-name>
namespace: default
annotations:
snapshot.alpha.kubernetes.io/snapshot: <snapshot-name>
spec:
storageClassName: openebs-snapshot-promoter
accessModes: [ "ReadWriteOnce" ]
resources:
requests:
storage: 5Gi
Note that, the requested storage specified (like 5Gi
in the above example) should match the requested storage on the <cstor-pvc-name>
. <cstor-pvc-name>
is the PVC on which the snapshot was taken.
Support for providing the runtime status of the cStor Volumes and Pools via kubectl describe commands. For example:
kubectl describe cstorvolume <cstor-pv-name> -n <openebs-namespace>
. The status reported will contain information as shown below and more:
Status:
Phase: Healthy
Replica Statuses:
Replica Id: 15041373535437538769
Status: Healthy
Up Time: 14036
Replica Id: 6608387984068912137
Status: Healthy
Up Time: 14035
Replica Id: 17623616871400753550
Status: Healthy
Up Time: 14034
kubectl describe csp <pool-name> -n <openebs-namespace>
. The details shown are:
status:
capacity:
free: 9.62G
total: 9.94G
used: 322M
phase: Healthy
ResyncInterval
. The default sync interval is 30s
.Init
, Healthy
, Degraded
, Offline
, Error
.Support for new Storage Policies for cStor Volumes such as:
Target Affinity: (Applicable to both both jiva and cStor Volumes) The stateful workloads access the OpenEBS Storage by connecting to the Volume Target Pod. This policy can be used to co-locate volume target pod on the same node as workload to avoid conditions like:
labels:
openebs.io/target-affinity: <application-unique-label>
Example of using this policy can be found here.
Note that this Policy only applies to Deployments or StatefulSets with single workload instance.
Target Namespace: (Applicable to only cStor volumes). By default the cStor target pods are scheduled in a dedicated openebs namespace. The target pod also is provided with openebs service account so that it can access the Kubernetes Custom Resource called CStorVolume
and Events
.
This policy, allows the Cluster administrator to specify if the Volume Target pods should be deployed in the namespace of the workloads itself. This can help with setting the limits on the resources on the target pods, based on the namespace in which they are deployed.
To use this policy, the Cluster administrator could either use the existing openebs service account or create a new service account with limited access and provide it in the StorageClass as follows:
annotations:
cas.openebs.io/config: |
- name: PVCServiceAccountName
value: "user-service-account"
The sample service account can be found here
Support for sending anonymous analytics to Google Analytics server. This feature can be disabled by setting the maya-apiserver environment flag - OPENEBS_IO_ENABLE_ANALYTICS
to false. Very minimal information like the K8s version and the type of volumes being deployed is collected. No sensitive information like the names or IP addresses are collected. The details collected can be viewed here.
kubectl delete deploy <volume-target-deploy> -n openebs --force --grace-period=0
For a more comprehensive list of open issues uncovered through e2e, please refer to open issues.
Additional details and note to upgrade and uninstall are available on Project Tracker Wiki.
Published by kmova almost 6 years ago
kubectl apply -f https://openebs.github.io/charts/openebs-operator-0.7.2.yaml
helm repo update
helm install --namespace openebs --name openebs stable/openebs
Sample Storage Pool Claims, Storage Class and PVC configurations to make use of new features can be found here: Sample YAMLs
For more details refer to the documentation at: https://docs.openebs.io/
cas.openebs.io/config: |
- name: RetainReplicaData
enabled: true
labels:
openebs.io/target-affinity: <application-unique-label>
Detailed release notes are maintained in Project Tracker Wiki.
For a more comprehensive list of open issues uncovered through e2e, please refer to open issues.
Published by kmova almost 6 years ago
kubectl apply -f https://openebs.github.io/charts/openebs-operator-0.7.1.yaml
helm install --namespace openebs --name openebs stable/openebs
helm repo add openebs-charts https://openebs.github.io/charts/
helm repo update
helm install openebs-charts/openebs
Sample Storage Pool Claims, Storage Class and PVC configurations to make use of new features can be found here: Sample YAMLs
For more details refer to the documentation at: https://docs.openebs.io/
Detailed release notes are maintained in Project Tracker Wiki.
For a more comprehensive list of open issues uncovered through e2e, please refer to open issues.
Published by kmova about 6 years ago
kubectl apply -f https://openebs.github.io/charts/openebs-operator-0.7.0.yaml
helm repo add openebs-charts https://openebs.github.io/charts/
helm repo update
helm install openebs-charts/openebs
For more details refer to the documentation at: https://docs.openebs.io/
Note: Kubernetes stable/openebs helm chart and other charts still point to 0.6 and efforts are underway to update them to 0.7.
default
and StorageClass called openebs-jiva-default
cstor-sparse-pool
and StorageClass called openebs-cstor-sparse
Sample Storage Pool Claims, Storage Class and PVC configurations to make use of new features can be found here: Sample YAMLs
Detailed release notes are maintained in Project Tracker Wiki.
For a more comprehensive list of open issues uncovered through e2e, please refer to open issues.
Published by kmova about 6 years ago
Please Note: This is a release candidate build. If you are looking at deploying from a stable release, please follow the instructions at Quick Start Guide.
kubectl
command with cluster admin context. The installation will involve create a new Service Account and assigned to OpenEBS components.kubectl apply -f https://openebs.github.io/charts/openebs-operator-0.7.0-RC2.yaml
The above command will install OpenEBS Control Plane components and all the required Kubernetes CRDs. With 0.7, the following new services will be installed:
openebs-standard
openebs-cstor-sparse
You are all set!
You can now install your Stateful applications that make use of either of the above StorageClasses or you can create a completely new StorageClass that can be configured with Storage Policies like:
Some of the sample Storage Class and PVC configurations can be found here: Sample YAMLs
Additional details and release notes are available on Project Tracker Wiki.
Published by kmova about 6 years ago
Make sure that user is assigned with cluster-admin clusterrole to run the below provided install steps.
Install the 0.7.0-RC1 OpenEBS with CAS Templates.
kubectl apply -f https://raw.githubusercontent.com/openebs/store/master/docs/openebs-operator-0.7.0-RC1.yaml
kubectl apply -f https://raw.githubusercontent.com/openebs/store/master/docs/openebs-pre-release-features-0.7.0-RC1.yaml
Download the following file, update the disks and apply to create cStor Pools.
wget https://raw.githubusercontent.com/openebs/store/master/docs/openebs-config-0.7.0-RC1.yaml
kubectl apply -f openebs-config-0.7.0-RC1.yaml
Published by kmova about 6 years ago
kubectl apply -f https://raw.githubusercontent.com/openebs/openebs/v0.6/k8s/openebs-operator.yaml
kubectl apply -f https://raw.githubusercontent.com/openebs/openebs/v0.6/k8s/openebs-storageclasses.yaml
helm install --namespace openebs --name openebs -f https://openebs.github.io/charts/helm-values-0.6.0.yaml stable/openebs
kubectl apply -f https://raw.githubusercontent.com/openebs/openebs/v0.6/k8s/openebs-storageclasses.yaml
helm repo add openebs-charts https://openebs.github.io/charts/
helm repo update
helm install openebs-charts/openebs
For more details refer to the documentation at: https://docs.openebs.io/
openebs
Since 0.6 has made changes to the way controller and replica pods communicate with each other, the older volumes need to be upgraded with scheduled downtime for applications.
Additional details are available on Project Tracker Wiki.
Published by ksatchit over 6 years ago
For a complete list of known issues, go to v0.5.4 known issues
kubectl apply -f https://raw.githubusercontent.com/openebs/openebs/v0.5.4/k8s/openebs-operator.yaml
helm repo add openebs-charts https://openebs.github.io/charts/
helm repo update
helm install openebs-charts/openebs
Alternately, refer : https://docs.openebs.io/docs/next/installation.html#install-openebs-using-helm-charts
Published by kmova over 6 years ago
For a complete list of known issues, go to v0.5.3 known issues.
The OpenEBS documentation is now available at https://docs.openebs.io/. You can provide your feedback comments by clicking the Feedback button provided on every page.
kubectl apply -f https://raw.githubusercontent.com/openebs/openebs/v0.5.3/k8s/openebs-operator.yaml
helm repo add openebs-charts https://openebs.github.io/charts/
helm repo update
helm install openebs-charts/openebs
Published by kmova over 6 years ago
This is a single-fix release on top of v0.5.1 to allow maya-apiserver and openebs-provisioner to work with Kubernetes non-SSL configuration.
Issue Fixed:
To use the above ENV variables, the following image versions have to be used:
Published by kmova almost 7 years ago
This is a incremental release on top of v0.5. This release fixes bugs and adds support for running OpenEBS on CentOS based Kubernetes Cluster including OpenShift 3.7+
kubectl apply -f https://raw.githubusercontent.com/openebs/openebs/v0.5.1/k8s/openebs-operator.yaml
helm repo add openebs-charts https://openebs.github.io/charts/
helm repo update
helm install openebs-charts/openebs
If you are running your own prometheus, please update it with the following job configuration:
- job_name: 'openebs-volumes'
scheme: http
kubernetes_sd_configs:
- role: pod
relabel_configs:
- source_labels: [__meta_kubernetes_pod_label_monitoring]
regex: volume_exporter_prometheus
action: keep
- source_labels: [__meta_kubernetes_pod_name]
action: replace
target_label: kubernetes_pod_name
- source_labels: [__meta_kubernetes_pod_label_vsm]
action: replace
target_label: openebs_pv
- source_labels: [__meta_kubernetes_pod_container_port_number]
action: drop
regex: '(.*)9501'
- source_labels: [__meta_kubernetes_pod_container_port_number]
action: drop
regex: '(.*)3260
If you don't have prometheus running, you can use the following yaml file to run prometheus and grafana.
kubectl apply -f https://raw.githubusercontent.com/openebs/openebs/v0.5.0/k8s/openebs-monitoring-pg.yaml
You can import the following grafana-dashboard file to view the OpenEBS Volume metrics.
Published by kmova almost 7 years ago
This release marks a significant milestone for OpenEBS. We are excited about the new capabilities - like policy based Volume Provisioning and Customizations that will finally provide DevOps teams, the missing tools to automate the StorageOperations. We are more excited about the contributions that poured in from 50+ new community members that have made this release possible.
Additional Details are available on Project Tracker Wiki
kubectl apply -f https://raw.githubusercontent.com/openebs/openebs/v0.5.0/k8s/openebs-operator.yaml
helm repo add openebs-charts https://openebs.github.io/charts/
helm repo update
helm install openebs-charts/openebs
If you are running your own prometheus, please update it with the following job configuration:
- job_name: 'openebs-volumes'
scheme: http
kubernetes_sd_configs:
- role: pod
relabel_configs:
- source_labels: [__meta_kubernetes_pod_label_monitoring]
regex: volume_exporter_prometheus
action: keep
- source_labels: [__meta_kubernetes_pod_name]
action: replace
target_label: kubernetes_pod_name
- source_labels: [__meta_kubernetes_pod_label_vsm]
action: replace
target_label: openebs_pv
- source_labels: [__meta_kubernetes_pod_container_port_number]
action: drop
regex: '(.*)9501'
- source_labels: [__meta_kubernetes_pod_container_port_number]
action: drop
regex: '(.*)3260
If you don't have prometheus running, you can use the following yaml file to run prometheus and grafana.
kubectl apply -f https://raw.githubusercontent.com/openebs/openebs/v0.5.0/k8s/openebs-monitoring-pg.yaml
You can import the following grafana-dashboard file to view the OpenEBS Volume metrics.
Published by kmova about 7 years ago
Please try out the latest OpenEBS on your Kubernetes Cluster using the following quick start guide. https://docs.openebs.io/docs/runOpenEBSoperator.html
The following OpenEBS v0.4.0 containers are available from Docker Hub:
Published by kmova over 7 years ago
It is simple to use OpenEBS. Try it!!
Published by kmova over 7 years ago
Provides new AWS EBS-like API for provisioning Block Storage