MinIO

Installation of MinIO

We suggest installing MinIO via the official Helm chart.

MINIOUSER=[email protected]
MINIOPASSWORD=12341234

kubectl create ns minio-system
helm repo add minio https://helm.min.io/
helm upgrade --install minio minio/minio \
    --set accessKey=${MINIOUSER} \
    --set secretKey=${MINIOPASSWORD} \
    --namespace minio-system

We can then expose MinIO, depending on the ingress controller used:

In the case of Istio, we can create a file named minio-vs.yaml, with the following contents:

apiVersion: networking.istio.io/v1beta1
kind: VirtualService
metadata:
  name: minio
  namespace: minio-system
spec:
  gateways:
    - istio-system/seldon-gateway
  hosts:
    - '*'
  http:
    - match:
        - uri:
            prefix: /minio/
      route:
        - destination:
            host: minio
            port:
              number: 9000

And apply it with:

kubectl apply -f minio-vs.yaml

Per Namespace Setup

Access to MinIO depends on the storage initializer. This needs to be configured per-namespace for batch jobs. The secret suggested there may also be used for models.

Verify Installation

You can go to /minio/ from the ingress endpoint and log in with the credentials used above.

Or you can port-forward:

kubectl port-forward -n minio-system svc/minio 9000:9000

Then go to localhost:9000 in the browser.