TrilioVault for Kubernetes

Need Backup and Recovery for Kubernetes?

TrilioVault for Kubernetes (TVK) is a cloud-native, application-centric data protection and management platform that was designed from the ground-up to support the scale, performance, and mobility requirements of Kubernetes container environments across any public or hybrid cloud environment.

TVK offers backup and recovery of the entire application, including data, metadata, and any other Kubernetes objects associated with the application so it is protected and able to be restored from any point in time.

  1. Supports applications provisioned via Operators, Helm or Labels within Upstream Kubernetes.
  2. Cloud-agnostic platform offering customers the agility to restore or migrate to any Kubernetes, DigitalOcean Managed Kubernetes Cluster (DOKS) or OpenShift cluster running in a public or hybrid cloud.
  3. Cloud-native architecture that is agentless and offers infinite scalability, self-service management and an open, platform-agnostic backup schema that make it ideal for protecting cloud-native apps.
  4. Kubernetes-native. TrilioVault leverages core Kubernetes APIs and the CSI framework to provide simple snapshot, backup and restore operations as well as making it seamless to deploy and manage.
  5. Extends monitoring and logging core functionality through Prometheus and Grafana.
  6. Capability to encrypt the backups enabled at the Backupplan level with different keys used for each backupplan. Encryption keys are stored as Kubernetes secrets.
  7. Ability to create immutable TVK backups so users will have granular capability to specify the application which need immutability support. Backups cannot be deleted until the user defined retention period is over since Trilio interfaces with the backup storage target’s locking and versioning feature to provide immutability.

TrilioVault for Kubernetes is built by Trilio Data Inc., a leader in Data protection solutions for cloud-native applications.

Note:

DigitalOcean is using Helm v3 to deploy TrilioVault for Kubernetes to your DOKS cluster.

TrilioVault for Kubernetes Backup and Restore Workflow Diagram:

Below diagram shows a high level overview of how TrilioVault for Kubernetes performs a backup and restore of the Prometheus application stack to a different DOKS cluster:

TrilioVault for Kubernetes Backup and Restore Overview

Software Included

Package Version License
TrilioVault for Kubernetes Operator 3.0.1 Preinstalled
TrilioVault for Kubernetes Manager 3.0.1 Preinstalled

Creating an App using the Control Panel

Click the Deploy to DigitalOcean button to install a Kubernetes 1-Click Application. If you aren’t logged in, this link will prompt you to log in with your DigitalOcean account.

Deploy to DO

Creating an App using the API

In addition to creating TrilioVault for Kubernetes using the control panel, you can also use the DigitalOcean API. As an example, to create a 3 node DigitalOcean Kubernetes cluster made up of Basic Droplets in the SFO2 region, you can use the following doctl command. You need to authenticate with doctl with your API access token) and replace the $CLUSTER_NAME variable with the chosen name for your cluster in the command below.

doctl kubernetes clusters create --size s-4vcpu-8gb $CLUSTER_NAME --1-clicks triliovault-operator

Getting Started After Deploying TrilioVault for Kubernetes

After performing a 1-Click install of TrilioVault for Kubernetes, you will see that the TrilioVault for Kubernetes installation is successful using the below command:

helm ls --namespace tvk

If the installation was successful, the STATUS column value in the output reads deployed:

NAME                    NAMESPACE       REVISION        UPDATED                                 STATUS          CHART                           APP VERSION
triliovault-manager-tvk tvk             1               2022-11-16 06:43:23.867171928 +0000 UTC deployed        k8s-triliovault-3.0.1           3.0.1
triliovault-operator    tvk             1               2022-11-16 06:42:30.773851339 +0000 UTC deployed        k8s-triliovault-operator-3.0.1  3.0.1

Next, verify that the TrilioVault for Kubernetes deployments is in a READY state using the following command:

kubectl get deployment --namespace tvk

All deployments should be in the READY state:

NAME                                       READY   UP-TO-DATE   AVAILABLE   AGE
k8s-triliovault-admission-webhook          1/1     1            1           41m
k8s-triliovault-control-plane              1/1     1            1           41m
k8s-triliovault-exporter                   1/1     1            1           41m
k8s-triliovault-ingress-nginx-controller   1/1     1            1           41m
k8s-triliovault-operator                   1/1     1            1           42m
k8s-triliovault-web                        1/1     1            1           41m
k8s-triliovault-web-backend                1/1     1            1           41m

The TrilioVault license is pre-activated during the installation process, you can check that using the below command:

kubectl get license --namespace tvk

You should see the output below and the license is expected to be in an Active state:

NAMESPACE   NAME             STATUS   MESSAGE                                   CURRENT CPU COUNT   GRACE PERIOD END TIME   EDITION     CAPACITY   EXPIRATION TIME        MAX CPUS
tvk         trilio-license   Active   Cluster License Activated successfully.   6                                           FreeTrial   100000     2027-11-20T00:00:00Z   6

The TVK Management Console is also pre-configured, you can check it using the below command:

kubectl get ingress --namespace tvk

You should see the ingress configured with the hostname tvk.doks.com:

NAMESPACE   NAME              CLASS                       HOSTS          ADDRESS         PORTS   AGE
tvk         k8s-triliovault   k8s-triliovault-tvk-nginx   tvk.doks.com   10.245.98.124   80      42m

To launch the console quickly via port-forwarding:

  1. kubectl port-forward –address 0.0.0.0 svc/k8s-triliovault-ingress-nginx-controller –namespace tvk 80:80 &
  2. Add the following entry to your /etc/host file 127.0.0.1 tvk.doks.com
  3. Launch the UI: http://tvk.doks.com/ and use the kubeconfig file for the cluster (Download it from the Kubernetes cluster page on the DigitalOcean portal)

Note: If you are using doctl to generate a kubeconfig file, the kubeconfig contains an exec section with custom commands that may not be recognized by the TrilioVault Management Console. Hence, download the kubeconfig file directly from the Kubernetes cluster page shown under “Access Cluster Config File” or refer to this page to use a workaround for the kubeconfig generated through doctl.

To launch the UI via NodePort/LoadBalancer or to change the console hostname: Please refer to this page

A video demonstrating the steps above can be found here

Follow these instructions to explore different features of the TVK Management Console.

Creating a Backup Target Repository:

Before performing a backup operation, the user needs to create a Target (Backup repository) to store the backup files. Please follow these instructions for creating a TrilioVault Target to Store Backups in DigitalOcean Spaces using CLI.

Running Backups & Restores:

  1. Visual Users: Please follow these instructions to get started by protecting your applications with TrilioVault for Kubernetes through the management console. A video explaining the workflows in detail is provided under Additional Links.
  2. CLI Users: If you want to use CLI to perform backup and restore operations of a namespace, please follow these instructions.

Need Help?

Please use the Slack invite link provided under Additional Links to connect with our engineers and get support.