VMware Cloud Foundation 9: VCF Installer Walkthrough

392

VMware Cloud Foundation (VCF) 9 marks the first major release following Broadcom’s acquisition of VMware and it’s a substantial step forward. Designed to deliver public cloud-like capabilities within on-premises private cloud environments, VCF 9 offers a more streamlined, integrated, and automated experience than ever before.

This post kicks off a new hands-on series exploring VCF 9, starting with an in-depth look at the all-new VCF Installer the next-generation replacement for Cloud Builder (used in VCF 5.2 and earlier).

What’s New: A Better Installer Experience

The VCF 9 Installer is a massive improvement over its predecessor. Compared to the old Excel-based Cloud Builder method, the new approach is more robust, polished, and streamlined. It comes with:

  • A modernized wizard-based UI
  • Significantly improved built-in validation
  • Support for JSON-based configuration files
  • Broader scope of deployment, reducing post-bring-up tasks

You can now choose between using the interactive UI wizard or simply uploading a JSON file for automation.

High-Level Logical Components

The diagram below shows the components of a VCF 9 deployment. It introduces the VCF Fleet, with Operations and Automation sitting above the VCF Instance. These fleet-level services provide centralised management across multiple instances, while each instance includes its own vCenter, NSX Manager, vSphere Cluster, and SDDC Manager.

VCF 9 High-Level Logical Components

Before We Begin: Lessons from the Lab

Before diving into the walkthrough, I want to share a few hard-earned lessons from building this nested ESX 9 lab environment. These issues stemmed from running a nested lab setup and may save you hours of troubleshooting:

Don’t Clone ESXi VMs

Cloning ESXi VMs is tempting when setting up a lab quickly, but it causes subtle and painful issues. As of 2021, William Lam has updated his guidance to recommend not cloning ESXi hosts — and I fully agree after losing hours to it.

Use the vSAN ESA Mock VIB, Not JSON

If you’re using vSAN ESA for your management domain. Don’t use the create_custom_vsan_esa_hcl_json.ps1 script. While it helps pass validation, for me, it lead to failures during vCenter deployment:

Error: No storage pool eligible disks found on ESXi Host xyxyxyxy
Remediation: Provide ESXi Host with vSAN ESA eligible disks
Reference Token: GU0SAE

Instead, use the vSAN ESA HCL mock VIB method.

Enable Promiscuous Mode and Forged Transmit

While MAC Learning + Forged Transmit is better for performance, the deployment failed at:

“Migrate ESXi Host Management vmknic(s) to vSphere Distributed Switch”

For installation, enable Promiscuous Mode and Forged Transmit. You can revert to your preferred settings post-deployment.

DNS Requirements

As with previous VCF versions, DNS pre-configuration is critical. Missing or incorrect DNS entries will cause deployment validation to fail. The table below lists the required entries for my setup:

NameIP AddressPurpose
vcf-ins-0110.50.10.1VCF 9 Installer
vcf-m1-esx0110.50.10.11Mgmt. Domain ESX host
vcf-m1-esx0210.50.10.12Mgmt. Domain ESX host
vcf-m1-esx0310.50.10.13Mgmt. Domain ESX host
vcf-m1-esx0410.50.10.14Mgmt. Domain ESX host
vcf-m1-vc0110.50.10.21Mgmt. Domain vCenter
vcf-sddc10.50.10.20SDDC Manager
vcf-portal10.50.10.109VCF Automation
vcf-m1-nsx10.50.10.30Mgmt. Domain NSX Virtual IP
vcf-m1-nsx0110.50.10.31Mgmt. Domain NSX Node
vcf-m1-nsx0210.50.10.32Mgmt. Domain NSX Node
vcf-m1-nsx0310.50.10.33Mgmt. Domain NSX Node
vcf-ops-pri10.50.10.101VCF Operations Primary
vcf-ops-rep10.50.10.102VCF Operations Replica
vcf-ops-data10.50.10.103VCF Operations Data
vcf-ops-col10.50.10.104VCF Operations Collector
vcf-fleet10.50.10.110VCF Operations fleet management appliance 

ESX 9 VM configuration

Let’s start with building the nested ESX 9 environment. (Yes — it’s back to being called ESX, not ESXi!)

VM Build

