Install MINIO

MinIO is a Kubernetes native high performance object store with an S3-compatible API. The MinIO operator supports deploying MinIO tenants onto any Kubernetes.

helm repo add minio https://operator.min.io/
helm repo update
helm -n aizen-infra install aizen-minio-operator minio/operator --version 5.0.15

Copy the below contents to a file called, minio_values.yaml file and change the storage classname from standard to storage classname defined in your kubernetes cluster

enabled: false
secrets:
   name: aizen-env-configuration
   accessKey: aizen
   secretKey: aizen@123
tenant:
   name: aizen
   configuration:
     name: aizen-env-configuration
   pools:
     - servers: 1
       name: minio-pool
       volumesPerServer: 1
       size: 50Gi
       storageClassName: standard
   mountPath: /opt/aizen
   subPath: /data
   certificate:
     requestAutoCert: false
   prometheusOperator: false
   logging:
     anonymous: true
     json: true
     quiet: true
   prometheus:
     disabled: true
     diskCapacityGB: 1
     storageClassName: standard
   log:
     disabled: true
     db:
       volumeClaimTemplate:
         spec:
           storageClassName: standard
           accessModes:
             - ReadWriteOnce
           resources:
             requests:
             storage: 1Gi

Deploy to create the tenant

helm -n aizen-infra install aizen-tenant --values minio_values.yaml  minio/tenant --version 5.0.15
kubectl -n aizen-infra get pods

Important

  • Create bucket in S3 or minio for mlflow (mlflow-artifacts)

Run mc client as container pod

kubectl run my-mc -i --tty --image minio/mc:latest --rm --command -- bash
mc --version
mc alias set az http://minio.aizen-infra.svc.cluster.local aizen aizen@123
mc ls az
mc mb az/mlflow-artifacts
exit