[bitnami/minio] Add updateStrategy parameter for deployment mode

This commit is contained in:
tompizmor
2019-10-25 15:47:35 +02:00
parent bd5beef17d
commit da53148121
5 changed files with 41 additions and 3 deletions
+1 -1
View File
@@ -1,5 +1,5 @@
apiVersion: v1 apiVersion: v1
version: 2.0.1 version: 2.1.0
appVersion: 2019.10.2 appVersion: 2019.10.2
description: MinIO is an object storage server, compatible with Amazon S3 cloud storage service, mainly used for storing unstructured data (such as photos, videos, log files, etc.) description: MinIO is an object storage server, compatible with Amazon S3 cloud storage service, mainly used for storing unstructured data (such as photos, videos, log files, etc.)
keywords: keywords:
+12 -1
View File
@@ -71,13 +71,14 @@ The following table lists the configurable parameters of the MinIO chart and the
| `volumePermissions.enabled` | Enable init container that changes volume permissions in the data directory (for cases where the default k8s `runAsUser` and `fsUser` values do not work) | `false` | | `volumePermissions.enabled` | Enable init container that changes volume permissions in the data directory (for cases where the default k8s `runAsUser` and `fsUser` values do not work) | `false` |
| `volumePermissions.image.registry` | Init container volume-permissions image registry | `docker.io` | | `volumePermissions.image.registry` | Init container volume-permissions image registry | `docker.io` |
| `volumePermissions.image.repository` | Init container volume-permissions image name | `bitnami/minideb` | | `volumePermissions.image.repository` | Init container volume-permissions image name | `bitnami/minideb` |
| `volumePermissions.image.tag` | Init container volume-permissions image tag | `stretch` | | `volumePermissions.image.tag` | Init container volume-permissions image tag | `stretch` |
| `volumePermissions.image.pullPolicy` | Init container volume-permissions image pull policy | `Always` | | `volumePermissions.image.pullPolicy` | Init container volume-permissions image pull policy | `Always` |
| `volumePermissions.resources` | Init container resource requests/limit | `nil` | | `volumePermissions.resources` | Init container resource requests/limit | `nil` |
| `mode` | MinIO server mode (`standalone` or `distributed`) | `standalone` | | `mode` | MinIO server mode (`standalone` or `distributed`) | `standalone` |
| `statefulset.replicaCount` | Number of pods (only for Minio distributed mode). Should be 4 <= x <= 32 | `4` | | `statefulset.replicaCount` | Number of pods (only for Minio distributed mode). Should be 4 <= x <= 32 | `4` |
| `statefulset.updateStrategy` | Statefulset update strategy policy | `RollingUpdate` | | `statefulset.updateStrategy` | Statefulset update strategy policy | `RollingUpdate` |
| `statefulset.podManagementpolicy` | Statefulset pods management policy | `Parallel` | | `statefulset.podManagementpolicy` | Statefulset pods management policy | `Parallel` |
| `deployment.updateStrategy` | Deployment update strategy policy | `Recreate` |
| `existingSecret` | Existing secret with MinIO credentials | `nil` | | `existingSecret` | Existing secret with MinIO credentials | `nil` |
| `useCredentialsFile` | Have the secret mounted as a file instead of env vars | `false` | | `useCredentialsFile` | Have the secret mounted as a file instead of env vars | `false` |
| `accessKey.password` | MinIO Access Key. Ignored if existing secret is provided. | _random 10 character alphanumeric string_ | | `accessKey.password` | MinIO Access Key. Ignored if existing secret is provided. | _random 10 character alphanumeric string_ |
@@ -205,6 +206,16 @@ This chart includes a `values-production.yaml` file where you can find some para
+ networkPolicy.allowExternal: false + networkPolicy.allowExternal: false
``` ```
- Set deployment updateStrategy to RollingUpdate:
```diff
- deployment:
- updateStrategy:
- type: Recreate
+ deployment:
+ updateStrategy:
+ type: RollingUpdate
```
### Distributed mode ### Distributed mode
You can start the MinIO chart in distributed mode with the following parameter: `mode=distributed` You can start the MinIO chart in distributed mode with the following parameter: `mode=distributed`
@@ -9,6 +9,9 @@ metadata:
app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/managed-by: {{ .Release.Service }}
spec: spec:
{{- if .Values.deployment.updateStrategy }}
strategy: {{ toYaml .Values.deployment.updateStrategy | nindent 4 }}
{{- end }}
selector: selector:
matchLabels: matchLabels:
app.kubernetes.io/name: {{ include "minio.name" . }} app.kubernetes.io/name: {{ include "minio.name" . }}
+13 -1
View File
@@ -76,6 +76,18 @@ volumePermissions:
## ##
mode: distributed mode: distributed
deployment:
## Set to Recreate if you use persistent volume that cannot be mounted by more than one pods to makesure the pods is destroyed first.
## ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy
## Example:
## updateStrategy:
## type: RollingUpdate
## rollingUpdate:
## maxSurge: 25%
## maxUnavailable: 25%
updateStrategy:
type: RollingUpdate
statefulset: statefulset:
## Update strategy, can be set to RollingUpdate or OnDelete by default. ## Update strategy, can be set to RollingUpdate or OnDelete by default.
## ref: https://kubernetes.io/docs/tutorials/stateful-application/basic-stateful-set/#updating-statefulsets ## ref: https://kubernetes.io/docs/tutorials/stateful-application/basic-stateful-set/#updating-statefulsets
@@ -274,7 +286,7 @@ ingress:
hosts: hosts:
- name: minio.local - name: minio.local
path: / path: /
## Set this to true in order to enable TLS on the ingress record ## Set this to true in order to enable TLS on the ingress record
tls: false tls: false
+12
View File
@@ -76,6 +76,18 @@ volumePermissions:
## ##
mode: standalone mode: standalone
deployment:
## Set to Recreate if you use persistent volume that cannot be mounted by more than one pods to makesure the pods is destroyed first.
## ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy
## Example:
## updateStrategy:
## type: RollingUpdate
## rollingUpdate:
## maxSurge: 25%
## maxUnavailable: 25%
updateStrategy:
type: Recreate
statefulset: statefulset:
## Update strategy, can be set to RollingUpdate or OnDelete by default. ## Update strategy, can be set to RollingUpdate or OnDelete by default.
## ref: https://kubernetes.io/docs/tutorials/stateful-application/basic-stateful-set/#updating-statefulsets ## ref: https://kubernetes.io/docs/tutorials/stateful-application/basic-stateful-set/#updating-statefulsets