Kubernetes backups with Kasten K10 platform

The Kubernetes world has exploded!  Its all you hear about now, Kubernetes, Kubernetes, Kubernetes!  VMware acquired Heptio, launched Project Pacific (see Anthony Spiteri’s blog), NetApp announced Application Lifecycle Management for Kubernetes, AWS has EKS, Azure has AKS, Google Cloud Platform has GKE (they invented the thing!) everyone is announcing something somewhere.  As this demand grows, the need for backing up and protecting these workloads is ever increasing.  More and more Kubernetes workloads are becoming stateful, in-fact I wrote a blog article during my day job about just this – Stateful containers in production, is this a thing?  Recently I came across a great company called Kasten.  They offer native integration with Kubernetes to backup and restore any Kubernetes workloads.  They have some really cool features including cross platform migrations.  I thought it would be great to dig into this and take a look:

First, let’s take a look at the flexibility of the Kasten K10 platform. Within Kasten K10, you have the ability to import and export Kubernetes workloads across clusters and different platforms. We can take a workload running on Google Kubernetes Engine (GKE) and easily import it into Amazon Elastic Container Service (EKS).

Let’s start by looking at the GKE platform:

We can see we have two applications running in our GKE cluster (plus the Kasten K10 workload).

Kubernetes backups Kasten K10

Our goal here is to export the nginx-1 application and import it into Amazon EKS. We need to create a policy in Kasten K10 to export the application based on the backup schedule we create.Kubernetes backups Kasten K10

We can see that Kasten shows we have three unmanaged applications and zero policies. We need to create a policy to back up the workload and export it to an object storage platform.

Kubernetes backups Kasten K10

Let’s create a new policy.Kubernetes backups Kasten K10

First, we give the policy a name and pick the action type. We can either select taking a snapshot or import. As this is the application we want to backup and export, we select snapshot.Kubernetes backups Kasten K10

The Export for portability after snapshot option needs to be enabled.Kubernetes backups Kasten K10

We select an export profile (created separately). This enables the exporting of the snapshot to an object storage platform. In this case, we have configured Amazon S3.Kubernetes backups Kasten K10

We pick which application or applications we want to include in this policy.Kubernetes backups Kasten K10

The policy is created and we can see the options that we configured. By clicking the Show import detailsoption, we are given the details needed to configure the import in a separate cluster.

Copy the text to the clipboard for use when creating an import policy on the receiving cluster. We have no configured backups on the Kubernetes cluster and configured the snapshots to be exported. The job status shows this has been completed.Kubernetes backups Kasten K10

Kubernetes backups Kasten K10

Let’s switch to the receiving cluster Kasten deployment. We will now need to create an import policy.Kubernetes backups Kasten K10

It’s a very similar process to how we created the policy for exports.Kubernetes backups Kasten K10

We select Import. We have the option to Restore after import,which actually deploys the workload after import to the cluster.Kubernetes backups Kasten K10

Paste the configuration data we copied to the clipboard from the export policy.

Once we have the policy created, the restore job will start automatically.Kubernetes backups Kasten K10

We can check the job status to see.Kubernetes backups Kasten K10

The import and restore has been completed. We can look at the applications to see if this application exists.

I would recommend reading more about the Kasten K10 Platform.  It really does have nice integration into Kubernetes and providing migration and mobility across platforms and service (GCP, AWS, Azure, On-Prem etc) is a really nice capability.

, , , , ,

No comments yet.

Leave a Reply

Copyright David Hill

Powered by WordPress. Designed by Woo Themes

%d bloggers like this: