Many organizations are now leveraging Kubernetes clusters to house modern application data and application configuration files for containerized applications. Kubernetes has become the de facto standard for running and orchestrating containerized applications. Kubernetes in itself does not include a native backup and restore solution. We will take a look at Kubernetes backup and recovery and see how we can use the Veeam Kasten 10 solution for Kubernetes backup and recovery and data protection.
What is Kubernetes?
Let’s look at where organizations are coming from with traditional applications and see how things have progressed from an infrastructure perspective.
Traditional infrastructure and monolithic applications
Traditional applications of days gone by have typically ran as monolithic applications on top of physical servers or virtual machines. Monolithic applications are very difficult to upgrade since the upgrades are large and very involved. It leads to long development lifecycles between releases.
Introduction of containers and containerized applications
However, as organizations have adopted cloud technologies and environments, containerized applications have taken off as the new way to develop and architect applications.
Containerized apps have opened up a whole new world of opportunities for running applications. Containers are much lighter weight than traditional virtual machines. It allows spinning up infrastructure for applications in a much more agile and ephemeral way. Therefore, it leads to a new approach to developing and running applications using microservices.
With the microservices approach, the application is split up into very small pieces developed separately. This way, application components can be updated individually without having to release a monolithic application version with all the available updates.
However, containers have the same challenges with high availability as virtual machines. A container in itself is not highly available. It does not know how to scale additional containers for load or due to other demands, and there is no disaster recovery built into containers.
Kubernetes provides many of the same benefits to containers that today’s modern hypervisors provide for virtual machines. Kubernetes orchestrates and can spin up containers automatically based on demand or when containers fail.
Note the following high-level benefits of running Kubernetes to orchestrate containers:
As a quick list of capabilities provided by Kubernetes, you get the following:
Automated rollouts and rollbacks
Service discovery and load balancing
Secret and configuration management
Automatic bin packing
Automatic bin packing
Designed for extensibility
Why backup Kubernetes?
In addition to backing up your containers, there are many other components that weigh into protecting Kubernetes resources and Kubernetes objects.
Without protecting all the components that go into running your applications, a failure or disaster can certainly lead to impacted business continuity, data loss, and data corruption.
How do you backup Kubernetes? There are backup solutions available that provide a backup process for Kubernetes backups, allowing businesses to protect their entire application, entire clusters, and their Kubernetes application data running critical business applications.
What is Kasten K10 by Veeam?
The Kasten K10 Kubernetes backup and recovery solution is described as a data management solution that is purpose-built for Kubernetes backup and protecting application data.
It provides enterprise operations teams with the easy tools needed to build out a scalable Kubernetes backup solution to backup/restore operations to Kubernetes applications.
Kasten K10 licensing
The below comes straight from the Kasten K10 page:
K10 is available in two editions. The default Starter edition, provided at no charge and intended for evaluation or for use in small non-production clusters, is functionally the same as the Enterprise edition but limited from a support and scale perspective.
Customers choosing to upgrade to the Enterprise edition can obtain a license key from Kasten or install from cloud marketplaces. Please see the product page for a comparison of the editions.
Kasten protects many different Kubernetes distributions
It can also protect many different Kubernetes distributions, allowing admins to create snapshots of backed up data and providing restore solutions for Kubernetes applications. You can use Kasten for Kubernetes clusters running in the cloud or private clouds for fast recovery.
Principle use cases
A data protection solution is a solution that provides a standalone copy of your application data that does not depend on production infrastructure to restore the data. When looking at a Kubernetes backup system, you want to have a solution that can solve three principal use cases:
Backup and restore
Provides native Kubernetes backup
Kasten K10 is the Kubernetes backup and restore solution from Veeam that allows enterprise organizations to be able to protect Kubernetes environments and data services with Kubernetes native backup for your Kubernetes cluster in a secure way using data encryption to protect against data breach.
Offsite backup and restore
Kasten K10 provides the capabilities needed for protecting Kubernetes resources, critical data, and data stored in Kubernetes orchestrated containers and storing the backups in cloud storage or local Veeam Backup & Replication repositories. It helps to protect Kubernetes in the case of system failure.
This provides an “off-site” backup and restore capability for Kubernetes apps, stored on persistent storage.
Kasten provides Location profiles to add cloud storage locations for bringing data in and out of the Kubernetes cluster.
Protects Kubernetes objects
It also protects other Kubernetes objects required to reproduce the application and recover from a disaster. With Kasten K10, you can protect multiple Kubernetes cluster environments and copy these to cloud storage, specifically object storage.
Kasten K10 allows protecting entire applications and the objects they depend on. Kasten is not a virtual machine backup solution, but protects components running in your Kubernetes cluster at a granular level.
Installing Kasten K10 in Rancher
In the home lab environment, I wanted to take Kasten K10 for a spin in my Rancher-managed Kubernetes cluster.
About to install Kasten K10 in Rancher
In your Kubernetes cluster, here we have searched for and browsed out to the Kasten K10 application. Click the Install button to begin the installation.
Choosing the namespace
Next, we choose the namespace for the application.
Configuring the options for the kasten K10 installation
Next, we configure the options for the K10 installation on our Rancher cluster. There are many different components of the installation options, including AWS configuration, GoogleAPI, Azure configuration, External gateway, storage management, service account, license, and others.
As a note, in the wizard, unfortunately, there was no network configuration for the deployment which was a little disappointing. I would have liked to have been able to select in the wizard to use a type LoadBalancer for the network configuration.
However, I had to do that after the fact by low-level editing the service configuration.
Next, we can configure the storage management configuration, including selecting the persistent volumes configuration we want to use. You can configure the storage class, the PVC, and other settings for persistent data.
Beginning the installation
Next, we begin the installation of K10 into our cluster. The resources are deployed, etc.
Viewing the Kubernetes dashboard
Next, we get to the Kasten application dashboard after the solution’s installation. You can use the Kasten dashboard to manage backups in your environment.
Viewing the Kubernetes Apps
The guided tour shows the applications that have been discovered in the Kubernetes cluster for review. I like how Kasten groups your resources together as applications and protects the application by protecting all the underlying components.
Viewing the Kubernetes apps listed in the Kubernetes environment
Below, I have the applications view pulled up that allows viewing the applications running in your Kubernetes cluster.
Creating a Kubernetes backup using Kasten K10
Below, I have chosen to create a backup of my MetalLB application. You can review the options presented here.
The Kubernetes snapshot has kicked off successfully.
The snapshot backup process is viewable from the dashboard.
Reviewing the restore points and general backup that we can use for recovery.
It has been on my list for a long time to play around with Kubernetes backup and recovery using Kasten K10. I have to say that I was not disappointed with the features, functionality, and just enterprise quality of the K10 solution. However, I have come to expect this with Veeam solutions.
They are generally slick, polished, and robust in what they can do. Kasten K10 delivers in its ability to protect Kubernetes in the way organizations effectively need – at the application level and allow businesses to leverage cloud storage locations for shifting data in and out of their clusters.
Kasten K10 is a great solution also for home lab users running Kubernetes in their lab environments and who want to get more familiar with how the solution works and bring that knowledge to their enterprise production environments,.
Checkout Kasten K10 here: Kubernetes Data Protection | Kasten K10