Minio (S3)
The official chart documentation is here.
Features used
- Standalone
- SSD persistence storage, make sure you have a defined custom storageclass for it.
- Ingress enabled for web access. The certificate should have been generated before the installation.
Fresh install
Use the following yaml
configuration file and save it as dev.yaml
mode: standalonepersistence:enabled: truestorageClass: fast# the size is configurable, generally more is better in# cloud environmentsize: 20Gi# It is kind of username and password# you can use it to login from the web interface and manage filesaccessKey: ANYTHINGYOUWANTsecretKey: ITISASECRET## ingress definition, nginx ingress chart is a prerequisiteingress:enabled: trueannotations:kubernetes.io/ingress.class: nginxnginx.ingress.kubernetes.io/proxy-body-size: 500Mhosts:- something.something.org # change thistls:- secretName: some-secret # change accordinglyhosts:- something.something.org # change this
$_> helm install kubernetes-charts/minio --version 5.0.25 -f dev.yaml --name minio --namespace dictybase
Creating bucket during installation has been skipped, as that sometimes leads to a stuck initcontainer.
So, it's better to create the bucket after the chart is installed.
Upgrade
A simple helm upgrade
should work, however to err on the side of caution, the buckets need to be
backed up.
- Backup to local disk
$_> mc cp -r <server>/<bucket> .
- Upgrade to latest version
$_> helm upgrade minio --namespace dictybase kubernetes-charts/minio --version <version> -f dev.yaml
- In case of missing data, restore it from disk backup
$_> mc mb <server>/<bucket>$_> mc cp -r folder </server>/<bucket>