Minio

This page provides steps for installing minio.

Installation of Minio

We suggest to install with the minio helm chart.

MINIOUSER=minioadmin
MINIOPASSWORD=minioadmin

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

Finally, we create VirtualService named minio-vs.yaml

cat << EOF > ./minio-vs.yaml
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
EOF

and apply it with

kubectl apply -f minio-vs.yaml

Per Namespace Setup

See the Argo section for additional per-namespace setup for batch jobs. The secret suggested there can also be used for models.

Verify Install

You can go to /minio/ from the istio ingress endpoint (the external ip/host of istio-ingressgateway in istio-system namespace) and login 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.