Say what!? 😎
As some of you may have noticed, the theme for several of my blog posts this week has been about deploying VMware Cloud Foundation (VCF) in a homelab environment.
To conclude this week, I thought it would be a fun experiment to see if I could leverage all the tricks that I have shared this week (here, here and here) and push the boundary even further and attempt to deploy a VCF Management Domain running on just a single Intel NUC?
Sounds crazy, right? I thought so too until I realized it was actually possible!
While you can deploy a basic VCF Management Domain running on a single Intel NUC, if your intention is to get the full benefit and power out of the VCF solution, you will definitely need more resources and ideally additional ESXi hosts, especially if you want to deploy a VCF Workload Domain and the management components will not fit onto a single Intel NUC.
Disclaimer: This is not officially supported by VMware, use at your own risk.
Requirements:
- VMware Cloud Builder 4.5 OVA (Build 20612863)
- VCF 4.5 Licenses
- Intel NUC configured with
- 64GB of memory or more
- Dual onboard networking ("Tall" NUC like Intel NUC 11 Pro, which is what I had used), no USB NICs
- 2 x SSD that are empty for use for vSAN bootstrap (500GB+ for capacity)
- ESXi 7.0 Update 3g installed on the Intel NUC using USB device
- Ability to deploy and run the VMware Cloud Builder (CB) Appliance in a separate environment (ESXi/Fusion/Workstation)
Note: While my experiment used an Intel NUC, any system that meets the basic requirements above should also work.
Procedure:
Step 1 - Boot up the ESXi installer from USB and then perform a standard ESXi installation using the same USB device that it was booted up from
Step 2 - Once ESXi is up and running, you will need to minimally configure networking along with an FQDN (ensure proper DNS resolution), NTP and specify which SSD should be used for the vSAN capacity drive. You can use the DCUI to setup the initial networking but recommend switching to ESXi Shell afterwards and finish the require preparations steps as demonstrated in the following ESXCLI commands:
esxcli system ntp set -e true -s pool.ntp.org
esxcli system hostname set --fqdn vcf-m01-esx01.primp-industries.local
esxcli vsan storage tag add -d [DISK_ID] -t capacityFlash
Note: Use vdq -q command to query for the available disks for use with vSAN and ensure there are no partitions residing on the disks
To ensure that the self-signed TLS certificate that ESXi generates matches that of the FQDN that you had configured, we will need to regenerate the certificate and restart hostd for the changes to go into effect by running the following commands within ESXi Shell:
/bin/generate-certificates
/etc/init.d/hostd restart
Step 3 - Deploy the VMware Cloud builder in a separate environment and wait for it to be accessible over the browser. Once CB is online, download the setup_vmware_cloud_builder_for_one_node_management_domain.sh setup script and transfer that to CB system.
Next, set the script to have executable permission and then run the script as shown below, it will automatically handle prepping the CB appliance to be able to deploy to the Intel NUC. For those interested in the details, the script is simply automating this and this.
chmod +x setup_vmware_cloud_builder_for_one_node_management_domain.sh
./setup_vmware_cloud_builder_for_one_node_management_domain.sh
The script will take some time, especially as it converts the NSX OVA->OVF->OVA and if everything was configured successfully, you should see the same output as the screenshot above.
Step 4 - Download the example JSON deployment file vcf45-management-domain-example.json and and adjust the values based on your environment. In addition to changing the hostname/IP Addresses you will also need to replace all the FILL_ME_IN_VCF_*_LICENSE_KEY with valid VCF 4.5 license keys.
Step 5 - Lastly, open a browser to CB and provide your modified JSON file to deployment wizard and watch the VCF Management Domain get deployed to your Intel NUC or any other system that you are using 🙂
Depending on the available resources, the deployment time will vary but it should eventually complete. Depending on your usage of the VCF Management Domain, you could reduce some of the resources. In my very limited testing, I was able to shutdown SDDC Manager and NSX Manager tune them down to 14GB and they seem to run fine. You probably can do same for vCenter Server, but make sure vCenter Server is operational before you start up both SDDC Manager since it uses vCenter SSO authentication.
Husam Hilal (@husamhilal) says
Would I be able to deploy without a license? Just for testing purposes.
Also, would a NUC with one NIC work?
I have NUC 11 Pro (single NIC) - NUC11TNHi70L
William Lam says
No, you will need valid licenses (hence the requirement section) and you’ll need 2 x NICs (as mentioned again in requirements)
pelusini says
What do you mean with "separate environment"? Do I need another NUC?
William Lam says
Another NUC or you can even use your desktop with VMware Fusion/Workstation
Lars Day says
Is it true that VCF licenses cost $118,000? So how does a home lab afford this huge cost?
William Lam says
$200 for VMUG Advantage (1yr non-prod) and you get access to pretty much the majority of VMware solutions
Mike says
Is it only $100 now?
William Lam says
$200* (sorry, typo). Still great value on top of all the other things you get
Matt Scott says
Great information. As far as SDDC anything that requires $ interaction with Amazon?
Matt says
Here's my error with the script.
root@CB01 [ ~ ]# chmod +x setup_vmware_cloud_builder_for_one_node_management_domain.sh
root@CB01 [ ~ ]# ./setup_vmware_cloud_builder_for_one_node_management_domain.sh
./setup_vmware_cloud_builder_for_one_node_management_domain.sh: line 7: syntax error near unexpected token `newline'
./setup_vmware_cloud_builder_for_one_node_management_domain.sh: line 7: `'