Kanister is an extensible Kubernetes-native framework that automates application-level data management workflows such as backup, restore, and data migration.
An extensible framework for application-level data management on Kubernetes, Kanister is a Cloud Native Computing Foundation sandbox project and was originally created by the Veeam Kasten team.
Kanister is primarily used by Kubernetes operators and DevOps teams to define, automate, and manage data protection workflows for stateful applications running on Kubernetes clusters. It abstracts complex backup and recovery operations across diverse storage backends, enabling seamless data management and disaster recovery.
Kanister requires a Kubernetes cluster with RBAC enabled and appropriate permissions to manage Custom Resources. Users should familiarize themselves with Kubernetes CRDs and RBAC concepts to securely operate Kanister. Leveraging Kanister’s observability integrations with Prometheus and Grafana is recommended for monitoring workflow health and performance.
Follow the installation documentation at https://docs.kanister.io/install.html to install Kanister on your Kubernetes cluster
Use the provided tutorial at https://docs.kanister.io/tutorial.html to define and run your first data protection workflow
Explore the examples directory for sample blueprints tailored to various databases and storage systems
kubectl apply -f <kanister-installation-yaml>
Installs Kanister CRDs and controller components on your Kubernetes cluster
kubectl create -f <blueprint.yaml>
Creates a Kanister blueprint resource defining data operation workflows
kubectl create -f <actionset.yaml>
Executes a data operation workflow based on a blueprint and profile
kubectl get actionsets
Lists all Kanister actionsets representing executed workflows
kubectl logs <kanister-controller-pod>
Displays logs from the Kanister controller for troubleshooting and monitoring