For a production deployment of VMware Cloud Foundation (VCF), there is a good reason why you might not want to run everything on a single ESX host. π
Assuming you understand how the minimum ESX host requirements are derived for VCF deployments, there are certainly benefits to deploying a resource-optimized VCF environment for lab or proof-of-concept (POC) purposes. Being able to exercise workflows such as creating a new VCF Workload Domain or adding a new VCF Cluster with just a single ESX host can be extremely useful.
In fact, this has been possible since VCF 5.x and is something I have personally used to quickly stand up a full VCF environment or expand an existing one, which I have documented over the past few years:
- VCF 5.x Management Domain on single ESX Host (2023)
- VCF 5.x Workload Domain on a single ESX Host (2023)
- VCF 9.0.x Fleet on single ESX Host (2025)
- VCF 9.0.x Workload Domain via VCF Import of single ESX Host (2023)
- VCF 9.1.x Fleet on single ESX Host (2026)
While the scenarios above are the most common use cases for a single ESX host, deploying a new VCF Cluster with just one host has been a less common request, but it has also been possible.
To be able to deploy a new VCF Fleet, Workload Domain or Cluster using just a single ESX host requires applying a workaround, which I have captured in my comprehensive VCF 9.1.x Installer and SDDC Manager Configuration Workaround for Lab Deployments blog post.
Up until VCF 9.1.1 which enhanced the Day 0 experience for deploying a VCF Fleet with just a single ESX host, if you just applied the workaround and attempted a deployment using the UI, you most likely will see one of the following errors:
Here is a screenshot when attempting to deploy a new Workload Domain with single ESX host:

Here is a screenshot when attempting to deploy a new Cluster with single ESX host:

For Day N operations, such as creating a new Workload Domain or Cluster, the UI will continue to default to the recommended minimum host requirements. To deploy either workflow using fewer hosts, the deployment must be initiated using the SDDC Manager API.
Since I recently needed to deploy a Workload Domain with a single ESX host, I built a couple of PowerShell scripts to simplify both workflows. You simply provide a configuration file with your intended deployment, and the script will automate the deployment using the SDDC Manager API with minimal effort.
- vcf-9.1.1-single-host-shared-nsx-wld-deployment.ps1 (sample input file: sample-vcf-single-host-shared-nsx-wld-variables.ps1)
- vcf-9.1.1-single-host-cluster-deployment.ps1 (sample input file: sample-vcf-single-host-cluster-variables.ps1)
Use the -ValidateOnly argument to perform a validation of the input before attempting deployment.
Here is an example for validating new Workload Domain deployment using single ESX host and sharing an existing NSX instance:
./vcf-9.1.1-single-host-shared-nsx-wld-deployment.ps1 -EnvConfigFile ./sample-vcf-single-host-shared-nsx-wld-variables.ps1 -ValidateOnly

Here is an example for validating new Cluster deployment using single ESX host:
./vcf-9.1.1-single-host-cluster-deployment.ps1 -EnvConfigFile ./sample-vcf-single-host-cluster-variables.ps1 -ValidateOnly

If the validation is successful, you can then proceed with the deployment by removing the -ValidateOnly argument

Once the deployment has successfully started, you can monitor the progress using the SDDC Manager UI or vCenter Server UI (as the SDDC Manager tasks are now integrated started with VCF 9.1.0 and later).
As you can see from the screenshot below, I have successfully deployed a new VCF Cluster using a single ESX host!

Here is a table that quickly summarizes deployment scenarios where use a single ESX host can be used and which interface should be used for a successful deployment:
| Deployment | 9.1.0 UI | 9.1.0 API | 9.1.1 UI | 9.1.1 API |
|---|---|---|---|---|
| New VCF Fleet w/Mgmt Domain | β | β | β | β |
| New Workload Domain | β | β | β | β |
| Import Workload Domain | β | β | β | β |
| New Cluster | β | β | β | β |

Thanks for the comment!