Tanzu Community Edition on vSphere Installation Notes
January 17, 2022I was messing around in my vSphere home lab and wanted to try out the new Tanzu Community Edition that was recently announced. After getting up to speed on some of the documentation, I tried the installation out in my vSphere 7 lab. There were a couple of notes that I think will help some other people get started with their installation.
Bootstrapping on MacBook
The installation on my MacBook kept failing when trying to deploy the management cluster in my vSphere environment. It turned out that the version of docker I was using was leveraging cgroupsv2 which caused an issue with the bootstrap process. You can read more info about the fixes being worked on in this GitHub issue. To workaround this issue, I pre-deployed a kind cluster using the command:
kind create cluster
Once the kind cluster was up and running, I re-ran the deployment with the
--use-existing-bootstrap-cluster kind-kind
switch, which tells the cli to use the pre-built kind cluster as the bootstrap cluster. This worked around the cgroupsv2 interoperability issue for me. Under normal circumstances you could just run a deployment with the –ui switch and fill out some information in a web page. But, that process currently has an issue with the cgroupsv2 so we use an existing bootstrap cluster instead. Just copy the command at the bottom of the ui installer as seen here.
Then use it in a command prompt with the additional –use-existing-bootstrap-cluster kind-kind switch.
Persistent Volumes Won’t Deploy
After my clusters were deployed I started to deploy an app that required the use of persistent volumes. Luckily, my cluster was deployed with a default storage class from the beginning, so I built a persistent volume claim to provision a volume for my app. Unfortunately I wasn’t able to get a persistent volume to be created. After looking at the logs in the vsphere-csi-controller container located in the kibe-system namespace, I started seeing errors related to:
createSpecs.datastores is empty
After reading through this issue vsphere-csi driver issue in GitHub, I decided to re-deploy my Tanzu Kubernetes clusters with my username changed from “eshanks” to “eshanks@domain.com“. After which, I tried to use persistent volumes again and there were no more issues. So when you’re deploying your TCE clusters use a User Principal Name format and save yourself the headaches.
If you’d like to see if you have similar errors run the command below on your workload cluster. If you’re having a storage issue on Tanzu Kubernetes clusters, this is a great container to check for hints on where the issue might lie.
kubectl logs vsphere-csi-controller-[replace-with-your-container-name] -n kube-system vsphere-csi-controller
Code language: JavaScript (javascript)
Summary
These two issues took me some time to troubleshoot so I hope that giving you a heads up on my experiences can help speed up your own deployments in your endeavors. Be sure to use a full User Principal Name during your installation, and pre-build your bootstrap cluster when you start your deploy.
[…] process of deploying a TCE cluster is documented here, but you might also take a look at my installation notes post. There are a couple of workarounds needed as of the time of this writing, to get the management […]