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.
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.
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.
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.
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.
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.
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
Add the Kasten Helm charts repository using the following command:
$ helm repo add kasten https://charts.kasten.io/
Define the namespace where Kasten is installed or create one:
$ kubectl create ns kasten-io
Install Kasten using helm.
$ helm install k10 kasten/k10 --namespace=kasten-io
For a full list helm options, see the install documentation.
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.
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/#/
On your primary OKE cluster Kasten Dashboard, add the object storage bucket location where Kasten backup data and artifacts are uploaded.
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.
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.
Create an Import Backup policy.
That’s it! From now on, your data and artifacts is replicated based on the policy settings you defined.
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!