Now that you can deploy a VMware Cloud Foundation (VCF) Management Domain onto a single ESXi host for homelab purposes, another challenge that can arise is simply having enough resources to deploy either a Management or Workload Domain.
While you do need to meet some minimum bar in terms of the amount of CPU and memory resources required to run the various components within a VCF Management or Workload Domain, I found that NSX resource requirements does add another challenge. The NSX Unified Appliance comes configured with both CPU and memory reservations, this means unless you can reserve both the required CPU and Memory for NSX, you can not power on NSX and the deployment will continue to retry until it eventually gives up.
Again, for a production environment, this is not a problem but for homelab or testing purposes, this can further restrict users from exploring the VCF solution.
I figured why not just reduce or even remove the CPU and memory reservations from the NSX OVA within the VMware Cloud Builder which is responsible for the initial VCF bringup? Well, I quickly found out why as the ISO which contains all the OVA is mounted as read-only 🙂
Luckily, all hope is not lost and this is where I learned to leverage a neat Linux kernel capability called OverlayFS which can help us! With a bit of trial/error, I was able to remove the CPU and memory reservations from the NSX appliance that is used during the deployment of a VCF Management Domain. In addition, I also ran into the same challenge when deploying a VCF Workload Domain and luckily, that was a much easier solution to figure out.
Disclaimer: This is not supported by VMware, use at your own risk. As of writing this blog post, this trick is functional on latest VCF 4.5 release.