This Minio backup solution on Kubernetes spawns one mc mirror --watch pod for each Minio bucket being backed up. Each pod will mirror the target bucket to /mnt/target/BUCKETNAME where /mnt/target is an external NFS. The pods will synchronize the mirror upon start-up and then listen for changes.
It is recommended to create a new namespace for this.
Create a secret using the following template, containing your Minio access key ID and secret key:
apiVersion: v1
kind: Secret
metadata:
name: minio-backup
type: Opaque
data:
accessKeyId: <BASE64 encoded access key ID>
secretAccessKey: <BASE64 encoded secret access key>Use default.vars.yaml as reference and production.vars.yaml as example.
Uses Emskaffolden for deployment.
emsk -E production -- run -n minio-backup