Skip to content
Pre-release
Pre-release

@kmova kmova released this Nov 29, 2017 · 1247 commits to master since this release

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.

Changelog

  • 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

Known Limitations

  • 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

Installation

Using kubectl

kubectl apply -f https://raw.githubusercontent.com/openebs/openebs/v0.5.0/k8s/openebs-operator.yaml

Using helm

helm repo add openebs-charts https://openebs.github.io/charts/
helm repo update
helm install openebs-charts/openebs

Images

  • 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.

Assets 2
You can’t perform that action at this time.