Automating Kubernetes Data Protection Operations through Kasten APIs
While Kubernetes environments are designed to run at scale, this doesn’t always happen easily. As more organizations adopt microservices architectures and containerized workloads, they prefer to automate their solutions to achieve greater efficiency, reduce manual processes and improve consistency. When organizations operate complex and large containerized workloads, managing them and ensuring they are protected becomes exponentially complex. That’s where Kasten by Veeam comes in.
In this blog you will learn how you can simplify and automate Kubernetes data protection operations, and leverage the rich capabilities within Kasten K10’s user interface (UI) through our APIs.
But First, Why Kasten?
Kasten K10 is the industry-leading Kubernetes Data Protection platform that provides enterprise operations teams an easy-to-use, scalable and secure system for backup and restore, disaster recovery and application mobility of Kubernetes applications. Kasten K10 provides a rich and simple UI that allows users to set up backup profiles, define policy-based data management, manage RBAC, pre-define transform sets, use Blueprint for enabling application-consistent backups, enable multi-cluster management and much more.
How Kasten Provides APIs
By exposing Kasten K10’s features through APIs, we make them easily and programmatically consumable through the Kubernetes command-line tool, kubectl, enabling organizations to automate their day-to-day operations. For instance, to create a simple backup action on a pacman namespace, you can use the following yaml code:
How to Automate Kubernetes Restores through Kasten K10’s APIs
Let's look at a scenario in which automating Kasten K10 tasks through APIs is helpful.
Assume an organization is running a large Kubernetes cluster and has implemented Kasten K10 for data protection. The applications running on the Kubernetes cluster are backed up to an external location, which is a best practice. If a customer loses access to applications, the external Kasten K10 backups can be used to recover them to the new cluster. Taking into consideration the RTO time, restoring high-priority applications takes priority, followed by medium- and low-priority applications. Kasten K10’s APIs can automate this restore sequence.
A script in this GitHub Repo automates the bulk restore process by passing the Kubernetes namespaces (separated by commas) as input parameters. The script takes an optional parameter, such as the target cluster’s storage class name, and applies the required transform when specified.
Let's see the script in action, as I restore two applications, pacman and mongodb, to my target cluster and apply a storage class transformation.
I’ll run the script to perform a restore:
Finally, I’ll verify the pacman and mongodb namespaces are restored successfully:
The above illustrates how you can automate application backup/restore and disaster recovery for Kubernetes workloads using Kasten K10’s APIs This example is just one of many abstractions that are available through the API. See more here and give it a try yourself using Free Kasten K10 today!
Satheesh Mohandass is a Solutions Architect at Kasten by Veeam where he focuses on developing solutions and working with customers to use Kasten as their Kubernetes Data Protection solution. His previous roles include System Engineering, Technical Product Marketing, Architecting Data Governance solutions, Account Management and developing Data Warehouse projects.
Kasten, Inc. 8800 Lyra Drive, Suite 450 Columbus, Ohio 43240
We value the critical role that the security community plays in helping us protect the confidentiality, integrity, and availability of our software, services, and information. If you have information about security vulnerabilities that affect Kasten software, services, or information, please report it to us via our HackerOne Vulnerability Disclosure Program, or anonymously via this form.