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
In the case of NGINX Ingress, we can create a file named minio-vs.yaml
, with the following contents:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: minio
namespace: minio-system
spec:
tls:
rules:
- http:
paths:
- path: /minio/
pathType: Prefix
backend:
service:
name: minio
port:
number: 9000
ingressClassName: nginx
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.