I recently deployed the Local Consumption Interface (LCI) which is a new vSphere IaaS (formerly vSphere with Tanzu) Control Plane Service that was just introduced with the release of vSphere 8.0 Update 3 into my homelab.
Successfully deployed the new vSphere IaaS (formally vSphere w/Tanzu) Local Consumption Interface (LCI) Service https://t.co/1fbTUiNjJd
Needed to refer to docs to figure out how to actually access the LCI UI, its under Resources within vSphere Namespace! #vSphere80U3 pic.twitter.com/Wu9afjzVx6
— William Lam (@lamw.bsky.social | @*protected email*) (@lamw) July 7, 2024
While going through the manual vSphere UI deployment, I noticed there were only handful of vSphere IaaS services that are shipped out of the box including the VM Service (VM Operator), Velero vSphere Operator and Tanzu Kubernetes Grid (TKG) Service.
The workflow to register a new vSphere IaaS service is not difficult, but it does take multiple steps from downloading the deployment YAML file, uploading the file to vCenter Server and then confirm the deployment before the deployment of the service begins and this would have to be done for each vSphere IaaS service you wish to deploy!
There has to be a better and more streamline way, especially for those that do not like to click to many times in the UI 😅
There are a over dozen plus vSphere IaaS control plane services that can be deployed today and after browsing the vSphere IaaS Service Github repository, I figured we should be able to quickly automate the deployment of all or subset of vSphere IaaS services ...
To accomplish this task, we will leverage the vSphere IaaS (vSphere Automation REST API) Supervisor Services API and to demonstrate the use of this API, I have created a simple PowerCLI script called deploy_vsphere_iaas_service_definitions.ps1
Since the vSphere IaaS deployment YAML is using a Carvel-based specification, we just need to use the carvel_spec as described in the API documentation and then provide a base64 encoding of the deployment YAML and then send deployment request to vCenter Server!
Step 1 - Download the deploy_vsphere_iaas_service_definitions.ps1 script and adjust the specific vSphere IaaS deployment YAMLs that you wish to deploy and save your changes.
Step 2 - Use the Connect-CisServer cmdlet to connect to your vCenter Server to be able to perform operations using the vSphere Automation REST API using PowerCLI
Connect-CisServer -Server vcsa.primp-industries.local -User administrator[at]vsphere.local -Password VMware1!
Step 3 - Run the script as shown in the example below:
./deploy_vsphere_iaas_service_definitions.ps1
As you can see from the output above, the script will iterate through the list of vSphere IaaS deployment YAML URLs, encode the YAML and use the vSphere API to automatically register it with your vCenter Server. It literally takes a few seconds to register all vSphere IaaS services within the Github repository where as deploying one can take a few minutes including the need to manually download the deployment YAML 🙂
John says
VMware with Tanzu has been renamed to IaaS Control Plane, so it‘s „formerly known as Tanzu“.
'Formerly' refers to something in the past or previous times.
'Formally' describes something that is official or proper.
William Lam says
Fixed. I'm blaming auto-correct 😛
Ozer Salman says
There should be 10 times easier method to add Root CAs and proxy configuration to somewhere in UI for guest clusters.
Daniel says
What is the benefit of doing this over using the Tanzu CLI?
William Lam says
Tanzu CLI is for deploying workloads, this is all about registering the services, such that you CAN deploy 🙂
Daniel says
So installing into the supervisor cluster, not the workload clusters?
William Lam says
That's correct, these are Supervisor or vSphere Iaas Control Plane Services ... once you've enabled these services, you can then install them onto a specific Supervisor based on your needs and then ultimately deploy these as end user consumable services, just like you might find in the public cloud
Leaha says
Have you got a plan for any guides on setting up the IaaS? I'm finding the documentation is terrible from VMware, and seeing it up with NSX or haproxy is beyond impossible
CG says
What's the end user experience for the LCI? How configurable is this end user experience?