From 082e9eef2c3972fa0491ee33afb56fcecc29dd88 Mon Sep 17 00:00:00 2001 From: Miguel Ruiz Date: Fri, 10 Sep 2021 08:28:09 +0200 Subject: [PATCH] [bitnami/minio] Major release (#7344) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * [bitnami/minio] Major release * Update README.md * Fix metadata * Update README.md * Add missing nodePorts.* * Update bitnami/minio/README.md Co-authored-by: Alejandro Moreno * [bitnami/minio] Update components versions Signed-off-by: Bitnami Containers Co-authored-by: Carlos Rodríguez Hernández Co-authored-by: Alejandro Moreno Co-authored-by: Bitnami Containers --- bitnami/minio/Chart.yaml | 2 +- bitnami/minio/README.md | 22 ++++++++++++++---- bitnami/minio/ci/values-production.yaml | 2 +- bitnami/minio/templates/NOTES.txt | 8 +++---- .../templates/distributed/headless-svc.yaml | 9 +++++--- .../templates/distributed/statefulset.yaml | 13 +++++++---- .../minio/templates/gateway/deployment.yaml | 7 ++++-- bitnami/minio/templates/networkpolicy.yaml | 2 +- bitnami/minio/templates/service.yaml | 16 +++++++++---- bitnami/minio/templates/servicemonitor.yaml | 2 +- .../templates/standalone/deployment.yaml | 13 +++++++---- bitnami/minio/values.yaml | 23 +++++++++++++------ 12 files changed, 81 insertions(+), 38 deletions(-) diff --git a/bitnami/minio/Chart.yaml b/bitnami/minio/Chart.yaml index 3c94fb5abe..463f1517ad 100644 --- a/bitnami/minio/Chart.yaml +++ b/bitnami/minio/Chart.yaml @@ -25,4 +25,4 @@ name: minio sources: - https://github.com/bitnami/bitnami-docker-minio - https://min.io -version: 7.3.3 +version: 8.0.0 diff --git a/bitnami/minio/README.md b/bitnami/minio/README.md index 17054671df..6d04e7e2a7 100644 --- a/bitnami/minio/README.md +++ b/bitnami/minio/README.md @@ -118,7 +118,8 @@ The command removes all the Kubernetes components associated with the chart and | `statefulset.zones` | Number of zones (only for MinIO® distributed mode) | `1` | | `statefulset.drivesPerNode` | Number of drives attached to every node (only for MinIO® distributed mode) | `1` | | `hostAliases` | MinIO® pod host aliases | `[]` | -| `containerPort` | MinIO® container port to open | `9000` | +| `containerPorts.api` | MinIO® container port to open for MinIO® API | `9000` | +| `containerPorts.console` | MinIO® container port to open for MinIO® Console | `9001` | | `podSecurityContext.enabled` | Enable pod Security Context | `true` | | `podSecurityContext.fsGroup` | Group ID for the container | `1001` | | `containerSecurityContext.enabled` | Enable container Security Context | `true` | @@ -168,8 +169,10 @@ The command removes all the Kubernetes components associated with the chart and | Name | Description | Value | | ---------------------------------- | ----------------------------------------------------------------------------------------------------------- | ------------------------ | | `service.type` | MinIO® service type | `ClusterIP` | -| `service.port` | MinIO® service port | `9000` | -| `service.nodePort` | Specify the nodePort value for the LoadBalancer and NodePort service types | `""` | +| `service.ports.api` | MinIO® API service port | `9000` | +| `service.ports.console` | MinIO® Console service port | `9001` | +| `service.nodePorts.api` | Specify the MinIO® API nodePort value for the LoadBalancer and NodePort service types | `""` | +| `service.nodePorts.console` | Specify the MinIO® Console nodePort value for the LoadBalancer and NodePort service types | `""` | | `service.loadBalancerIP` | loadBalancerIP if service type is `LoadBalancer` (optional, cloud specific) | `""` | | `service.loadBalancerSourceRanges` | Addresses that are allowed when service is LoadBalancer | `[]` | | `service.externalTrafficPolicy` | Enable client source IP preservation | `Cluster` | @@ -180,7 +183,7 @@ The command removes all the Kubernetes components associated with the chart and | `ingress.hostname` | Default host for the ingress resource | `minio.local` | | `ingress.path` | The Path to MinIO®. You may need to set this to '/*' in order to use this with ALB ingress controllers. | `/` | | `ingress.pathType` | Ingress path type | `ImplementationSpecific` | -| `ingress.servicePort` | Service port to be used | `minio` | +| `ingress.servicePort` | Service port to be used | `minio-console` | | `ingress.annotations` | Ingress annotations | `{}` | | `ingress.tls` | Enable TLS configuration for the hostname defined at `ingress.hostname` parameter | `false` | | `ingress.extraHosts` | The list of additional hostnames to be covered with this ingress record. | `[]` | @@ -474,6 +477,17 @@ Find more information about how to deal with common errors related to Bitnami's ## Upgrading +### To 8.0.0 + +This version updates MinIO® after some major changes, affecting its Web UI. MinIO® has replaced its MinIO® Browser with the MinIO® Console, and Web UI has been moved to a separated port. As a result the following variables have been affected: +- `.Values.service.port` has been slit into `.Values.service.ports.api` (default: 9000) and `.Values.service.ports.console` (default: 9001). +- `.Values.containerPort` has been slit into `.Values.containerPorts.api` (default: 9000) and `.Values.containerPort.console` (default: 9001). +- `.Values.service.nodePort`has been slit into `.Values.nodePorts.api` and `.Values.nodePorts.console`. +- Service port `minio` has been replaced with `minio-api` and `minio-console` with target ports minio-api and minio-console respectively. +- Liveness, readiness and startup probes now use port `minio-console` instead of `minio`. + +Please note that Web UI, previously running on port 9000 will now use port 9001 leaving port 9000 for the MinIO® Server API. + ### To 7.0.0 This version introduces pod and container securityContext support. The previous configuration of `securityContext` has moved to `podSecurityContext` and `containerSecurityContext`. Apart from this case, no issues are expected to appear when upgrading. diff --git a/bitnami/minio/ci/values-production.yaml b/bitnami/minio/ci/values-production.yaml index b62a18deb3..0922f5f888 100644 --- a/bitnami/minio/ci/values-production.yaml +++ b/bitnami/minio/ci/values-production.yaml @@ -10,7 +10,7 @@ disableWebUI: false podAnnotations: prometheus.io/scrape: "true" - prometheus.io/path: "/minio/prometheus/metric" + prometheus.io/path: "/minio/v2/metrics/cluster" prometheus.io/port: "9000" resources: diff --git a/bitnami/minio/templates/NOTES.txt b/bitnami/minio/templates/NOTES.txt index f25041de1d..c60b8639bb 100644 --- a/bitnami/minio/templates/NOTES.txt +++ b/bitnami/minio/templates/NOTES.txt @@ -49,14 +49,14 @@ To access the MinIO® web UI: NOTE: It may take a few minutes for the LoadBalancer IP to be available. Watch the status with: 'kubectl get svc --namespace {{ .Release.Namespace }} -w {{ include "common.names.fullname" . }}' - {{- $port:=.Values.service.port | toString }} + {{- $port:=.Values.service.ports.console | toString }} export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "common.names.fullname" . }} --template "{{"{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}"}}") - echo "MinIO® web URL: http://$SERVICE_IP{{- if ne $port "80" }}:{{ .Values.service.port }}{{ end }}/minio" + echo "MinIO® web URL: http://$SERVICE_IP{{- if ne $port "80" }}:{{ .Values.service.ports.console }}{{ end }}/minio" {{- else if contains "ClusterIP" .Values.service.type }} - echo "MinIO® web URL: http://127.0.0.1:9000/minio" - kubectl port-forward --namespace {{ .Release.Namespace }} svc/{{ include "common.names.fullname" . }} 9000:{{ .Values.service.port }} + echo "MinIO® web URL: http://127.0.0.1:9001/minio" + kubectl port-forward --namespace {{ .Release.Namespace }} svc/{{ include "common.names.fullname" . }} 9001:{{ .Values.service.ports.console }} {{- else if contains "NodePort" .Values.service.type }} diff --git a/bitnami/minio/templates/distributed/headless-svc.yaml b/bitnami/minio/templates/distributed/headless-svc.yaml index 3b09ad2779..3ed7ef2cfa 100644 --- a/bitnami/minio/templates/distributed/headless-svc.yaml +++ b/bitnami/minio/templates/distributed/headless-svc.yaml @@ -15,9 +15,12 @@ spec: type: ClusterIP clusterIP: None ports: - - name: minio - port: {{ .Values.service.port }} - targetPort: minio + - name: minio-api + port: {{ .Values.service.ports.api }} + targetPort: minio-api + - name: minio-console + port: {{ .Values.service.ports.console }} + targetPort: minio-console publishNotReadyAddresses: true selector: {{- include "common.labels.matchLabels" . | nindent 4 }} {{- end }} diff --git a/bitnami/minio/templates/distributed/statefulset.yaml b/bitnami/minio/templates/distributed/statefulset.yaml index 16b2ac1b57..53f7e2ea79 100644 --- a/bitnami/minio/templates/distributed/statefulset.yaml +++ b/bitnami/minio/templates/distributed/statefulset.yaml @@ -184,14 +184,17 @@ spec: name: {{ include "common.tplvalues.render" (dict "value" .Values.extraEnvVarsSecret "context" $) }} {{- end }} ports: - - name: minio - containerPort: {{ .Values.containerPort }} + - name: minio-api + containerPort: {{ .Values.containerPorts.api }} + protocol: TCP + - name: minio-console + containerPort: {{ .Values.containerPorts.console }} protocol: TCP {{- if .Values.livenessProbe.enabled }} livenessProbe: httpGet: path: /minio/health/live - port: minio + port: minio-console scheme: {{ ternary "HTTPS" "HTTP" .Values.tls.enabled | quote }} initialDelaySeconds: {{ .Values.livenessProbe.initialDelaySeconds }} periodSeconds: {{ .Values.livenessProbe.periodSeconds }} @@ -204,7 +207,7 @@ spec: {{- if .Values.readinessProbe.enabled }} readinessProbe: tcpSocket: - port: minio + port: minio-console initialDelaySeconds: {{ .Values.readinessProbe.initialDelaySeconds }} periodSeconds: {{ .Values.readinessProbe.periodSeconds }} timeoutSeconds: {{ .Values.readinessProbe.timeoutSeconds }} @@ -216,7 +219,7 @@ spec: {{- if .Values.startupProbe.enabled }} startupProbe: tcpSocket: - port: minio + port: minio-console initialDelaySeconds: {{ .Values.startupProbe.initialDelaySeconds }} periodSeconds: {{ .Values.startupProbe.periodSeconds }} timeoutSeconds: {{ .Values.startupProbe.timeoutSeconds }} diff --git a/bitnami/minio/templates/gateway/deployment.yaml b/bitnami/minio/templates/gateway/deployment.yaml index e3e70f8b6a..49b753519f 100644 --- a/bitnami/minio/templates/gateway/deployment.yaml +++ b/bitnami/minio/templates/gateway/deployment.yaml @@ -149,8 +149,11 @@ spec: name: {{ include "common.tplvalues.render" (dict "value" .Values.extraEnvVarsSecret "context" $) }} {{- end }} ports: - - name: minio - containerPort: {{ .Values.containerPort }} + - name: minio-api + containerPort: {{ .Values.containerPorts.api }} + protocol: TCP + - name: minio-console + containerPort: {{ .Values.containerPorts.console }} protocol: TCP {{- if .Values.resources }} resources: {{- toYaml .Values.resources | nindent 12 }} diff --git a/bitnami/minio/templates/networkpolicy.yaml b/bitnami/minio/templates/networkpolicy.yaml index cfc59a74a4..9baf6ffb9b 100644 --- a/bitnami/minio/templates/networkpolicy.yaml +++ b/bitnami/minio/templates/networkpolicy.yaml @@ -17,7 +17,7 @@ spec: ingress: # Allow inbound connections - ports: - - port: {{ .Values.containerPort }} + - port: {{ .Values.containerPorts.console }} {{- if not .Values.networkPolicy.allowExternal }} from: - podSelector: diff --git a/bitnami/minio/templates/service.yaml b/bitnami/minio/templates/service.yaml index 42ce9fcc49..307ef9acd8 100644 --- a/bitnami/minio/templates/service.yaml +++ b/bitnami/minio/templates/service.yaml @@ -29,10 +29,18 @@ spec: {{- end }} ports: - name: minio - port: {{ .Values.service.port }} - targetPort: minio - {{- if and (or (eq .Values.service.type "NodePort") (eq .Values.service.type "LoadBalancer")) (not (empty .Values.service.nodePort)) }} - nodePort: {{ .Values.service.nodePort }} + port: {{ .Values.service.ports.api }} + targetPort: minio-api + {{- if and (or (eq .Values.service.type "NodePort") (eq .Values.service.type "LoadBalancer")) (not (empty .Values.service.nodePorts.api)) }} + nodePort: {{ .Values.service.nodePorts.api }} + {{- else if eq .Values.service.type "ClusterIP" }} + nodePort: null + {{- end }} + - name: minio-console + port: {{ .Values.service.ports.console }} + targetPort: minio-console + {{- if and (or (eq .Values.service.type "NodePort") (eq .Values.service.type "LoadBalancer")) (not (empty .Values.service.nodePorts.console)) }} + nodePort: {{ .Values.service.nodePorts.console }} {{- else if eq .Values.service.type "ClusterIP" }} nodePort: null {{- end }} diff --git a/bitnami/minio/templates/servicemonitor.yaml b/bitnami/minio/templates/servicemonitor.yaml index 4fcc86620f..50c61959bc 100644 --- a/bitnami/minio/templates/servicemonitor.yaml +++ b/bitnami/minio/templates/servicemonitor.yaml @@ -20,7 +20,7 @@ metadata: {{- end }} spec: endpoints: - - port: minio + - port: minio-console path: {{ .Values.metrics.serviceMonitor.path }} {{- if .Values.metrics.serviceMonitor.interval }} interval: {{ .Values.metrics.serviceMonitor.interval }} diff --git a/bitnami/minio/templates/standalone/deployment.yaml b/bitnami/minio/templates/standalone/deployment.yaml index 938f58c57c..dc0859467f 100644 --- a/bitnami/minio/templates/standalone/deployment.yaml +++ b/bitnami/minio/templates/standalone/deployment.yaml @@ -146,14 +146,17 @@ spec: name: {{ include "common.tplvalues.render" (dict "value" .Values.extraEnvVarsSecret "context" $) }} {{- end }} ports: - - name: minio - containerPort: {{ .Values.containerPort }} + - name: minio-api + containerPort: {{ .Values.containerPorts.api }} + protocol: TCP + - name: minio-console + containerPort: {{ .Values.containerPorts.console }} protocol: TCP {{- if .Values.livenessProbe.enabled }} livenessProbe: httpGet: path: /minio/health/live - port: minio + port: minio-console scheme: {{ ternary "HTTPS" "HTTP" .Values.tls.enabled | quote }} initialDelaySeconds: {{ .Values.livenessProbe.initialDelaySeconds }} periodSeconds: {{ .Values.livenessProbe.periodSeconds }} @@ -166,7 +169,7 @@ spec: {{- if .Values.readinessProbe.enabled }} readinessProbe: tcpSocket: - port: minio + port: minio-console initialDelaySeconds: {{ .Values.readinessProbe.initialDelaySeconds }} periodSeconds: {{ .Values.readinessProbe.periodSeconds }} timeoutSeconds: {{ .Values.readinessProbe.timeoutSeconds }} @@ -178,7 +181,7 @@ spec: {{- if .Values.startupProbe.enabled }} startupProbe: tcpSocket: - port: minio + port: minio-console initialDelaySeconds: {{ .Values.startupProbe.initialDelaySeconds }} periodSeconds: {{ .Values.startupProbe.periodSeconds }} timeoutSeconds: {{ .Values.startupProbe.timeoutSeconds }} diff --git a/bitnami/minio/values.yaml b/bitnami/minio/values.yaml index 2f844966d9..cd71cc9da7 100644 --- a/bitnami/minio/values.yaml +++ b/bitnami/minio/values.yaml @@ -213,9 +213,12 @@ statefulset: ## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/ ## hostAliases: [] -## @param containerPort MinIO® container port to open +## @param containerPorts.api MinIO® container port to open for MinIO® API +## @param containerPorts.console MinIO® container port to open for MinIO® Console ## -containerPort: 9000 +containerPorts: + api: 9000 + console: 9001 ## MinIO® pod Security Context ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod ## @param podSecurityContext.enabled Enable pod Security Context @@ -396,13 +399,19 @@ service: ## @param service.type MinIO® service type ## type: ClusterIP - ## @param service.port MinIO® service port + ## @param service.ports.api MinIO® API service port + ## @param service.ports.console MinIO® Console service port ## - port: 9000 - ## @param service.nodePort Specify the nodePort value for the LoadBalancer and NodePort service types + ports: + api: 9000 + console: 9001 + ## @param service.nodePorts.api Specify the MinIO® API nodePort value for the LoadBalancer and NodePort service types + ## @param service.nodePorts.console Specify the MinIO® Console nodePort value for the LoadBalancer and NodePort service types ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport ## - nodePort: "" + nodePorts: + api: "" + console: "" ## @param service.loadBalancerIP loadBalancerIP if service type is `LoadBalancer` (optional, cloud specific) ## ref: http://kubernetes.io/docs/user-guide/services/#type-loadbalancer ## @@ -449,7 +458,7 @@ ingress: ## @param ingress.servicePort Service port to be used ## Default is http. Alternative is https. ## - servicePort: minio + servicePort: minio-console ## @param ingress.annotations Ingress annotations ## For a full list of possible ingress annotations, please see ## ref: https://github.com/kubernetes/ingress-nginx/blob/master/docs/user-guide/nginx-configuration/annotations.md