Velero

Overview

The source code and default configuration of the Building Block is available in our code.sysEleven.de. Infos on release notes and new features Release notes Velero

Velero

Velero is a commonly used backup and restore tool to backup your Kubernetes resources. You can also use Velero to migrate data from one Metakube Cluster to another. The latter is
a defacto way to easily replicate your existing cluster.

It can also be used for disaster recovery.

In case you need a backup tool for your application, Velero can store your application
data on an aws s3 bucket or Azure Blob Store. There are more providers to use together with your Velero building block.

Prerequisites on Velero

You need to provide a storage provider for this Building Block. Proceed with the following prerequisite description to use the Velero Building Block out of the box.

A recommended resource overview is listed in the table below.

CPU / vCPU Memory
1 1000MiB + 512-1024MiB per worker node

No further activities need to be carried out in advance

Adding the Building Block

We assume that you are familiar how to set up your control repo. If you would like to learn more about control repos, please refer to Setup a control repo
Make sure that you also have the KUBECONFIG from your Metakube Cluster set appropriately.

If you have already a control repo, and you would like to add the Velero Building Block just proceed with the following steps.
In the following you would need to change the gitlab URL to fit to your situation.

git clone git@code.syseleven.de:/mka-realm-test/control-repo-testing/mkatutorials
cd mkatutorials
mkdir syseleven-velero
cd syseleven-velero

In this case we have a root .gitlab-ci.yml and for each Building Block a gitlab-ci.yml, which is responsible for the Building Block itself.
e.g.

Add a .gitlab-ci.yml to the directory syseleven-velero with the following content:


include:
- project: syseleven/building-blocks/helmfiles/velero
  file: JobDevelopment.yaml
  ref: 4.0.0
- project: syseleven/building-blocks/helmfiles/velero
  file: JobStaging.yaml
  ref: 4.0.0
- project: syseleven/building-blocks/helmfiles/velero
  file: JobProduction.yaml
  ref: 4.0.0

Your direcctory should look like this:

.
+-- .git
+-- .gitlab-ci.yml
+-- syseleven-velero
|   +-- .gitlab-ci.yml

Push your changes to your control repository.

Required configuration

Since version 4 it is mandatory to configure the S3 region in values-velero.yaml to be reflected in

  • configuration.backupStorageLocation.config.region (e.g. fes)
  • configuration.backupStorageLocation.config.s3Url (e.g. https://s3.fes.cloud.syseleven.net)

You can stick to the configuration description on Velero Building Block.
Stick to the best practice section in this README.

Monitoring

The monitoring of this service is set by the property settings metrics.serviceMonitor.*..

You can get more information in the section SysEleven Best Practices default values of Velero Building Block README.md.
Alerting can be setup by the prometheus rules extension.

Limitations

As the Velero Building Block is one of our curated Building Block you will not suffer from the following limitation.

  • keep an eye on the same version on k8s, Velero and Helm.
  • the bucket comes with the building block regional provisioning of the bucket is guaranteed.
  • no planing on different provider credential, you only have ours.

as we take care on the above-mentioned limitation you can focus on the backup strategy itself.

Scaling Setup

Scaling makes not that much sense for this Building Block and will not cover or reduce aspects on consistency.

Release-Notes

Please find more infos on release notes and new features Release notes Velero