Disaster Recovery with Kasten K10 on Kubernetes

Search for a command to run...

No comments yet. Be the first to comment.
Kasten K10 provides enterprise operations teams an easy-to-use, scalable, and secure system for backup/restore, disaster recovery, and mobility of Kubernetes applications. The free edition license allows you to use the software on a cluster with at m...
Summary Based on the Cloud Adoption Framework (CAF) and Well-Architected Framework (WAF), this project automates the audit of an entire Azure tenant in minutes, using AI and a sovereign environment to

Summary The N1 agent transforms how DevOps teams interact with Kubernetes infrastructures by combining conversational prompts and advanced automation, all powered by artificial intelligence. Concretel

We had the opportunity to attend Kubernetes Community Days (KCD) Suisse Romande, held at CERN in Geneva, on December 4th and 5th. These two days were full of discussions, workshops (we had the opportunity to participate to the Exoscale capture the fl...

With the recent annoncements regarding the Gateway APIs and the end of the Ingress Nginx maintenance, some aspects (historically managed by the Ingress Nginx) need to be re-adapted, we’ll shre one of those today: the TLS certificates management throu...

The CNCF has recently announced a major transition: Ingress Nginx, the “de facto” considered ingress controller, will officially reach end-of-life in March 2026. Official source here : https://kubernetes.io/blog/2025/11/11/ingress-nginx-retirement/#:...

As we already describe how to install and configure Kasten on Kubernetes in another article, in this one we will describe the way to recover a Kubernetes cluster with Kasten. .....
On a new cluster, with a fresh Kasten installation, you have to create a new location profile. The informations of this profile is the bucket where you have stored your backup and DR.
If you already have a kasten installed on the cluster, first you will have to delete it.
# Delete the kasten-io namespace.
kubectl delete namespace kasten-io
**Then reinstall a fresh version of Kasten K10 using helm. ** You can follow instruction from ou arctile on the subject or on kasten.io.
When you enabled the K10 DR, you had to save the passphrase for a potential restore. This is the time to use it, so store it in a secret like this :
kubectl create secret generic k10-dr-secret --namespace kasten-io --from-literal key=<passphrase>
After that, to restore the cluster, you have to launch the following command, with theses parameters :
source-clusterID is the cluster id that you get when you create the DR
location-profile-name is the profile that you just created
# Install the helm chart that creates the K10 restore job and wait for completion of the `k10-restore` job
# Assumes that K10 is installed in 'kasten-io' namespace.
helm install k10-restore kasten/k10restore --namespace=kasten-io \
--set sourceClusterID=<source-clusterID> \
--set profile.name=<location-profile-name>
Once the restore done, you can find back all your applications, with the "Removed" filter.

You can restore every application, one by one. When selecting your restore point, make sure to select one from your s3 location (or whatever you use as remote backup storage). Local snapshot restore will not work at this moment.

One important thing is to not forget to restore the Cluster-Scoped-Resources. These are not present in namespaces such as CRD or RoleBindings etc.. You should restore the CRD if your applications are using it. You should also be aware that if you restore on a target kubernetes cluster that has not the same version as the source, you may have to adapt a bit some resources.
You can see the restore progress through the Dashboard.
Feel free to comment this article if you have questions.
www.cisel.ch
References https://docs.kasten.io/latest/index.html