Google Marketplace Installs and Upgrades
The Veeam Kasten data management platform, purpose-built for Kubernetes, provides enterprise operations teams with an easy-to-use, scalable, and secure system for backup/restore, disaster recovery, and mobility of Kubernetes applications. Veeam Kasten’s application-centric approach and deep integrations with relational and NoSQL databases, Kubernetes distributions, and all clouds provide teams with the freedom of infrastructure choice without sacrificing operational simplicity.
Policy-driven and extensible, Veeam Kasten provides a native Kubernetes API and includes features such as full-spectrum consistency, database integrations, automatic application discovery, multi-cloud mobility, and a powerful web-based user interface.
This documentation is specific to deploying and managing Veeam Kasten using the GCP Marketplace. For other deployment scenarios on Google Kubernetes Engine (GKE), please refer to the more general GKE install instructions.
Prerequisites
Connect to the cluster where you intend to install Veeam Kasten 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 Veeam Kasten. For example, if you want to create namespace
kasten-io
, you will run the following command.
$ kubectl create namespace kasten-io
Install from the GCP Marketplace Console
To deploy using the GCP Marketplace UI, follow these steps:
From the Applications section of Google Kubernetes Engine, select Deploy from the Cloud Marketplace
Locate Veeam Kasten 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 Veeam Kasten.
Create a new Veeam Kasten 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 Veeam Kasten using default settings.
Note
It is strongly recommended that you install Veeam Kasten in a dedicated non-default namespace on your cluster.
Using Veeam Kasten
Accessing the Veeam Kasten Dashboard
Once Veeam Kasten has been installed, enable access to the dashboard, which is not exposed by default. To access the dashboard, run the following commands locally:
$ kubectl --namespace kasten-io port-forward service/gateway 8080:80
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:8080/k10/#/
For detailed documentation on how to use Veeam Kasten once installed, please refer to Using Veeam Kasten.
Updating Veeam Kasten
When installing a new instance of Veeam Kasten 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 Veeam Kasten 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.5 --image-pull-policy=Always --restart=Never --overrides='{ "apiVersion": "v1", "spec": {"serviceAccountName": "<k10-sa-name>"}}' --namespace <k10-namespace>
Deleting Veeam Kasten
Deleting from the GCP Marketplace Console
Select Veeam Kasten from the Applications section of the Google Kubernetes Engine Console, and then select Delete.
Deleting via the Command Line
To delete a Veeam Kasten instance that was installed using GCP Marketplace, simply delete all resources with the label corresponding to the application instance from the Veeam Kasten namespace.
$ kubectl delete all --namespace=<k10 namespace> --selector=app.kubernetes.io/name=<k10 instance name>
For example, if Veeam Kasten was installed in the namespace kasten-io
and the application was named kasten-k10
, then you can delete it
using the command.
$ kubectl delete all --namespace=kasten-io --selector=app.kubernetes.io/name=kasten-k10
If you followed best practices and installed Veeam Kasten 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.