Using Minio for S3 Storage in Dev/Test ¶
If you require a new Minio installation
Please follow the installation instructions found here to install the Minio Operator and to create your first tenant.
Create Minio Tenant¶
In our example below we have created a tenant kinetica
in the gpudb
namespace using the Kinetica storage class kinetica-k8s-sample-storageclass
.
or use the minio kubectl plugin
kubectl minio tenant create kinetica --capacity 32Gi --servers 1 --volumes 1 --namespace gpudb --storage-class kinetica-k8s-sample-storageclass --disable-tls
Console Port Forward
Forward the minio console for our newly created tenant
In that tenant we create a bucket kinetica-cold-storage
and in that bucket we create the path gpudb/cold-storage
.
Once you have a tenant up and running we can configure Kinetica for Kubernetes to use it as the DB Cold Storage tier.
Backup/Restore Storage
Minio can also be used as the S3 storage for Velero. This enables Backup/Restore functionality via the KineticaBackup
& KineticaRestore
CRs.
Configuring Kinetica to use Minio¶
Cold Storage¶
In order to configure the Cold Storage Tier for the Database it is necessary to add a coldStorageTier
to the KineticaCluster
CR. As we are using S3 Buckets for storage we then require coldStorageS3
entry which allows us to set the awsSecretAccessKey
& awsAccessKeyId
which were generated when the tenant was created in Minio.
If we look in the gpudb
name space we can see that Minio created a Kubernetes service called minio
exposed on port 443
.
In the coldStorageS3
we need to add an endpoint
field which contains the minio
service name and the namespace gpudb
i.e. minio.gpudb.svc.cluster.local
.
spec:
gpudbCluster:
config:
tieredStorage:
coldStorageTier:
coldStorageType: s3
coldStorageS3:
basePath: gpudb/cold-storage/
bucketName: kinetica-cold-storage
endpoint: minio.gpudb.svc.cluster.local:80
limit: "32Gi"
useHttps: false
useManagedCredentials: false
useVirtualAddressing: false
awsSecretAccessKey: 6rLaOOddP3KStwPDhf47XLHREPdBqdav
awsAccessKeyId: VvlP5rHbQqzcYPHG
tieredStrategy:
default: VRAM 1, RAM 5, PERSIST 5, COLD0 10