[incubator/mysqlha] Use volumeClaimTemplates.spec.storageClassName (#4175)

* Use volumeClaimTemplates.spec.storageClassName

Instead of using volume.alpha storage class annotation which is
removed(?) in 1.9

* Bump chart version to 0.1.2

* Undefine persistence.storageClass by default

Add example for persistence.storageClass option in values.yaml to better
comply with chart review guidelines.

* mysqlha: Add appVersion to Chart.yaml

appVersion is now a required Chart metadata field, add mysql version to
this field.

* [incubator/mysqlha] Change templating for volumeClaimTemplates

* (Re)add annotations templating

* Change accessModes templating to accept list
  Rename persistence.accessMode to persistence.accessModes to
  reflect this change

* If set persistence.storageClass is set to `-`,
  set storageClassName: "", which disables dynamic provisioning

* [incubator/mysqlha] Swap contents of if/else blocks for volumeClaimTemplates

* Denote that k8s 1.6 is now a requirement in readme

* Add documentation for default provisioner used in Azure

* Bump Chart version to 0.2.0
This commit is contained in:
Andreas Holmsten
2018-05-03 09:33:51 -07:00
committed by k8s-ci-robot
parent 2654d0910c
commit 040cb230b2
4 changed files with 31 additions and 15 deletions
+1 -1
View File
@@ -1,5 +1,5 @@
name: mysqlha
version: 0.1.3
version: 0.2.0
appVersion: 5.7.13
description: MySQL cluster with a single master and zero or more slave replicas
keywords:
+3 -2
View File
@@ -8,7 +8,7 @@ This chart bootstraps a single master and multiple slave MySQL deployment on a [
## Prerequisites
- Kubernetes 1.4+ with Beta APIs enabled
- Kubernetes 1.6+
- PV provisioner support in the underlying infrastructure
## Installing the Chart
@@ -47,7 +47,8 @@ The following table lists the configurable parameters of the MySQL chart and the
| `persistence.enabled` | Create a volume to store data | true |
| `persistence.size` | Size of persistent volume claim | 10Gi |
| `persistence.storageClass` | Type of persistent volume claim | `nil` |
| `persistence.accessMode` | ReadWriteOnce or ReadOnly | ReadWriteOnce |
| `persistence.accessModes` | Persistent volume access modes | `[ReadWriteOnce]` |
| `persistence.annotations` | Persistent volume annotations | `{}` |
| `resources` | CPU/Memory resource requests/limits | Memory: `128Mi`, CPU: `100m` |
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example,
+18 -10
View File
@@ -223,22 +223,30 @@ spec:
name: {{ template "fullname" . }}
- name: scripts
emptyDir: {}
{{- if eq .Values.persistence.enabled false }}
- name: data
emptyDir: {}
{{- end}}
{{- if .Values.persistence.enabled }}
volumeClaimTemplates:
{{- if .Values.persistence.enabled }}
- metadata:
name: data
annotations:
{{- if .Values.persistence.storageClass }}
volume.alpha.kubernetes.io/storage-class: {{ .Values.persistence.storageClass }}
{{- end }}
{{- range $key, $value := .Values.persistence.annotations }}
{{ $key }}: {{ $value }}
{{- end }}
spec:
accessModes:
- {{ .Values.persistence.accessMode | quote }}
{{- range .Values.persistence.accessModes }}
- {{ . | quote }}
{{- end }}
resources:
requests:
storage: {{ .Values.persistence.size | quote }}
{{- end }}
{{- if .Values.persistence.storageClass }}
{{- if (eq "-" .Values.persistence.storageClass) }}
storageClassName: ""
{{- else }}
storageClassName: "{{ .Values.persistence.storageClass }}"
{{- end }}
{{- end }}
{{- else }}
- name: data
emptyDir: {}
{{- end }}
+9 -2
View File
@@ -34,10 +34,17 @@ mysqlha:
##
persistence:
enabled: true
## If defined, volume.beta.kubernetes.io/storage-class: <storageClass>
## If defined, storageClassName: <storageClass>
## If set to "-", storageClassName: "", which disables dynamic provisioning
## If undefined (the default) or set to null, no storageClassName spec is
## set, choosing the default provisioner. (gp2 on AWS, azure-disk on
## Azure, standard on GKE, AWS & OpenStack)
##
accessMode: ReadWriteOnce
# storageClass: "-"
accessModes:
- ReadWriteOnce
size: 10Gi
annotations: {}
resources:
requests: