Skip to content
This repository has been archived by the owner on Feb 22, 2022. It is now read-only.

Commit

Permalink
Upgrade to openEBS helm chart to 0.7.1 (#8775)
Browse files Browse the repository at this point in the history
* Upgrade to openebs 0.7.1

Includes changes to:
- Change the image tags to 0.7.1
- Add a Node-Disk-Manager daemonset introduced in 0.7 for disk management
- Add ENV var for Cstor based storage engine
- Update values.yaml wrt to above changes
- Updated README and Chart.yaml

Signed-off-by: prateekpandey14 <prateekpandey14@gmail.com>

* update deployment and RBAC APIs to v1

Signed-off-by: prateekpandey14 <prateekpandey14@gmail.com>
  • Loading branch information
prateekpandey14 authored and k8s-ci-robot committed Oct 29, 2018
1 parent f77b473 commit 5814f32
Show file tree
Hide file tree
Showing 13 changed files with 319 additions and 121 deletions.
4 changes: 2 additions & 2 deletions stable/openebs/Chart.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
apiVersion: v1
version: 0.6.1
version: 0.7.1
name: openebs
appVersion: 0.6.0
appVersion: 0.7.1
description: Containerized Storage for Containers
icon: https://raw.githubusercontent.com/openebs/chitrakala/master/OpenEBS%20logo/openebs%20logos-03.png
home: http://www.openebs.io/
Expand Down
61 changes: 38 additions & 23 deletions stable/openebs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ This chart bootstraps OpenEBS deployment on a [Kubernetes](http://kubernetes.io)
- Kubernetes 1.7.5+ with RBAC enabled
- iSCSI PV support in the underlying infrastructure

## Installing OpenEBS
## Installing OpenEBS
```
helm install stable/openebs
```
Expand All @@ -35,28 +35,43 @@ helm delete `my-release`

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

| Parameter | Description | Default |
| -------------------------------------- | --------------------------------------------- | --------------------------------- |
| `rbac.create` | Enable RBAC Resources | `true` |
| `serviceAccount.create` | Specify if Service Account should be created | `true` |
| `serviceAccount.name` | Specify the name of service account | `openebs-maya-operator` |
| `image.pullPolicy` | Container pull policy | `IfNotPresent` |
| `apiserver.image` | Docker Image for API Server | `openebs/m-apiserver` |
| `apiserver.imageTag` | Docker Image Tag for API Server | `0.6.0` |
| `apiserver.replicas` | Number of API Server Replicas | `1` |
| `provisioner.image` | Docker Image for Provisioner | `openebs/openebs-k8s-provisioner` |
| `provisioner.imageTag` | Docker Image Tag for Provisioner | `0.6.0` |
| `provisioner.replicas` | Number of Provisioner Replicas | `1` |
| `snapshotOperator.provisioner.image` | Docker Image for Snapshot Provisioner | `openebs/snapshot-provisioner` |
| `snapshotOperator.provisioner.imageTag`| Docker Image Tag for Snapshot Provisioner | `0.6.0` |
| `snapshotOperator.controller.image` | Docker Image for Snapshot Controller | `openebs/snapshot-controller` |
| `snapshotOperator.controller.imageTag` | Docker Image Tag for Snapshot Controller | `0.6.0` |
| `snapshotOperator.replicas` | Number of Snapshot Operator Replicas | `1` |
| `jiva.image` | Docker Image for Jiva | `openebs/jiva` |
| `jiva.imageTag` | Docker Image Tag for Jiva | `0.6.0` |
| `jiva.replicas` | Number of Jiva Replicas | `3` |
| `jiva.replicaNodeSelector.enabled` | Enable scheduling replicas with node selector | `false` |
| `jiva.replicaNodeSelector.value` | node labels assigned to replica pods | `nodetype=storage` |
| Parameter | Description | Default |
| ----------------------------------------| --------------------------------------------- | ----------------------------------------- |
| `rbac.create` | Enable RBAC Resources | `true` |
| `image.pullPolicy` | Container pull policy | `IfNotPresent` |
| `apiserver.image` | Docker Image for API Server | `quay.io/openebs/m-apiserver` |
| `apiserver.imageTag` | Docker Image Tag for API Server | `0.7.1` |
| `apiserver.replicas` | Number of API Server Replicas | `1` |
| `provisioner.image` | Docker Image for Provisioner | `quay.io/openebs/openebs-k8s-provisioner` |
| `provisioner.imageTag` | Docker Image Tag for Provisioner | `0.7.1` |
| `provisioner.replicas` | Number of Provisioner Replicas | `1` |
| `snapshotOperator.provisioner.image` | Docker Image for Snapshot Provisioner | `quay.io/openebs/snapshot-provisioner` |
| `snapshotOperator.provisioner.imageTag` | Docker Image Tag for Snapshot Provisioner | `0.7.1` |
| `snapshotOperator.controller.image` | Docker Image for Snapshot Controller | `quay.io/openebs/snapshot-controller` |
| `snapshotOperator.controller.imageTag` | Docker Image Tag for Snapshot Controller | `0.7.1` |
| `snapshotOperator.replicas` | Number of Snapshot Operator Replicas | `1` |
| `ndm.image` | Docker Image for Node Disk Manager | `quay.io/openebs/openebs/node-disk-manager-amd64` |
| `ndm.imageTag` | Docker Image Tag for Node Disk Manager | `v0.2.0` |
| `ndm.sparse.enabled` | Create Sparse files and cStor Sparse Pool | `true` |
| `ndm.sparse.path` | Directory where Sparse files are created | `/var/openebs/sparse` |
| `ndm.sparse.size` | Size of the sparse file in bytes | `10737418240` |
| `ndm.sparse.count` | Number of sparse files to be created | `1` |
| `ndm.sparse.filters.excludeVendors` | Exclude devices with specified vendor | `CLOUDBYT,OpenEBS` |
| `ndm.sparse.filters.excludePaths` | Exclude devices with specified path patterns | `loop,fd0,sr0,/dev/ram,/dev/dm-` |
| `jiva.image` | Docker Image for Jiva | `quay.io/openebs/jiva` |
| `jiva.imageTag` | Docker Image Tag for Jiva | `0.7.1` |
| `jiva.replicas` | Number of Jiva Replicas | `3` |
| `cstor.pool.image` | Docker Image for cStor Pool | `quay.io/openebs/cstor-pool` |
| `cstor.pool.imageTag` | Docker Image Tag for cStor Pool | `0.7.1` |
| `cstor.poolMgmt.image` | Docker Image for cStor Pool Management | `quay.io/openebs/cstor-pool-mgmt` |
| `cstor.poolMgmt.imageTag` | Docker Image Tag for cStor Pool Management | `0.7.1` |
| `cstor.target.image` | Docker Image for cStor Target | `quay.io/openebs/cstor-istgt` |
| `cstor.target.imageTag` | Docker Image Tag for cStor Target | `0.7.1` |
| `cstor.volumeMgmt.image` | Docker Image for cStor Volume Management | `quay.io/openebs/cstor-volume-mgmt` |
| `cstor.volumeMgmt.imageTag` | Docker Image Tag for cStor Volume Management | `0.7.1` |
| `policies.monitoring.image` | Docker Image for Prometheus Exporter | `quay.io/openebs/m-exporter` |
| `policies.monitoring.imageTag` | Docker Image Tag for Prometheus Exporter | `0.7.1` |


Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.

Expand Down
32 changes: 19 additions & 13 deletions stable/openebs/templates/clusterrole.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{{- if .Values.rbac.create }}
apiVersion: rbac.authorization.k8s.io/v1beta1
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: {{ template "openebs.fullname" . }}
Expand All @@ -11,25 +11,31 @@ metadata:
rules:
- apiGroups: ["*"]
resources: ["nodes", "nodes/proxy"]
verbs: ["get","list", "watch", "create", "update"]
- apiGroups: ["*"]
resources: ["namespaces", "services", "pods", "deployments", "events", "endpoints"]
verbs: ["*"]
- apiGroups: ["*"]
resources: ["persistentvolumes", "persistentvolumeclaims"]
verbs: ["*"]
- apiGroups: ["apiextensions.k8s.io"]
resources: ["customresourcedefinitions"]
verbs: [ "get", "list", "create" ]
- apiGroups: ["storage.k8s.io"]
resources: ["storageclasses"]
resources: ["namespaces", "services", "pods", "deployments", "events", "endpoints", "configmaps"]
verbs: ["*"]
- apiGroups: ["*"]
resources: ["storagepools"]
verbs: ["get", "list"]
resources: ["storageclasses", "persistentvolumeclaims", "persistentvolumes"]
verbs: ["*"]
- apiGroups: ["volumesnapshot.external-storage.k8s.io"]
resources: ["volumesnapshots", "volumesnapshotdatas"]
verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]
- apiGroups: ["apiextensions.k8s.io"]
resources: ["customresourcedefinitions"]
verbs: [ "get", "list", "create", "update", "delete"]
- apiGroups: ["*"]
resources: [ "disks"]
verbs: ["*" ]
- apiGroups: ["*"]
resources: [ "storagepoolclaims", "storagepools"]
verbs: ["*" ]
- apiGroups: ["*"]
resources: [ "castemplates", "runtasks"]
verbs: ["*" ]
- apiGroups: ["*"]
resources: [ "cstorpools", "cstorvolumereplicas", "cstorvolumes"]
verbs: ["*" ]
- nonResourceURLs: ["/metrics"]
verbs: ["get"]
{{- end }}
2 changes: 1 addition & 1 deletion stable/openebs/templates/clusterrolebinding.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{{- if .Values.rbac.create }}
apiVersion: rbac.authorization.k8s.io/v1beta1
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: {{ template "openebs.fullname" . }}
Expand Down
18 changes: 18 additions & 0 deletions stable/openebs/templates/cm-maya-apiserver-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# This is the install related config. It specifies the version of openebs
# components i.e. custom operators that gets installed. This config is
# used by maya-apiserver.
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ template "openebs.fullname" . }}-install-config
labels:
app: {{ template "openebs.name" . }}
chart: {{ template "openebs.chart" . }}
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
component: install-config
data:
install: |
spec:
install:
- version: "0.7.0"
40 changes: 40 additions & 0 deletions stable/openebs/templates/cm-node-disk-manager.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# This is the node-disk-manager related config.
# It can be used to customize the disks probes and filters
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ template "openebs.fullname" . }}-ndm-config
labels:
app: {{ template "openebs.name" . }}
chart: {{ template "openebs.chart" . }}
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
component: ndm-config
data:
# udev-probe is default or primary probe which should be enabled to run ndm
# filterconfigs contails configs of filters - in ther form fo include
# and exclude comma separated strings
node-disk-manager.config: |
probeconfigs:
- key: udev-probe
name: udev probe
state: true
- key: smart-probe
name: smart probe
state: true
filterconfigs:
- key: os-disk-exclude-filter
name: os disk exclude filter
state: true
exclude: "/,/etc/hosts,/boot"
- key: vendor-filter
name: vendor filter
state: true
include: ""
exclude: "{{ .Values.ndm.filters.excludeVendors }}"
- key: path-filter
name: path filter
state: true
include: ""
exclude: "{{ .Values.ndm.filters.excludePaths }}"
---
27 changes: 0 additions & 27 deletions stable/openebs/templates/crd-sp.yaml

