Skip to main content

Introduction

This blog provides a practical guide to deploying a single-node Kubernetes cluster and integrating the Veeam Kasten K10 solution.
The objective is to offer a clear reference that facilitates the exploration of Kasten’s features and benefits.
 

Environment

To carry out this env, the following components are required (depending on the defined scope):

  • One or more servers forming a Kubernetes cluster.
  • An instance of Veeam Kasten K10.

Kubernetes Service (k3s)

For the installation of K3s, a server (or more, depending on the needs of the lab) was deployed to simultaneously fulfill the roles of master node and worker node.

The chosen operating system was Ubuntu 22.04 LTS, due to its stability and compatibility with K3s.

Note: The provisioning of the virtual machine and the operating system installation are considered prerequisites and are not part of this procedure. Its recommend to install it with UI.

To install K3s, you simply need an internet connection and run the following command:

sudo curl -sfL https://get.k3s.io | sh -

To start the k3s service:

screen -d -m -L -Logfile /var/log/k3s.log k3s server

 

Helm installation

It is required to install Helm, as it is the package manager for Kubernetes:

sudo curl https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 | bash

 

Now we need to create the .kube configuration file for the user. In this case, the user is: martin.

cd /home/martin

sudo  mkdir .kube

sudo chown -R "martin" /home/martin/.kube/

sudo kubectl config view --raw >~/.kube/config

 

Pre-flight checks

Before proceeding with the installation of Kasten K10, it is recommended to validate that the environment meets all the required prerequisites.

The official documentation provides a script that automates these checks and confirms whether the infrastructure is ready for deployment:

Requirements: Kasten K10 Requirements

Pre-flights: Kasten K10 Install Preflights

To run the verification script, use the following command:

 

curl https://docs.kasten.io/downloads/8.0.7/tools/k10_primer.sh | bash

 

If there is any issue with kasten repo, see the following point.

 

Kasten installation

To install Kasten, the Helm repository must first be added, and then the installation can be performed.
This step should be executed from the master node, which in this case is a single node:

sudo helm repo add kasten https://charts.kasten.io/

Create a kasten namespace:

 

sudo kubectl create ns kasten-io

 

Next, install Kasten using the parameter that enables authentication via token (this will allow us to integrate it with VBR) or without to have direct access to the dashboard.

sudo helm install k10 kasten/k10 --namespace=kasten-io --kubeconfig /etc/rancher/k3s/k3s.yaml --set auth.tokenAuth.enabled=true

or

sudo helm install k10 kasten/k10 --namespace=kasten-io --kubeconfig /etc/rancher/k3s/k3s.yaml

 

Validates the status of the pods:

If you have access to the localhost via UI, you can access: http://localhost:8080/k10/#/

 

Access by token

First, a user account must be created and assigned the desired privileges based on roles.
In this case, the account will be configured with administrator privileges:

sudo kubectl -n kasten-io create serviceaccount my-kasten-sa-1

sudo kubectl create clusterrolebinding my-kasten-sa-1-admin   --clusterrole=cluster-admin   --serviceaccount=kasten-io:my-kasten-sa-1

Once the service user has been created, generate an access token:

 

 


sudo kubectl --namespace kasten-io create token my-kasten-sa-1

With the token created, copy and paste it into the login prompt that appears when accessing Kasten:

I hope it helps you to quickly use and test Kasten in your labs.

 

Have fun trying it out!

MJ

 

Great post! Thanks for sharing. 

Im currently studding K10, and that guide was very helpful during my setup.


Great post! Thanks for sharing. 

Im currently studding K10, and that guide was very helpful during my setup.

Nice! Happy to help


Folks, if you look in the Kubernetes Korner you will see a lot of content on this topic https://community.veeam.com/groups/kubernetes-korner-90

 

We go through other distributions as well but k3s is still my favorite.