X

The latest cloud infrastructure announcements, technical solutions, and enterprise cloud insights.

A simple guide to Kubernetes disaster recovery across regions with Kasten by Veeam

Gilson Melo
Director of Product Management

Oracle Cloud Infrastructure (OCI) continues to embrace open source technologies and the developer communities that support them. Our customers need an open cloud provider that avoids vendor lock-in and allows them to run software solutions of their choice, whether it’s built by the cloud provider. Oracle customers have been using Oracle Container Engine for Kubernetes that uses open source Kubernetes for their production deployments. Customers using Kubernetes for critical applications have business requirements like high availability, data security, and disaster recovery.

A well-thought disaster recovery plan is fundamental to businesses looking to minimize data loss and ensure the ability to resume processing if the loss of a geographic region occurs. One of the Kubernetes disaster recovery or backup technologies that Oracle Cloud Kubernetes customers are interested in is Kasten, a popular choice for Kubernetes Backup and disaster recovery technologies.

Why Kasten

Kasten is the leader in Kubernetes backup and disaster recovery. Kasten helps enterprises overcome Day Two data management challenges and confidently run applications on Kubernetes. Kasten K10, a data management platform purpose-built for Kubernetes, provides enterprise operations teams an easy-to-use, scalable, and secure system for backup and restore, disaster recovery, and application mobility with unparalleled operational simplicity.

Disaster recovery across regions

This blog focuses on the integration of Kasten with Oracle Cloud Infrastructure Container Engine for Kubernetes, also known as OKE, for backup and disaster recovery use cases.

OCI is hosted in regions and availability domains. A region is a localized geographic area, and an availability domain is one or more data centers located within a region. A region is typically composed of three availability domains. Availability domains are isolated from each other, fault-tolerant, and unlikely to fail simultaneously. Availability domains don’t share infrastructure, such as power or cooling, or the internal availability domain network. All the availability domains in a region are connected to each other by a low latency, high-bandwidth network, which makes it possible to provide highly available connectivity to the Internet and customer data centers, and to build replicated systems in multiple availability domains for both high-availability and disaster recovery.

Enterprises can use Kasten to automate OKE artifacts and data replication between Kubernetes clusters in different OCI regions while the OCI DNS Traffic Management Steering Policy handles user requests, is any issues with the primary data center as illustrated in the following graphic occur.

A graphic depicting the architecture for OKE disaster recovery across regions.

Getting Started

First, you need two OKE cluster running in different regions. Creating a Kubernetes cluster is simple on OCI. Oracle Cloud Infrastructure Container Engine for Kubernetes (OKE) provides the option of using a CLI or the Console (browser-based interface) for creating and managing Kubernetes clusters. You can also deploy your cluster using automation through Terraform and OCI Resource Manager.

You can set up OKE to automatically provision and launch Kubernetes clusters based on a custom configuration or through a quick cluster option in the Console. When OKE launches a cluster, it creates master and worker nodes in a node pool along with all the network resources needed for that cluster, including a virtual cloud network (VCN).

OKE is an Oracle-managed service that allows you to easily modify your cluster and download your cluster’s kubeconfig file to perform extra management tasks with kubectl utility. The easiest option to start managing your OKE cluster is using the kubectl integration with Cloud Shell on the Oracle Cloud UI.

Kasten deployment process

Now it’s time to setup Kasten in your OKE clusters. Kasten K10 has three editions: Starter, Enterprise Trial, and Enterprise. The default Starter edition, provided at no charge, is functionally the same as the Enterprise Trial and Enterprise editions but limited from a support and scale perspective. Kasten customers choosing to upgrade to the Enterprise edition can obtain a license key from Kasten. For a comparison of the editions, see the product page.

Installing Kasten K10 on OKE

Execute the Kasten K10 installation process on both primary and secondary OKE clusters. For this example, we use the Kasten K10 generic storage backup and restore option.

Prerequisites

Use Cloud Shell to perform the following installation process. Kasten also provides a precheck tool that validates if the Kubernetes settings meet the K10 requirements.

$ curl https://docs.kasten.io/tools/k10_primer.sh | bash
  1. Add the Kasten Helm charts repository using the following command:

    $ helm repo add kasten https://charts.kasten.io/
  2. Define the namespace where Kasten is installed or create one:

    $ kubectl create ns kasten-io
  3. Install Kasten using helm.

    $ helm install k10 kasten/k10 --namespace=kasten-io

    For a full list helm options, see the install documentation.

  4. Validate the install.

    $ kubectl get pods --namespace kasten-io --watch

    The following screenshots show an example of an OKE Cluster in Phoenix region with Kasten containers.

    A screenshot of the Oracle Cloud Shell UI.

  5. By default, the K10 dashboard is not exposed externally. To establish a connection to it, use the following kubectl command to forward a local port to the K10 ingress port:

    $ kubectl --namespace kasten-io port-forward service/gateway 8080:8000

    Set your KUBECONFIG variable to your primary or secondary OKE clusters before running the port-forward command. Alternate between KUBECONFIG files to perform OKE primary and secondary cluster operations.

    The K10 dashboard is available at http://127.0.0.1:8080/k10/#/

  6. On your primary OKE cluster Kasten Dashboard, add the object storage bucket location where Kasten backup data and artifacts are uploaded.

     A screenshot of the Kasten Settings page.

  7. Select the OKE application you want to replicate across OCI regions individually or by labels. Select other options when defining the backup export policy based on your own requirements.

    A screenshot of the Kasten Policies page.

  8. On your target OKE cluster (secondary cluster), repeat the object storage profile step and point it to the same location you have defined for your primary OKE cluster.

  9. Create an Import Backup policy.

    A screenshot of the Kasten Policies page with a newly created policy.

That’s it! From now on, your data and artifacts is replicated based on the policy settings you defined.

A screenshot of the Kasten dashboard, showing the applications, policies, and data running on the example.

Conclusion

Combining Oracle Container Engine for Kubernetes with Kasten backup and disaster recovery capabilities gives you a reliable, robust, and scalable Kubernetes platform that’s production-ready. For more information, see the Container Engine for Kubernetes documentation and Kasten website. If you want to experience Kasten on OKE for yourself, sign up for an Oracle Cloud Infrastructure account, install Kasten K10 Starter edition for free, and start testing today!

Be the first to comment

Comments ( 0 )
Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.Captcha