Keep same name on helm values to re use PVCs - cniackz/public GitHub Wiki

Operator Upgrade:

  • 4.5.8 => 5.0.4

    • HELM

    • ISSUE: Missing Buckets!

https://github.com/minio/operator/blob/master/helm-releases/operator-4.5.8.tgz

Read just if you find useful: https://github.com/cniackz/bash-config

install operator:

helm install \
     --namespace minio-operator \
     --create-namespace minio-operator \
     /Users/cniackz/Downloads/operator-4.5.8

We should see:

$ helm install \
>      --namespace minio-operator \
>      --create-namespace minio-operator \
>      /Users/cniackz/Downloads/operator-4.5.8
NAME: minio-operator
LAST DEPLOYED: Tue May  2 11:12:49 2023
NAMESPACE: minio-operator
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
1. Get the JWT for logging in to the console:
kubectl apply -f - <<EOF
apiVersion: v1
kind: Secret
metadata:
  name: console-sa-secret
  namespace: minio-operator
  annotations:
    kubernetes.io/service-account.name: console-sa
type: kubernetes.io/service-account-token
EOF
kubectl -n minio-operator  get secret console-sa-secret -o jsonpath="{.data.token}" | base64 --decode

2. Get the Operator Console URL by running these commands:
  kubectl --namespace minio-operator port-forward svc/console 9090:9090
  echo "Visit the Operator Console at http://127.0.0.1:9090"

listing:

helm list -n minio-operator

$ helm list -n minio-operator
NAME          	NAMESPACE     	REVISION	UPDATED                             	STATUS  	CHART         	APP VERSION
minio-operator	minio-operator	1       	2023-05-02 11:12:49.956388 -0400 EDT	deployed	operator-4.5.8	v4.5.8  

install tenant:

helm install \
  --namespace tenant-ns \
  --create-namespace tenant-ns \
  /Users/cniackz/Downloads/tenant-4.5.8

Expected:

$ helm install \
>   --namespace tenant-ns \
>   --create-namespace tenant-ns \
>   /Users/cniackz/Downloads/tenant-4.5.8
NAME: tenant-ns
LAST DEPLOYED: Tue May  2 11:15:34 2023
NAMESPACE: tenant-ns
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
To connect to the minio1 tenant if it doesn't have a service exposed, you can port-forward to it by running:

  kubectl --namespace tenant-ns port-forward svc/minio1-console 9443:9443

  Then visit the MinIO Console at https://127.0.0.1:9443

Name is: minio1

It is coming from the values.yaml

## MinIO Tenant Definition
tenant:
  # Tenant name
  name: minio1
  • We removed Logs from Tenant Spec as is alredy deprecated

  • We removed Prometheus as well a.k.a Monitoring because same reason, deprecated

  • As WA we removed old deployments and old statefulset for logs.

  • After some time and restart of operator pods, we end up finally having tenant initialized and we put a bucket and an object

$ k get tenant -n tenant-ns
NAME     STATE         AGE
minio1   Initialized   6m30s

UPGRADE PROCESS:

  1. Upgrade Operator:
helm upgrade \
     --namespace minio-operator \
     minio-operator /Users/cniackz/Downloads/operator-5.0.4

Expected:

$ helm upgrade \
>      --namespace minio-operator \
>      minio-operator /Users/cniackz/Downloads/operator-5.0.4
Release "minio-operator" has been upgraded. Happy Helming!
NAME: minio-operator
LAST DEPLOYED: Tue May  2 11:25:19 2023
NAMESPACE: minio-operator
STATUS: deployed
REVISION: 2
TEST SUITE: None
NOTES:
1. Get the JWT for logging in to the console:
kubectl apply -f - <<EOF
apiVersion: v1
kind: Secret
metadata:
  name: console-sa-secret
  namespace: minio-operator
  annotations:
    kubernetes.io/service-account.name: console-sa
type: kubernetes.io/service-account-token
EOF
kubectl -n minio-operator  get secret console-sa-secret -o jsonpath="{.data.token}" | base64 --decode

2. Get the Operator Console URL by running these commands:
  kubectl --namespace minio-operator port-forward svc/console 9090:9090
  echo "Visit the Operator Console at http://127.0.0.1:9090"

helm list -n minio-operator

$ helm list -n minio-operator
NAME          	NAMESPACE     	REVISION	UPDATED                             	STATUS  	CHART         	APP VERSION
minio-operator	minio-operator	2       	2023-05-02 11:25:19.840936 -0400 EDT	deployed	operator-5.0.4	v5.0.4     

UPGRADE TENANT PROCESS:

## MinIO Tenant Definition
tenant:
  # Tenant name
  name: minio1
  • We change the name only:
## MinIO Tenant Definition
tenant:
  # Tenant name
  name: minio1 <-------------------------------------------------- To re-use existing PVCs.
  ## Registry location and Tag to download MinIO Server image
  image:
    repository: quay.io/minio/minio
    tag: RELEASE.2023-04-20T17-56-55Z
    pullPolicy: IfNotPresent

helm list -n tenant-ns

$ helm list -n tenant-ns
NAME     	NAMESPACE	REVISION	UPDATED                             	STATUS  	CHART       	APP VERSION
tenant-ns	tenant-ns	1       	2023-05-02 11:15:34.940651 -0400 EDT	deployed	tenant-4.5.8	v4.5.8    

helm upgrade --namespace tenant-ns tenant-ns /Users/cniackz/Downloads/tenant-5.0.4

$ helm upgrade --namespace tenant-ns tenant-ns /Users/cniackz/Downloads/tenant-5.0.4
Release "tenant-ns" has been upgraded. Happy Helming!
NAME: tenant-ns
LAST DEPLOYED: Tue May  2 11:35:59 2023
NAMESPACE: tenant-ns
STATUS: deployed
REVISION: 2
TEST SUITE: None
NOTES:
To connect to the minio1 tenant if it doesn't have a service exposed, you can port-forward to it by running:

  kubectl --namespace tenant-ns port-forward svc/minio1-console 9443:9443

  Then visit the MinIO Console at https://127.0.0.1:9443


helm list -n tenant-ns

$ helm list -n tenant-ns
NAME     	NAMESPACE	REVISION	UPDATED                             	STATUS  	CHART       	APP VERSION
tenant-ns	tenant-ns	2       	2023-05-02 11:35:59.591084 -0400 EDT	deployed	tenant-5.0.4	v5.0.4