Be notified of new releases
Create your free GitHub account today to subscribe to this repository for new releases and build software alongside 31 million developers.Sign up
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.
- Storage Policy Enforcement Framework that allows DevOps teams to deploy a customized storage. Some policies supported are:
- Storage Policy - for using a custom Storage Engine like Jiva,
- Storage Policy - for exposing volume metrics in Prometheus format using a side-car to volume controller
- Storage Policy - for defining Capacity
- Storage Policy - for defining the persistent storage location like /var/openebs (default) or a directory mounted on EBS or GPD etc.,
- Extend OpenEBS API Server to expose volume snapshot api
- Support for deploying OpenEBS via helm charts
- Sample Prometheus configuration for collecting OpenEBS Volume Metrics
- Sample Grafana OpenEBS Volume Dashboard - using the prometheus Metrics
- Sample Deployment YAMLs and corresponding Storage Classes for different types of applications (see Project Tracker Wiki for detailed list)
- Sample Deployment YAMLs for launching Kubernetes Dashboard for a preview of the changes done by OpenEBS Team to Kubernetes Dashboard (see Project Tracker Wiki for the PRs raised and merged)
- Sample Deployment YAMLs for Prometheus and Grafana - in case they are not already part of your deployment.
- Several Documentation and Code Re-factoring Changes for improving code quality
Additional Details are available on Project Tracker Wiki
Changes from earlier releases to v0.5.0
- Some of the ENV variables for customizing default options have changed (openebs/openebs #927)
- DEFAULT_CONTROLLER_IMAGE -> OPENEBS_IO_JIVA_CONTROLLER_IMAGE
- DEFAULT_REPLICA_IMAGE -> OPENEBS_IO_JIVA_REPLICA_IMAGE
- DEFAULT_REPLICA_COUNT -> OPENEBS_IO_JIVA_REPLICA_COUNT
- Requires Kubernetes 1.7.5+
- Requires iscsi initiator to be installed in the kubernetes nodes or kubelet container
- Has been tested primarily with enabling openebs and its volumes (PVCs) in the default namespace
- Not recommended for mission critical workloads
- Not recommended for performance sensitive workloads. Ongoing efforts intended to improve performance
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
- openebs/jiva:0.5.0 : Containerized Storage Controller
- openebs/m-apiserver:0.5.0 : OpenEBS Maya API Server along with the latest maya cli.
- openebs/openebs-k8s-provisioner:0.5.0 : Dynamic OpenEBS Volume Provisioner for Kubernetes.
- openebs/m-exporter:0.5.0 : OpenEBS Volume metrics exporter.
Setup OpenEBS Volume Monitoring
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.