Remove minio gateway feature
This commit is contained in:
@@ -197,18 +197,6 @@ The following table lists the configurable parameters of the MinIO chart and the
|
|||||||
| `updatePrometheusJob.securityContext.runAsUser` | User id of the user for the container | `1000` |
|
| `updatePrometheusJob.securityContext.runAsUser` | User id of the user for the container | `1000` |
|
||||||
| `updatePrometheusJob.securityContext.runAsGroup` | Group id of the user for the container | `1000` |
|
| `updatePrometheusJob.securityContext.runAsGroup` | Group id of the user for the container | `1000` |
|
||||||
| `updatePrometheusJob.securityContext.fsGroup` | Group id of the persistent volume mount for the container | `1000` |
|
| `updatePrometheusJob.securityContext.fsGroup` | Group id of the persistent volume mount for the container | `1000` |
|
||||||
| `s3gateway.enabled` | Use MinIO as a [s3 gateway](https://github.com/minio/minio/blob/master/docs/gateway/s3.md) | `false` |
|
|
||||||
| `s3gateway.replicas` | Number of s3 gateway instances to run in parallel | `4` |
|
|
||||||
| `s3gateway.serviceEndpoint` | Endpoint to the S3 compatible service | `""` |
|
|
||||||
| `s3gateway.accessKey` | Access key of S3 compatible service | `""` |
|
|
||||||
| `s3gateway.secretKey` | Secret key of S3 compatible service | `""` |
|
|
||||||
| `azuregateway.enabled` | Use MinIO as an [azure gateway](https://docs.minio.io/docs/minio-gateway-for-azure) | `false` |
|
|
||||||
| `azuregateway.replicas` | Number of azure gateway instances to run in parallel | `4` |
|
|
||||||
| `gcsgateway.enabled` | Use MinIO as a [Google Cloud Storage gateway](https://docs.minio.io/docs/minio-gateway-for-gcs) | `false` |
|
|
||||||
| `gcsgateway.gcsKeyJson` | credential json file of service account key | `""` |
|
|
||||||
| `gcsgateway.projectId` | Google cloud project id | `""` |
|
|
||||||
| `nasgateway.enabled` | Use MinIO as a [NAS gateway](https://docs.MinIO.io/docs/minio-gateway-for-nas) | `false` |
|
|
||||||
| `nasgateway.replicas` | Number of NAS gateway instances to be run in parallel on a PV | `4` |
|
|
||||||
| `environment` | Set MinIO server relevant environment variables in `values.yaml` file. MinIO containers will be passed these variables when they start. | `MINIO_STORAGE_CLASS_STANDARD: EC:4"` |
|
| `environment` | Set MinIO server relevant environment variables in `values.yaml` file. MinIO containers will be passed these variables when they start. | `MINIO_STORAGE_CLASS_STANDARD: EC:4"` |
|
||||||
| `metrics.serviceMonitor.enabled` | Set this to `true` to create ServiceMonitor for Prometheus operator | `false` |
|
| `metrics.serviceMonitor.enabled` | Set this to `true` to create ServiceMonitor for Prometheus operator | `false` |
|
||||||
| `metrics.serviceMonitor.additionalLabels` | Additional labels that can be used so ServiceMonitor will be discovered by Prometheus | `{}` |
|
| `metrics.serviceMonitor.additionalLabels` | Additional labels that can be used so ServiceMonitor will be discovered by Prometheus | `{}` |
|
||||||
@@ -267,30 +255,6 @@ $ helm install --set mode=distributed,replicas=8,zones=2 minio/minio
|
|||||||
1. StatefulSets need persistent storage, so the `persistence.enabled` flag is ignored when `mode` is set to `distributed`.
|
1. StatefulSets need persistent storage, so the `persistence.enabled` flag is ignored when `mode` is set to `distributed`.
|
||||||
2. When uninstalling a distributed MinIO release, you'll need to manually delete volumes associated with the StatefulSet.
|
2. When uninstalling a distributed MinIO release, you'll need to manually delete volumes associated with the StatefulSet.
|
||||||
|
|
||||||
NAS Gateway
|
|
||||||
-----------
|
|
||||||
|
|
||||||
### Prerequisites
|
|
||||||
|
|
||||||
MinIO in [NAS gateway mode](https://docs.minio.io/docs/minio-gateway-for-nas) can be used to create multiple MinIO instances backed by single PV in `ReadWriteMany` mode. Currently few [Kubernetes volume plugins](https://kubernetes.io/docs/user-guide/persistent-volumes/#access-modes) support `ReadWriteMany` mode. To deploy MinIO NAS gateway with Helm chart you'll need to have a Persistent Volume running with one of the supported volume plugins. [This document](https://kubernetes.io/docs/user-guide/volumes/#nfs)
|
|
||||||
outlines steps to create a NFS PV in Kubernetes cluster.
|
|
||||||
|
|
||||||
### Provision NAS Gateway MinIO instances
|
|
||||||
|
|
||||||
To provision MinIO servers in [NAS gateway mode](https://docs.minio.io/docs/minio-gateway-for-nas), set the `nasgateway.enabled` field to `true`,
|
|
||||||
|
|
||||||
```bash
|
|
||||||
$ helm install --set nasgateway.enabled=true minio/minio
|
|
||||||
```
|
|
||||||
|
|
||||||
This provisions 4 MinIO NAS gateway instances backed by single storage. To change the number of instances in your MinIO deployment, set the `replicas` field,
|
|
||||||
|
|
||||||
```bash
|
|
||||||
$ helm install --set nasgateway.enabled=true,nasgateway.replicas=8 minio/minio
|
|
||||||
```
|
|
||||||
|
|
||||||
This provisions MinIO NAS gateway with 8 instances.
|
|
||||||
|
|
||||||
Persistence
|
Persistence
|
||||||
-----------
|
-----------
|
||||||
|
|
||||||
@@ -356,9 +320,6 @@ The following fields are expected in the secret:
|
|||||||
|:---------------------------|:------------------------|:----------------------------------------------------------------------------------|
|
|:---------------------------|:------------------------|:----------------------------------------------------------------------------------|
|
||||||
| `accesskey` | `accessKey` | Access key ID. Mandatory. |
|
| `accesskey` | `accessKey` | Access key ID. Mandatory. |
|
||||||
| `secretkey` | `secretKey` | Secret key. Mandatory. |
|
| `secretkey` | `secretKey` | Secret key. Mandatory. |
|
||||||
| `gcs_key.json` | `gcsgateway.gcsKeyJson` | GCS key if you are using the GCS gateway feature. Optional |
|
|
||||||
| `awsAccessKeyId` | `s3gateway.accessKey` | S3 access key if you are using the S3 gateway feature. Optional |
|
|
||||||
| `awsSecretAccessKey` | `s3gateway.secretKey` | S3 secret key if you are using the S3 gateway feature. Optional |
|
|
||||||
| `etcd_client_cert.pem` | `etcd.clientCert` | Certificate for SSL/TLS connections to etcd. Optional |
|
| `etcd_client_cert.pem` | `etcd.clientCert` | Certificate for SSL/TLS connections to etcd. Optional |
|
||||||
| `etcd_client_cert_key.pem` | `etcd.clientCertKey` | Corresponding key for certificate above. Mandatory when etcd certificate defined. |
|
| `etcd_client_cert_key.pem` | `etcd.clientCertKey` | Corresponding key for certificate above. Mandatory when etcd certificate defined. |
|
||||||
|
|
||||||
|
|||||||
@@ -21,18 +21,6 @@ spec:
|
|||||||
maxSurge: {{ .Values.DeploymentUpdate.maxSurge }}
|
maxSurge: {{ .Values.DeploymentUpdate.maxSurge }}
|
||||||
maxUnavailable: {{ .Values.DeploymentUpdate.maxUnavailable }}
|
maxUnavailable: {{ .Values.DeploymentUpdate.maxUnavailable }}
|
||||||
{{- end}}
|
{{- end}}
|
||||||
{{- if .Values.nasgateway.enabled }}
|
|
||||||
replicas: {{ .Values.nasgateway.replicas }}
|
|
||||||
{{- end }}
|
|
||||||
{{- if .Values.s3gateway.enabled }}
|
|
||||||
replicas: {{ .Values.s3gateway.replicas }}
|
|
||||||
{{- end }}
|
|
||||||
{{- if .Values.azuregateway.enabled }}
|
|
||||||
replicas: {{ .Values.azuregateway.replicas }}
|
|
||||||
{{- end }}
|
|
||||||
{{- if .Values.gcsgateway.enabled }}
|
|
||||||
replicas: {{ .Values.gcsgateway.replicas }}
|
|
||||||
{{- end }}
|
|
||||||
selector:
|
selector:
|
||||||
matchLabels:
|
matchLabels:
|
||||||
app: {{ template "minio.name" . }}
|
app: {{ template "minio.name" . }}
|
||||||
@@ -67,47 +55,19 @@ spec:
|
|||||||
- name: {{ .Chart.Name }}
|
- name: {{ .Chart.Name }}
|
||||||
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
|
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
|
||||||
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
||||||
{{- if .Values.s3gateway.enabled }}
|
|
||||||
command:
|
|
||||||
- "/bin/sh"
|
|
||||||
- "-ce"
|
|
||||||
- "/usr/bin/docker-entrypoint.sh minio -S {{ .Values.certsPath }} gateway s3 {{ .Values.s3gateway.serviceEndpoint }} {{- template "minio.extraArgs" . }}"
|
|
||||||
{{- else }}
|
|
||||||
{{- if .Values.azuregateway.enabled }}
|
|
||||||
command:
|
|
||||||
- "/bin/sh"
|
|
||||||
- "-ce"
|
|
||||||
- "/usr/bin/docker-entrypoint.sh minio -S {{ .Values.certsPath }} gateway azure {{- template "minio.extraArgs" . }}"
|
|
||||||
{{- else }}
|
|
||||||
{{- if .Values.gcsgateway.enabled }}
|
|
||||||
command:
|
|
||||||
- "/bin/sh"
|
|
||||||
- "-ce"
|
|
||||||
- "/usr/bin/docker-entrypoint.sh minio -S {{ .Values.certsPath }} gateway gcs {{ .Values.gcsgateway.projectId }} {{- template "minio.extraArgs" . }}"
|
|
||||||
{{- else }}
|
|
||||||
{{- if .Values.nasgateway.enabled }}
|
|
||||||
command:
|
|
||||||
- "/bin/sh"
|
|
||||||
- "-ce"
|
|
||||||
- "/usr/bin/docker-entrypoint.sh minio -S {{ .Values.certsPath }} gateway nas {{ $bucketRoot }} {{- template "minio.extraArgs" . }}"
|
|
||||||
{{- else }}
|
|
||||||
command:
|
command:
|
||||||
- "/bin/sh"
|
- "/bin/sh"
|
||||||
- "-ce"
|
- "-ce"
|
||||||
- "/usr/bin/docker-entrypoint.sh minio -S {{ .Values.certsPath }} server {{ $bucketRoot }} {{- template "minio.extraArgs" . }}"
|
- "/usr/bin/docker-entrypoint.sh minio -S {{ .Values.certsPath }} server {{ $bucketRoot }} {{- template "minio.extraArgs" . }}"
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
volumeMounts:
|
volumeMounts:
|
||||||
{{- if and .Values.persistence.enabled (not .Values.gcsgateway.enabled) (not .Values.azuregateway.enabled) (not .Values.s3gateway.enabled) }}
|
{{- if .Values.persistence.enabled }}
|
||||||
- name: export
|
- name: export
|
||||||
mountPath: {{ .Values.mountPath }}
|
mountPath: {{ .Values.mountPath }}
|
||||||
{{- if .Values.persistence.subPath }}
|
{{- if .Values.persistence.subPath }}
|
||||||
subPath: "{{ .Values.persistence.subPath }}"
|
subPath: "{{ .Values.persistence.subPath }}"
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if or .Values.gcsgateway.enabled .Values.etcd.clientCert .Values.etcd.clientCertKey }}
|
{{- if or .Values.etcd.clientCert .Values.etcd.clientCertKey }}
|
||||||
- name: minio-user
|
- name: minio-user
|
||||||
mountPath: "/etc/credentials"
|
mountPath: "/etc/credentials"
|
||||||
readOnly: true
|
readOnly: true
|
||||||
@@ -127,10 +87,6 @@ spec:
|
|||||||
secretKeyRef:
|
secretKeyRef:
|
||||||
name: {{ template "minio.secretName" . }}
|
name: {{ template "minio.secretName" . }}
|
||||||
key: secretkey
|
key: secretkey
|
||||||
{{- if and .Values.gcsgateway.enabled .Values.gcsgateway.gcsKeyJson }}
|
|
||||||
- name: GOOGLE_APPLICATION_CREDENTIALS
|
|
||||||
value: "/etc/credentials/gcs_key.json"
|
|
||||||
{{- end }}
|
|
||||||
{{- if .Values.etcd.endpoints }}
|
{{- if .Values.etcd.endpoints }}
|
||||||
- name: MINIO_ETCD_ENDPOINTS
|
- name: MINIO_ETCD_ENDPOINTS
|
||||||
value: {{ join "," .Values.etcd.endpoints | quote }}
|
value: {{ join "," .Values.etcd.endpoints | quote }}
|
||||||
@@ -151,22 +107,6 @@ spec:
|
|||||||
value: {{ .Values.etcd.corednsPathPrefix }}
|
value: {{ .Values.etcd.corednsPathPrefix }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if .Values.s3gateway.enabled -}}
|
|
||||||
{{- if or .Values.s3gateway.accessKey .Values.existingSecret }}
|
|
||||||
- name: AWS_ACCESS_KEY_ID
|
|
||||||
valueFrom:
|
|
||||||
secretKeyRef:
|
|
||||||
name: {{ template "minio.secretName" . }}
|
|
||||||
key: awsAccessKeyId
|
|
||||||
{{- end }}
|
|
||||||
{{- if or .Values.s3gateway.secretKey .Values.existingSecret }}
|
|
||||||
- name: AWS_SECRET_ACCESS_KEY
|
|
||||||
valueFrom:
|
|
||||||
secretKeyRef:
|
|
||||||
name: {{ template "minio.secretName" . }}
|
|
||||||
key: awsSecretAccessKey
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
{{- range $key, $val := .Values.environment }}
|
{{- range $key, $val := .Values.environment }}
|
||||||
- name: {{ $key }}
|
- name: {{ $key }}
|
||||||
value: {{ $val | quote }}
|
value: {{ $val | quote }}
|
||||||
@@ -187,7 +127,6 @@ spec:
|
|||||||
{{ toYaml . | indent 8 }}
|
{{ toYaml . | indent 8 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
volumes:
|
volumes:
|
||||||
{{- if and (not .Values.gcsgateway.enabled) (not .Values.azuregateway.enabled) (not .Values.s3gateway.enabled) }}
|
|
||||||
- name: export
|
- name: export
|
||||||
{{- if .Values.persistence.enabled }}
|
{{- if .Values.persistence.enabled }}
|
||||||
persistentVolumeClaim:
|
persistentVolumeClaim:
|
||||||
@@ -195,7 +134,6 @@ spec:
|
|||||||
{{- else }}
|
{{- else }}
|
||||||
emptyDir: {}
|
emptyDir: {}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
|
||||||
- name: minio-user
|
- name: minio-user
|
||||||
secret:
|
secret:
|
||||||
secretName: {{ template "minio.secretName" . }}
|
secretName: {{ template "minio.secretName" . }}
|
||||||
|
|||||||
@@ -10,11 +10,6 @@ metadata:
|
|||||||
release: {{ .Release.Name }}
|
release: {{ .Release.Name }}
|
||||||
heritage: {{ .Release.Service }}
|
heritage: {{ .Release.Service }}
|
||||||
spec:
|
spec:
|
||||||
{{- if and .Values.nasgateway.enabled .Values.nasgateway.pv }}
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
pv: {{ .Values.nasgateway.pv | quote }}
|
|
||||||
{{- end }}
|
|
||||||
accessModes:
|
accessModes:
|
||||||
- {{ .Values.persistence.accessMode | quote }}
|
- {{ .Values.persistence.accessMode | quote }}
|
||||||
resources:
|
resources:
|
||||||
|
|||||||
@@ -12,17 +12,6 @@ type: Opaque
|
|||||||
data:
|
data:
|
||||||
accesskey: {{ if .Values.accessKey }}{{ .Values.accessKey | toString | b64enc | quote }}{{ else }}{{ randAlphaNum 20 | b64enc | quote }}{{ end }}
|
accesskey: {{ if .Values.accessKey }}{{ .Values.accessKey | toString | b64enc | quote }}{{ else }}{{ randAlphaNum 20 | b64enc | quote }}{{ end }}
|
||||||
secretkey: {{ if .Values.secretKey }}{{ .Values.secretKey | toString | b64enc | quote }}{{ else }}{{ randAlphaNum 40 | b64enc | quote }}{{ end }}
|
secretkey: {{ if .Values.secretKey }}{{ .Values.secretKey | toString | b64enc | quote }}{{ else }}{{ randAlphaNum 40 | b64enc | quote }}{{ end }}
|
||||||
{{- if and .Values.gcsgateway.enabled .Values.gcsgateway.gcsKeyJson }}
|
|
||||||
gcs_key.json: {{ .Values.gcsgateway.gcsKeyJson | toString | b64enc }}
|
|
||||||
{{- end }}
|
|
||||||
{{- if .Values.s3gateway.enabled -}}
|
|
||||||
{{- if .Values.s3gateway.accessKey }}
|
|
||||||
awsAccessKeyId: {{ .Values.s3gateway.accessKey | toString | b64enc | quote }}
|
|
||||||
{{- end }}
|
|
||||||
{{- if .Values.s3gateway.secretKey }}
|
|
||||||
awsSecretAccessKey: {{ .Values.s3gateway.secretKey | toString | b64enc | quote }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
{{- if .Values.etcd.clientCert }}
|
{{- if .Values.etcd.clientCert }}
|
||||||
etcd_client_cert.pem: {{ .Values.etcd.clientCert | toString | b64enc | quote }}
|
etcd_client_cert.pem: {{ .Values.etcd.clientCert | toString | b64enc | quote }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|||||||
@@ -73,9 +73,6 @@ mountPath: "/export"
|
|||||||
## |:----------------------|:-------------------------|
|
## |:----------------------|:-------------------------|
|
||||||
## | accessKey | accesskey |
|
## | accessKey | accesskey |
|
||||||
## | secretKey | secretkey |
|
## | secretKey | secretkey |
|
||||||
## | gcsgateway.gcsKeyJson | gcs_key.json |
|
|
||||||
## | s3gateway.accessKey | awsAccessKeyId |
|
|
||||||
## | s3gateway.secretKey | awsSecretAccessKey |
|
|
||||||
## | etcd.clientCert | etcd_client_cert.pem |
|
## | etcd.clientCert | etcd_client_cert.pem |
|
||||||
## | etcd.clientCertKey | etcd_client_cert_key.pem |
|
## | etcd.clientCertKey | etcd_client_cert_key.pem |
|
||||||
##
|
##
|
||||||
@@ -240,43 +237,6 @@ updatePrometheusJob:
|
|||||||
runAsGroup: 1000
|
runAsGroup: 1000
|
||||||
fsGroup: 1000
|
fsGroup: 1000
|
||||||
|
|
||||||
s3gateway:
|
|
||||||
enabled: false
|
|
||||||
replicas: 4
|
|
||||||
serviceEndpoint: ""
|
|
||||||
accessKey: ""
|
|
||||||
secretKey: ""
|
|
||||||
|
|
||||||
## Use minio as an azure blob gateway, you should disable data persistence so no volume claim are created.
|
|
||||||
## https://docs.minio.io/docs/minio-gateway-for-azure
|
|
||||||
azuregateway:
|
|
||||||
enabled: false
|
|
||||||
# Number of parallel instances
|
|
||||||
replicas: 4
|
|
||||||
|
|
||||||
## Use minio as GCS (Google Cloud Storage) gateway, you should disable data persistence so no volume claim are created.
|
|
||||||
## https://docs.minio.io/docs/minio-gateway-for-gcs
|
|
||||||
|
|
||||||
gcsgateway:
|
|
||||||
enabled: false
|
|
||||||
# Number of parallel instances
|
|
||||||
replicas: 4
|
|
||||||
# credential json file of service account key
|
|
||||||
gcsKeyJson: ""
|
|
||||||
# Google cloud project-id
|
|
||||||
projectId: ""
|
|
||||||
|
|
||||||
## Use minio on NAS backend
|
|
||||||
## https://docs.minio.io/docs/minio-gateway-for-nas
|
|
||||||
|
|
||||||
nasgateway:
|
|
||||||
enabled: false
|
|
||||||
# Number of parallel instances
|
|
||||||
replicas: 4
|
|
||||||
# For NAS Gateway, you may want to bind the PVC to a specific PV. To ensure that happens, PV to bind to should have
|
|
||||||
# a label like "pv: <value>", use value here.
|
|
||||||
pv: ~
|
|
||||||
|
|
||||||
## Use this field to add environment variables relevant to Minio server. These fields will be passed on to Minio container(s)
|
## Use this field to add environment variables relevant to Minio server. These fields will be passed on to Minio container(s)
|
||||||
## when Chart is deployed
|
## when Chart is deployed
|
||||||
environment:
|
environment:
|
||||||
|
|||||||
Reference in New Issue
Block a user