This documentation is specific to deploying and managing Kasten K10 using GCP Marketplace. For other deployment scenarios, please refer to General Install Instructions.

Overview

Kasten K10 enables enterprises to meet business continuity and compliance requirements for stateful container based applications. Purpose built to for cloud-native environments, the platform enables cluster operators to handle data protection, disaster recovery, application migration, and application copy management without sacrificing developer agility.

Installation

Prerequisites

  • Connect to the cluster where you intend to install Kasten K10 via kubectl

  • Ensure that your cluster has been created with a Service Account with the required access to the underlying storage infrastructure. See Using the Default GCP Service Account for more details.

  • Create a dedicated namespace where you will install K10. For example, if you want to create namespace kasten-io, you will run the following command.

kubectl create namespace kasten-io

Install from GCP Marketplace Console

To deploy using the GCP Marketplace UI follow these steps:

  • From the Applications section of Google Kubernetes Engine, select Deploy from Cloud Marketplace

  • Locate Kasten K10 from the list of applications.

  • Select the Configure option.

  • Select the cluster on which you would like to deploy.

  • Select the dedicated namespace you have just created for Kasten K10.

  • Create a new K10 Service Account that will have the proper permissions.

  • Specify a name for the application instance.

  • Confirm by typing 'yes' that you are deploying in a dedicated non-default namespace

This will deploy a version of K10 using default settings.

Note

It is strongly recommended that you install Kasten K10 in a dedicated non-default namespace on your cluster.

Basic Usage

Access Kasten K10 Dashboard

Once Kasten K10 has been installed, enable access to the dashboard which is not exposed by default. To access the dashboard, run the following commands locally.

kubectl proxy

Assuming that you installed in namespace kasten-io and named the application kasten-k10, the dashboard will be accessible at: http://127.0.0.1:8001/api/v1/namespaces/kasten-io/services/gateway:http/proxy/kasten-k10/#/

Detailed Usage

For detailed documentation on how to use Kasten K10 once installed, please refer to Using K10.

Update K10

When installing a new instance of Kasten K10 on a cluster, you will always get the latest images corresponding to a given version. To upgrade to subsequent patch/minor versions, follow the instructions below.

Please collect Namespace and ServiceAccount settings for your K10 deployment. To extract the ServiceAccount name, you can run the following command:

kubectl --namespace <k10-namespace> get sa --selector=app.kubernetes.io/name=<k10-application-name> -o jsonpath="{.items[*].metadata.name}"

Assuming that you installed in namespace kasten-io and named the application kasten-k10

kubectl --namespace kasten-io get sa --selector=app.kubernetes.io/name=kasten-k10 -o jsonpath="{.items[*].metadata.name}"

Replace <k10-sa-name> with your ServiceAccount and <k10-namespace> with Namespace in the command below. Then simply execute the modified command.

kubectl run -i --rm --tty updater --image=gcr.io/kasten-cloudlauncher/k10/updater:2.0 --image-pull-policy=Always --restart=Never --overrides='{ "apiVersion": "v1",  "spec": {"serviceAccountName": "<k10-sa-name>"}}' --namespace <k10-namespace>

Delete K10

Delete from GCP Marketplace Console

Select Kasten K10 from the Applications section of the Google Kubernetes Engine Console and then select Delete.

Delete Using Command Line

To delete a Kasten K10 instance that was installed using GCP Marketplace simply delete the all resources with the label corresponding to the application instance from the K10 namespace.

kubectl delete all --namespace=<k10 namespace> --selector=app.kubernetes.io/name=<k10 instance name>

For example, if Kasten K10 was installed in namespace kasten-io and the application was named kasten-k10, then you can delete using the command.

kubectl delete all --namespace=kasten-io --selector=app.kubernetes.io/name=kasten-k10

If you followed best practices and installed Kasten K10 in a dedicated namespace, you should be able to simply delete that namespace.

kubectl delete namespace <k10 namespace>

Regardless of the approach, all resources will be cleaned up unless you have changed the default ReclaimPolicy for PersistentVolume to something other than the default of delete. If that is the case, you will need to manually clean PVs.