You can install and configure MinIO, an S3-compatible storage service that runs locally on the Linux VM. However, apart from MinIO you can also install and configure any other S3-compatible object storage service as the destination for Kubernetes workload backups.
For information on the S3-compatible object storage services that Velero supports, see S3-Compatible object store providers.
Prerequisites
Your environment has a Linux VM with sufficient storage to install MinIO and store backups. MinIO service will not operate if disk has less than 1GB of free disk space.
Target workload clusters can access the MinIO Linux VM.
Procedure
- Download MinIO binary on the VM.
- Grant permissions to run the MinIO binary.
- Move the MinIO binary to the directory
/usr/local/bin
.
# mv minio /usr/local/bin
- Create a new minio-user account to run the MinIO service.
# mkdir -p /usr/local/share/minio
- Create a new folder to store MinIO data files and grant ownership of the folder to minio-users.
# mkdir -p /usr/local/share/minio
# chown minio-user:minio-user /usr/local/share/minio
- Create a new folder for MinIO configuration files and grant ownership of the folder to minio-users.
# mkdir -p /etc/minio
# chown minio-user:minio-user /etc/minio
- Create a new file for default configurations of MinIO service and enter the details.
Option |
Description |
MINIO_VOLUMES |
Stores the MinIO data files. |
MINIO_OPTS |
Stores the server configurations.
|
Access ID |
ID to access the backup storage. |
Access Key |
Password to access the backup storage. |
The following is a sample file content in the folder /etc/default/minio
:
MINIO_VOLUMES="/usr/local/share/minio/"
MINIO_OPTS="-C /etc/minio --address 10.196.46.27:9000"
MINIO_ACCESS_KEY="minio"
MINIO_SECRET_KEY="minio123"
- Download the MinIO service descriptor file.
# curl -O https://raw.githubusercontent.com/minio/minio-service/master/linux-systemd/minio.service
- Move
minio.service
to the folder /etc/systemd/system
.
# mv minio.service /etc/systemd/system
- Reload all the
systemd
units.
# systemctl daemon-reload
- Enable MinIO to start on booting the system.
- Start the MinIO server.
For more information on installing and configuring MinIO storage service, see MinIO Documentation.
- If necessary, enable Transport Layer Security (TLS) encryption of incoming and outgoing traffic on MinIO. For more information, see Enabling TLS.