We build the object store feature with minio. By default, minio installed as the standard mode, it would provision a PV to keep data. The administrator could customize it:
- configure standalone mode
- launch minio as AWS S3 gateway
- launch minio as Google Cloud Storage gateway
All minio configurations at the top level
minio.persistence.enabled is true, the PV would be created. You might set the
size. We take an example in the AWS EC2 use case
minio: persistence: enabled: true storageClass: "gp2" accessMode: ReadWriteOnce size: 1024Gi
AWS S3 Gateway
Refer to minio gateway for s3 prerequisites are:
- Choose an existing bucket or create a bucket from Amazon S3 console
- Create an IAM user and get
- Attach the user with AWS S3 permissions policies
Here is the example for AWS S3:
store: bucket: "the-bucket-your-created" minio: s3gateway: enabled: true accessKey: "[put-your-access-key-id-here]" secretKey: "[put-your-secret-access-key-here]"
store: bucket: "primehub" minio: s3gateway: enabled: true serviceEndpoint: "http://rook-ceph-rgw-object-store.rook" accessKey: "[put-your-access-key-id-here]" secretKey: "[put-your-secret-access-key-here]"
Google Cloud Storage Gateway
Refer to minio gateway for gcs prerequisites are:
- Choose a existing bucket or create a bucket from Google Cloud Storage console
- Create and manage service accounts
- Generate json keyfile
Here is the example for GCS:
store: bucket: "the-bucket-your-created" minio: gcsgateway: enabled: true projectId: "[your-proejct-id]" gcsKeyJson: "[the-content-of-your-json-key-file]"
Access the minio UI
You could export the minio web UI to the public domain
minio: ingress: enabled: true maxBodySize: "8192m"
Enabled ingress would export the handy minio object browser to
/minio path. If you upload a large file and see the message
413 Request Entity Too Large. You could increase the value of
However, the ingress only allows you to use minio UI. If you want to operate object with AWS S3 compatible library outside of the kubernetes, do it with
kubectl -n hub port-forward service/primehub-minio 9000