Configure PrimeHub Store
Last updated
Last updated
PrimeHub Store is the central storage for storing PrimeHub files. Many features are based on PrimeHub store to persist, transfer, and load the data.
PrimeHub store selects MinIO as the backend and uses one bucket to store the data. To enable the PrimeHub store, set the store.enabled
to true.
Path | Description | Default Value |
---|---|---|
MinIO is installed if PrimeHub store is enabled. By default, MinIO data are stored in a PVC. However, we have these options to store the data.
Standalone mode: Store data in Kuberentes PVC
AWS S3 gateway: Store data in AWS S3 and use MinIO as gateway
Google Cloud Storage gateway: Store data in Google Cloud Storage and use MinIO as gateway
If minio.persistence.enabled
is true, the MinIO would operate as standalone mode and one PVC is created. Here is the example for standalone mode:
As the MinIO is installed, the bucket is also created automatically.
According to MinIO S3 Gateway, prepare the AWS S3 bucket before installation.
Choose an existing bucket or create a bucket from Amazon S3 console
Create an IAM user and get accessKey
and secretKey
Attach the user with AWS S3 permissions policies
Here is the example for AWS S3:
MinIO also supports to use s3 gateway to connect to Ceph RGW. Here is the example for connecting to Ceph RGW by Rook.
According to MinIO GCS Gateway, prepare the GCS bucket before installation.
Choose a existing bucket or create a bucket from Google Cloud Storage console
Here is the example for GCS:
You could export the MinIO web UI to the public domain http://${PRIMEHUB_DOMAIN}/minio
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 maxBodySize
.
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 port-forward
:
PHFS(PrimeHub File System) is the PrimeHub store based group sharing space. The group data is stored under mybucket/groups/<group>
. It also a fundamental building block for group resources.
By default, if the Primehub store is enabled, the PHFS is enabled as well. But we can manually disable PHFS by configuring store.phfs.enabled
as false.
Configuration:
The following components would be installed if PHFS is enabled.
csi-rclone: A CSI implementation for mounting S3-compatible object storage.
primehub store PVC: csi-rclone-provisioned PVC for PrimeHub store. We use it for mounting the MinIO bucket on the user's pod.
Because the default kubelet path for MicroK8s is not /var/lib/kubelet
, we need to configure the kubelet path as follow
Log persistence enables logs to be stored persistently in the PrimeHub store under mybucket/logs
. Currently, only job logs are supported to persist.
By default, if the PrimeHub store is enabled, the log persistence is enabled as well. But we can manually disable log persistence by configuring store.logPersistence.enabled
as false.
The following components would be installed if log persistence is enabled
fluentd: The collector to collect container logs and upload to PrimeHub store.
Path | Description | Default Value |
---|---|---|
Path | Description | Default Value |
---|---|---|
store.enabled
If the PrimeHub store is enabled
false
store.accessKey
The access key for the PrimeHub store
AKIAIOSFODNN7EXAMPLE
store.secretKey
The secret key for the PrimeHub store
wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
store.bucket
The bucket name the PrimeHub store use
primehub
minio.*
The MinIO configuration
Please see the chart configuration
store.phfs.enabled
If PHFS is enabled
true
rclone.*
The rclone configuration
Please see the chart configuration
store.logPersistence.enabled
If the log persistence is enabled
true
fluentd.*
The fluentd configuration
Please see the chart configuration