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 -
Open the K10 dashboard, go to Policies and click on Create New Policy
Specify a name of your choice (e.g.
k8ssandra-backup
) for the policy, set backup frequency, and select the application by name.To add filters, click on Select Application Resources -> Filter Resources.
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