The Kubernetes Learning Journey
Many of you are coming to grips with Kubernetes, a new platform that has evolved over the past few years from being a developer-focused platform to one that has to be considered when ensuring your organization is operationally ready to serve business-critical applications.
Kubernetes may have started its life as a container orchestrator, but now we see Kubernetes being the control plane for many external services as well as virtual machines (VMs).
If you are anything like me, the way I learnt my virtualisation skills was just getting hands-on and playing with this technology. When it comes to Kubernetes, this approach still holds true.
The beauty of Kubernetes is that we now have a vast number of options for deploying and getting hands-on with this solution. These deployments can range from leveraging public cloud variants like Amazon (EKS), Microsoft (AKS), or Google Cloud (GKE), to on-premises variants like VMware, Rancher, and Red Hat OpenShift. It’s important to note that most of these on-premises option can also be deployed in the cloud as well.
A great place to start is not just learning the whole mechanics of an engine upfront, but using a local development option such as KinD or Minikube; something that can run on local machines and emulate what we will see in the production landscape.
Data is Coming
Another trend we are seeing in the cloud-native ecosystem is the growth of data services that reside on Kubernetes clusters.
We are also fully aware that there are still many data services that reside outside of clusters, such as Amazon RDS and other PaaS based services. I’ll also include the trusty VM here, since sometimes databases are hard to move and migrate.
As someone that shouts from the rooftops about the worst scenario of losing data, these services and platforms are not exempt to cyber risk. This is why we need to not only learn the fundamentals of Kubernetes but learn and understand the role of data protection when it comes to Kubernetes and its surrounding data services as well.
Free Kubernetes Data Protection and Mobility
With this learning journey and a vast number of objectives ahead of you, Veeam can thankfully help with the data protection part. For many years, we have had a community edition for many of our products, which enabled the community to practice and protect their data and workloads at no cost. This might be a home lab or purely for learning purposes, but this license is also there to help get the job done as a Veeam easy button.
Free Veeam Kasten for Kubernetes follows the same mantra as our community editions and enables you to use a free license with full functionality for five worker nodes. This allows you to get hands-on with Kubernetes and its related data services both inside and out. It also provides you with a nice and easy way to protect and rollback when things go wrong.
Kubernetes Overview
In speaking to a lot of the Veeam community, I have found that the concept of nodes may benefit from an overview. So, lets quickly coverwhat these 5 worker nodes mean when it comes to free Veeam Kasten.
A Kubernetes cluster consists of a set of worker machines, called nodes, that run containerised applications and VMs.
Each of these clusters have at least one worker node. These worker nodes can be compared to ESXi hosts in a vSphere cluster.
The control plane manages the worker nodes in a cluster. This control plane can be compared to the Virtual Center in vSphere clusters.
In production environments, the control plane usually runs across multiple computers and clusters usually run across multiple nodes. This provides fault tolerance and high availability.
It is also worth noting that networking and storage needs to be added alongside what we covered above in regard to nodes. If you are using KinD or Minikube for education purposes, you can take advantage of the CSI Hostpath driver to get some production-like storage features on your starter cluster. Out in the production world, you can take advantage of the enterprise storage and Container Storage Interface (CSI) capabilities within Kubernetes.
Getting Started: Deployment
Free Veeam Kasten is a simple deployment via Helm. If you haven’t heard of Helm, Helm is a package manager for Kubernetes and is a standard method for deploying applications across the Kubernetes landscape. Kasten can also be deployed via marketplace operators. These include the three hyperscale clouds, Red Hat OpenShift, and the Suse Rancher marketplace.
You will need Helm installed on your machine to proceed. You can find instructions for that here: https://helm.sh/
When you have Helm installed on your system, add the Kasten repository with
helm repo and add kasten https://charts.kasten.io
If you already added this repository, you may want to run an update with
helm repo update
When you have access to a Kubernetes cluster, you can run the following helm install command to get a basic version up and running. More advanced helm values can be found here.
For the purposes of the demo, I am going to use minikube. Downloads and installation for your specific OS can be found here.
You can then build out your cluster with the following command:
minikube start
Follow this by the helm install command I shared previously.
You can see from the above output of the helm install command that we have a port-forward command which will allow us to gain access to the dashboard.
Before we can do this (and depending on your connectivity), we need to wait for the pods to be in a ready state. The following command will allow you to see the status
kubectl get pods -n kasten-io
You can also use the following command to watch the above so you can see when everything is in a ready state.
watch kubectl get pods -n kasten-io
Now we can access our dashboard, and the port forward command now will expose our service to our local network.
kubectl --namespace kasten-io port-forward service/gateway 8080:80
We can now access the dashboard at: http://localhost:8080/k10/#/dashboard
Add your email, company name, and accept the terms.
I’ll leave this blog here, but for more information, here is the documentation: https://docs.kasten.io/latest/usage/usage.html
Here you’ll find a dashboard overview and a built-in dashboard tour. These documents will also lead you through setting up a location profile (somewhere to send your backups) and protecting your applications and data.
You can also go ahead and try Veeam Kasten for free!