K8ssandra Logical Backup

K8ssandra operator uses Medusa to backup and restore Cassandra data. Steps for installing the K8ssandra operator with Medusa can be found here.

Note

By default, K10 uses built-in Kanister Blueprints for managing data services such as PGO and K8ssandra. If you wish to disable this feature, you can use the kanister.managedDataServicesBlueprintsEnabled=false Helm flag during the installation of K10.

Create K8ssandra Backup Policy

K8ssandra components are managed by the K8ssandra operator. The StatefulSet workloads are created by the operator when a Cassandra Custom Resource is created. For this reason, the StatefulSet objects do not need to be backed up as they are recreated by the operator. Medusa uses CassandraDatacenter resource to backup and restore Cassandra data. To backup Cassandra data with K10, create a policy with Include Filters to include only the CassandraDatacenters needed to be backed up.

To create a policy with Include Filters -

  1. Open the K10 dashboard, go to Policies and click on Create New Policy

  2. Specify a name of your choice (e.g. k8ssandra-backup) for the policy, set backup frequency, and select the application by name.

  3. To add filters, click on Select Application Resources -> Filter Resources.

  4. In the Include Filters section, click on Add a filter. Check Resources box and add cassandradatacenters resource name. Finally, click Add Filter and create the policy.

Once the policy is created, the backup operation can be performed on the application by clicking Run Once action.

Known Limitations

K10 relies on Medusa operator deployed with K8ssandra to perform backup and restore operations. Therefore, the following limitations exist:

  • The K8ssandra operator must be running before performing restores

  • Only in-place restores are possible

  • The MedusaRestoreJob custom resource must be present in the same namespace during restore operations