Today we are going to perform an export of our Pod Storage to a VBR server from Kasten.
I have a Tanzu Community Edition cluster setup on vSphere. I have setup the vsphere-csi-driver. That setup will be described in another post. For now I am leveraging one Tanzu Management Cluster 4 nodes, 1 controlplane and 3 worker nodes:
TCE has a lot of namespaces but I have Kasten installed in the Kasten.io namespace and a small Nginx pod in the nginx namespace:
It is very important to be leveraging the csi-vsphere driver in order to export to a Veeam VBR server, this can be seen here by the provisioner:
I decided to expose my services with Metallb since I have no experience with NSX-ALB, that might come one day:
Kasten is installed and we can see all the various namespaces in the dashboard:
I have created a backup policy:
One Important thing to keep in mind is that you can only export the snapshot data to Veeam for now. So you must also have another standard location available, S3 or NFS where retention points and other artifacts will be stored. I have Minio setup in another kubernetes cluster and have that and a Veeam Server as location profiles:
Here you can see that I am exporting my snapshot data to a Veeam Backup Repository (veeam profile) and the miniodr profile is being used for the other components:
When I run a backup, first the local snapshot takes place then the exports:
BUT WAIT.. can I see this in VEEAM?
Yes you can!
Let’s do a close up to see that cool new K10 Logo in a VBR console:
Now lets look at our oh so familiar backups and disk and see what surprises are there now:
Yup a Kubernetes Logo!!
Maybe we should see what we can do with this in the Veeam Console?
Wow. now that is cool.
We can mount and it will at first follow the normal Linux guest file restore procedure that we are used to:
We will go through to the end and get our seemingly usual window:
But wait.. that drive has only one file?
Yes that is the mount in my container, the Persistent Volume..
So this is the index file for my little website exposed at 10.0.100.64
Lets check out Web Master Geoff’s html coding skills:
Wow a Masterpiece of code!
Lets go into the pod and check just in case:
We can see that the persistent storage is mounted in the pod at /usr/share/nginx/html
K describe po -n nginx nginxwebsite
There is my index file.
Why don’t we see what is in my backup from yesterday? On the Veeam server I will copy this index file out of the contatiner persistent storage backup on to my windows VBR filesystem, WELCOME TO THE NEW WORLD OF MAXIMUM SYSTEMS INTEROPERABILITY!
There it is!
Hey lucky I have a backup from yesterday I really prefer the content in here.. I think I will restore it back to production…