MinIO

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

To install the MinIO operator, follow these steps:

  1. Add the MinIO repository to your local Helm configuration by running this Helm command:

    helm repo add minio https://operator.min.io/
    helm repo update
  2. Install the MinIO operator in your Aizen installation by running this Helm command:

    helm -n aizen-infra install aizen-minio-operator minio/operator --version 5.0.15
  3. Copy the contents below to a file named minio_values.yaml, and change the storage class name from standard to the storage class name that is defined in your Kubernetes cluster.

    Contents of minio_values.yaml:

    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
  4. Deploy the MinIO Tenant by running this Helm command:

    helm -n aizen-infra install aizen-tenant --values minio_values.yaml  minio/tenant --version 5.0.15
  5. Check the deployment status of all the infrastructure components, including the MinIO operator, by running this command:

    kubectl -n aizen-infra get pods

    If any of the components are not in a Running state, see Installation Issues.

Create a bucket in MinIO for MLflow (mlflow-artifacts).

  1. Run the MinIO Client (mc) as a container pod by running these commands:

    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
  2. To create a bucket in MinIO for MLflow, run this command:

    mc mb az/mlflow-artifacts
    exit

Last updated