How to install MinIO in OpenShift - cniackz/public GitHub Wiki

Cluster:

Uninstall

  1. Delete Tenant
oc delete -f /Users/cniackz/tenant.yaml
  1. Uninstall MinIO Operator from Operator > Installed Operators

  2. Uninstall DirectPV

kubectl directpv uninstall

Install

  1. Install DirectPV:
kubectl directpv install
oc adm policy add-scc-to-user privileged -n directpv -z builder
oc adm policy add-scc-to-user privileged -n directpv -z default
oc adm policy add-scc-to-user privileged -n directpv -z deployer
oc adm policy add-scc-to-user privileged -n directpv -z directpv-min-io
echo "permission added"
  1. Install Operator from OperatorHub

  2. Install Tenant

oc apply -f /Users/cniackz/tenant.yaml
  1. Wait for 5 minutes, from 11:20 pm to 11:25 pm for example.

Routes:

Tenant:

apiVersion: v1
kind: Namespace
metadata:
  name: tenant-lite
---
apiVersion: v1
stringData:
  config.env: |-
    export MINIO_BROWSER="on"
    export MINIO_ROOT_USER="SNVADNWZ45XLJCYY"
    export MINIO_ROOT_PASSWORD="HMLRAXIVIAATDCGHZ4YFMZSKOCJJA4T4"
    export MINIO_STORAGE_CLASS_STANDARD="EC:3"
kind: Secret
metadata:
  labels:
    v1.min.io/tenant: celis
  name: celis-env-configuration
  namespace: celis
---
apiVersion: v1
data:
  CONSOLE_ACCESS_KEY: QlFERjBXcWtsSDdjczZDSg==
  CONSOLE_SECRET_KEY: bkdXb2FxajM5Njg3bWI3SzR5SVRrdDV2NHE5ckpVRFo=
immutable: true
kind: Secret
metadata:
  labels:
    v1.min.io/tenant: celis
  name: celis-user-0
  namespace: celis
---
apiVersion: v1
items:
- apiVersion: minio.min.io/v2
  kind: Tenant
  metadata:
    name: celis
    namespace: celis
  scheduler:
    name: ""
  spec:
    configuration:
      name: celis-env-configuration
    credsSecret:
      name: celis-secret
    exposeServices:
      console: true
      minio: true
    image: minio/minio:RELEASE.2024-01-18T22-51-28Z
    mountPath: /export
    pools:
    - affinity:
        podAntiAffinity:
          requiredDuringSchedulingIgnoredDuringExecution:
          - labelSelector:
              matchExpressions:
              - key: v1.min.io/tenant
                operator: In
                values:
                - celis
              - key: v1.min.io/pool
                operator: In
                values:
                - pool-0
            topologyKey: kubernetes.io/hostname
      name: pool-0
      runtimeClassName: ""
      securityContext:
        runAsGroup: 0
        runAsNonRoot: false
        runAsUser: 0
      servers: 3
      volumeClaimTemplate:
        metadata:
          name: data
        spec:
          accessModes:
          - ReadWriteOnce
          resources:
            requests:
              storage: "1789569706"
          storageClassName: directpv-min-io
      volumesPerServer: 2
    requestAutoCert: true
    users:
    - name: celis-user-0
kind: List
metadata:
  resourceVersion: ""