I’m deploying the management domain as a vSAN ESA cluster. The nested VM configuration is based on the following key settings:

  • 24 vCPUs
    The VCF Automation VM requires 24 vCPUs to boot successfully for a single-node installation. Thanks to Erik for highlighting this requirement in his excellent post on VCF Automation vCPU requirements.
  • Four Network Adapters
    Add four NICs to each ESX VM. This enables flexibility in network topology and supports various deployment scenarios.
  • NVMe Controller
    Use an NVMe controller for all hard disks. This is critical for vSAN ESA compatibility.
  • CPU Virtualization Settings
    In the VM options, expose hardware-assisted virtualization to the guest OS. Without this setting, nested ESX VMs will be unable to power on child VMs.
  • Post-Install Cleanup
    After installing ESX 9, remove the CD-ROM drive and SCSI controller. These are no longer needed and can cause the installer to fail.
Expose hardware assisted virtualisation to the guest OS
ESX 9 VM Configuration – CPU Configuration

Ensure the hard drives are using the NVME controller.

Now that the nested VMs are configured, you’re ready to install ESX 9 on each of them.

ESX 9 Configuration

Step 1 – Set a Compliant Root Password.
The VCF Installer enforces strict password requirements. Ensure the root password on each ESX 9 host meets the following criteria:

Password must contain at least 1 special character. Special characters [@!#$%?^]. Password must contain only letters, numbers and the following special characters: [@!#$%?^]

Step 2 – Configure NTP.
Time synchronization is critical for VCF deployments. You can configure NTP using either the command line or the vSphere web interface.

Option 1: Using esxcli (CLI Method)

# Specify the NTP servers by IP address
esxcli system ntp set -s=192.168.1.2

# Start the ntpd service
esxcli system ntp set -e=yes

# Check the status
esxcli system ntp get

Option 2: Using the vSphere UI

If you prefer a graphical interface, you can configure NTP settings via the ESX host UI. Follow the same steps used in ESXi 8 NTP Configuration — they apply to ESX 9 as well.

Step 3 – Generate SSL Certificates with the correct CN.

/sbin/generate-certificates
/etc/init.d/hostd restart && /etc/init.d/vpxa restart

If you do not do this, you will likely get the error

jjavax.net.ssl.SSLPeerUnverifiedException: Certificate for FQDN doesn’t match any of the subject alternative names: [localhost.localdomain]

VCF Installer – Host certificate CN does not match
VMware Cloud Foundation 9: VCF Installer Walkthrough 5

As we are deployed a nested lab, I need to emulate compatible host hardware to get it to build a vSAN ESA node.

vSAN VIB – Enabling vSAN ESA Compatibility in a Nested Lab

As mentioned earlier, I needed to use the vSAN ESA HCL hardware mock VIB to deploy VCF 9 successfully in a nested lab environment. The JSON override method passed validation but failed during deployment — specifically when VCF attempted to create the vSAN storage pool.

Deployment Error Encountered

No storage pool eligible disks found on ESXi Host xyxyxyxy Remediation: No storage pool eligible disks found on ESXi Host. Provide ESXi Host with vSAN ESA eligible disks Reference Token: GU0SAE

To avoid this, I followed William Lam’s workaround documented in his post: vSAN ESA Disk & HCL Workaround for VCF 9.0

Below is a step-by-step guide to installing the mock VIB required to emulate ESA-compatible hardware.

Step 1 – Enable SSH on the ESX Host
You’ll need SSH access to copy the file and run commands.

Step 2 – Copy the VIB to the Host
Download the mock VIB from William Lam’s GitHub repository and use WinSCP (or your preferred SCP tool) to transfer it to the root (/) directory of the ESX host.

Tip: Do not copy the VIB to /tmp. While the install may appear to succeed, VCF bring-up might fail unless the file is placed in /

WinSCP – nested_vsan_esa_mock_hw.vib
VMware Cloud Foundation 9: VCF Installer Walkthrough 6

Step 3 – Install the VIB
SSH into the host and run the following commands:


# Set acceptance level to CommunitySupported

[root@esxi:~] esxcli software acceptance set --level CommunitySupported

# Install the VIB

[root@esxi:~] esxcli software vib install -v /nested-vsan-esa-mock-hw.vib --no-sig-check

You should see an output like this:

Installation Result
Message: Operation finished successfully.
VIBs Installed: williamlam.com_bootbank_nested-vsan-esa-mock-hw_1.0.0-1.0
VIBs Removed:
VIBs Skipped:
Reboot Required: false

Step 4 – Restart the vSAN Management Service

[root@esxi:~] /etc/init.d/vsanmgmtd restart

With the hosts fully prepared — including vSAN support, NTP, DNS, and certificates — we’re ready to deploy the VCF 9 Installer appliance.

80%
Awesome
  • Design
Leave A Reply

Your email address will not be published.

Ads Blocker Image Powered by Code Help Pro

Ads Blocker Detected!!!

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.

Powered By
Best Wordpress Adblock Detecting Plugin | CHP Adblock