This file was deleted.

27 changes: 0 additions & 27 deletions stable/openebs/templates/crd-spc.yaml

This file was deleted.

106 changes: 106 additions & 0 deletions stable/openebs/templates/daemonset-ndm.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
apiVersion: extensions/v1beta1
kind: DaemonSet
metadata:
name: {{ template "openebs.fullname" . }}-ndm
labels:
app: {{ template "openebs.name" . }}
chart: {{ template "openebs.chart" . }}
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
component: ndm
spec:
selector:
matchLabels:
app: {{ template "openebs.name" . }}
release: {{ .Release.Name }}
component: ndm
template:
metadata:
labels:
app: {{ template "openebs.name" . }}
release: {{ .Release.Name }}
component: ndm
spec:
serviceAccountName: {{ template "openebs.serviceAccountName" . }}
hostNetwork: true
containers:
- name: {{ template "openebs.name" . }}-ndm
image: "{{ .Values.ndm.image }}:{{ .Values.ndm.imageTag }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
command:
- /usr/sbin/ndm
- start
securityContext:
privileged: true
env:
# pass hostname as env variable using downward API to the NDM container
- name: NODE_NAME
valueFrom:
fieldRef:
fieldPath: spec.nodeName
{{- if .Values.ndm.sparse }}
{{- if .Values.ndm.sparse.path }}
# specify the directory where the sparse files need to be created.
# if not specified, then sparse files will not be created.
- name: SPARSE_FILE_DIR
value: "{{ .Values.ndm.sparse.path }}"
{{- end }}
{{- if .Values.ndm.sparse.size }}
# Size(bytes) of the sparse file to be created.
- name: SPARSE_FILE_SIZE
value: "{{ .Values.ndm.sparse.size }}"
{{- end }}
{{- if .Values.ndm.sparse.count }}
# Specify the number of sparse files to be created
- name: SPARSE_FILE_COUNT
value: "{{ .Values.ndm.sparse.count }}"
{{- end }}
{{- end }}
volumeMounts:
- name: config
mountPath: /host/node-disk-manager.config
subPath: node-disk-manager.config
readOnly: true
- name: udev
mountPath: /run/udev
- name: procmount
mountPath: /host/mounts
{{- if .Values.ndm.sparse }}
{{- if .Values.ndm.sparse.path }}
- name: sparsepath
mountPath: {{ .Values.ndm.sparse.path }}
{{- end }}
{{- end }}
volumes:
- name: config
configMap:
name: {{ template "openebs.fullname" . }}-ndm-config
- name: udev
hostPath:
path: /run/udev
type: Directory
# mount /proc/1/mounts (mount file of process 1 of host) inside container
# to read which partition is mounted on / path
- name: procmount
hostPath:
path: /proc/1/mounts
{{- if .Values.ndm.sparse }}
{{- if .Values.ndm.sparse.path }}
- name: sparsepath
hostPath:
path: {{ .Values.ndm.sparse.path }}
{{- end }}
{{- end }}
# By default the node-disk-manager will be run on all kubernetes nodes
# If you would like to limit this to only some nodes, say the nodes
# that have storage attached, you could label those node and use
# nodeSelector.
#
# e.g. label the storage nodes with - "openebs.io/nodegroup"="storage-node"
# kubectl label node <node-name> "openebs.io/nodegroup"="storage-node"
#nodeSelector:
# "openebs.io/nodegroup": "storage-node"
{{- if .Values.ndm.nodeSelector }}
nodeSelector:
{{ toYaml .Values.ndm.nodeSelector | indent 8 }}
{{- end }}
Loading

0 comments on commit 5814f32

Please sign in to comment.