Deployment JSON Explained
VCF Deployment JSON explained
This is a breakdown of the JSON that I’ve used for deploying VCF9.
Physical hardware
| Component | Specification |
|---|---|
| Host | Minisforum A2 |
| CPU | AMD Ryzen 9 9955HX (16 cores / 32 threads) |
| RAM | 128GB DDR5 |
| Storage | 500GB NVMe (vmstore1) + 1TB NVMe (vmstore2) |
Nested ESXi VM Allocation
| VM | vCPUs | RAM | Hosted VMs | Notes |
|---|---|---|---|---|
| esxi-mgmt-01 | 8 | 36GB | SDDC Manager (~16GB) | Cloud Builder converts to SDDC Manager |
| esxi-mgmt-02 | 10 | 52GB | vCenter (~20GB) + NSX Manager (~24GB) | Heaviest workload host |
| esxi-mgmt-03 | 8 | 36GB | Workload VMs | Available for lab workloads |
| Total | 26 | 124GB | Leaves ~4GB for Proxmox overhead |
Important
The VCF-Installer VM becomes the SDDC Manager after the VCF deployment is complete.
VCF Management Domain Architecture
┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ VCF MANAGEMENT DOMAIN: lab-m01 │
│ Datacenter: lab-dc01 │
│ Cluster: lab-cl01 │
├─────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────────────────────────────────────────────────────────┐ │
│ │ SDDC MANAGER │ │
│ │ vcf-installer.lab.fiveorange.net │ │
│ │ (Uses Existing Deployment) │ │
│ └─────────────────────────────────────────────────────────────────────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────────────────────────────────────────────────────────────────────────────────────────┐ │
│ │ vCENTER SERVER │ │
│ │ vcenter.lab.fiveorange.net │ │
│ │ Size: small │ │
│ │ SSO Domain: vsphere.local │ │
│ └─────────────────────────────────────────────────────────────────────────────────────────────────────────┘ │
│ │ │
│ ┌────────────────────────┼────────────────────────┐ │
│ ▼ ▼ ▼ │
│ ┌──────────────────────────┐ ┌──────────────────────────┐ ┌──────────────────────────┐ │
│ │ ESXi Host 1 │ │ ESXi Host 2 │ │ ESXi Host 3 │ │
│ │ esxi-mgmt-01.lab │ │ esxi-mgmt-02.lab │ │ esxi-mgmt-03.lab │ │
│ │ .fiveorange.net │ │ .fiveorange.net │ │ .fiveorange.net │ │
│ │ │ │ │ │ │ │
│ │ vMotion IP: │ │ vMotion IP: │ │ vMotion IP: │ │
│ │ 192.168.201.61 │ │ 192.168.201.62 │ │ 192.168.201.63 │ │
│ │ │ │ │ │ │ │
│ │ vSAN IP: │ │ vSAN IP: │ │ vSAN IP: │ │
│ │ 192.168.202.64 │ │ 192.168.202.65 │ │ 192.168.202.66 │ │
│ │ │ │ │ │ │ │
│ │ TEP IP: │ │ TEP IP: │ │ TEP IP: │ │
│ │ 192.168.203.71-80 │ │ 192.168.203.71-80 │ │ 192.168.203.71-80 │ │
│ │ (from pool) │ │ (from pool) │ │ (from pool) │ │
│ └──────────────────────────┘ └──────────────────────────┘ └──────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘Distributed Virtual Switch (VDS)
┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ DISTRIBUTED VIRTUAL SWITCH: lab-cl01-vds01 │
│ MTU: 1600 │
├─────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ │
│ PHYSICAL UPLINKS │
│ ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐ │
│ │ vmnic0 ──────► uplink1 │ │
│ │ Teaming Policy: LOADBALANCE_SRCID │ │
│ └───────────────────────────────────────────────────────────────────────────────────────────────────────────┘ │
│ │ │
│ ┌───────────────────────────────┼───────────────────────────────┐ │
│ │ │ │ │
│ ┌────────────────┴────────────────┐ ┌───────────┴───────────┐ ┌─────────────────┴─────────────────┐ │
│ │ │ │ │ │ │ │
│ │ PORT GROUPS │ │ NSX TRANSPORT │ │ NSX OVERLAY NETWORK │ │
│ │ │ │ ZONE │ │ │ │
│ │ ┌───────────────────────────┐ │ │ ┌─────────────────┐ │ │ ┌─────────────────────────────┐ │ │
│ │ │ lab-cl01-vds01-pg-esx-mgmt│ │ │ │ VCF-Created- │ │ │ │ TEP IP Pool │ │ │
│ │ │ (MANAGEMENT) │ │ │ │ Overlay-Zone │ │ │ │ lab-m01-tep-pool │ │ │
│ │ │ 192.168.200.0/24 │ │ │ │ │ │ │ │ 192.168.203.0/24 │ │ │
│ │ │ VLAN: 0 (untagged) │ │ │ │ Type: OVERLAY │ │ │ │ GW: 192.168.203.1 │ │ │
│ │ │ MTU: 1500 │ │ │ │ │ │ │ │ Range: .71-.80 │ │ │
│ │ └───────────────────────────┘ │ │ └─────────────────┘ │ │ └─────────────────────────────┘ │ │
│ │ │ │ │ │ │ │
│ │ ┌───────────────────────────┐ │ └───────────────────────┘ └───────────────────────────────────┘ │
│ │ │ lab-cl01-vds01-pg-vm-mgmt │ │ │
│ │ │ (VM_MANAGEMENT) │ │ │
│ │ │ 192.168.200.0/24 │ │ │
│ │ │ VLAN: 0 (untagged) │ │ │
│ │ │ MTU: 1500 │ │ │
│ │ └───────────────────────────┘ │ │
│ │ │ │
│ │ ┌───────────────────────────┐ │ │
│ │ │ lab-cl01-vds01-pg-vmotion │ │ │
│ │ │ (VMOTION) │ │ │
│ │ │ 192.168.201.0/24 │ │ │
│ │ │ VLAN: 0 (untagged) │ │ │
│ │ │ MTU: 1500 │ │ │
│ │ └───────────────────────────┘ │ │
│ │ │ │
│ │ ┌───────────────────────────┐ │ │
│ │ │ lab-cl01-vds01-pg-vsan │ │ │
│ │ │ (VSAN) │ │ │
│ │ │ 192.168.202.0/24 │ │ │
│ │ │ VLAN: 0 (untagged) │ │ │
│ │ │ MTU: 1500 │ │ │
│ │ └───────────────────────────┘ │ │
│ │ │ │
│ └─────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘NSX-T network connectivity
┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ NSX-T MANAGER ARCHITECTURE │
├─────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────────────────────────────────────────────────────────┐ │
│ │ NSX Manager (Single Node) │ │
│ │ │ │
│ │ Manager FQDN: nsxmgr.lab.fiveorange.net │ │
│ │ VIP FQDN: nsxmgr-vip.lab.fiveorange.net │ │
│ │ Size: medium │ │
│ │ SSH: Enabled │ │
│ │ Root Login: Enabled │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────────────────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────────────────────────────────────────────────────────────────────────────────────────┐ │
│ │ TRANSPORT ZONE │ │
│ │ VCF-Created-Overlay-Zone │ │
│ │ Type: OVERLAY │ │
│ └─────────────────────────────────────────────────────────────────────────────────────────────────────────┘ │
│ │ │
│ ┌────────────────────────┼────────────────────────┐ │
│ ▼ ▼ ▼ │
│ ┌──────────────────────────┐ ┌──────────────────────────┐ ┌──────────────────────────┐ │
│ │ Transport Node 1 │ │ Transport Node 2 │ │ Transport Node 3 │ │
│ │ (esxi-mgmt-01) │ │ (esxi-mgmt-02) │ │ (esxi-mgmt-03) │ │
│ │ │ │ │ │ │ │
│ │ N-VDS: lab-cl01-vds01 │ │ N-VDS: lab-cl01-vds01 │ │ N-VDS: lab-cl01-vds01 │ │
│ │ │ │ │ │ │ │
│ │ TEP Interface │ │ TEP Interface │ │ TEP Interface │ │
│ │ 192.168.203.x │ │ 192.168.203.x │ │ 192.168.203.x │ │
│ │ (from TEP Pool) │ │ (from TEP Pool) │ │ (from TEP Pool) │ │
│ └──────────────────────────┘ └──────────────────────────┘ └──────────────────────────┘ │
│ │ │ │ │
│ └────────────────────────────┼────────────────────────────┘ │
│ ▼ │
│ ┌─────────────────────────────────────────────────────────────────────────────────────────────────────────┐ │
│ │ GENEVE TUNNEL MESH │ │
│ │ (Overlay Network Encapsulation) │ │
│ │ │ │
│ │ All ESXi hosts establish GENEVE tunnels to each other using TEP IPs │ │
│ │ This enables VM-to-VM communication across hosts on overlay networks │ │
│ │ │ │
│ │ Note: skipNsxOverlayOverManagementNetwork = true │ │
│ │ (Overlay traffic uses separate TEP network, not management network) │ │
│ └─────────────────────────────────────────────────────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘vSAN storage
┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ vSAN CLUSTER STORAGE │
│ Datastore: lab-cl01-vsan-ds01 │
├─────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ │
│ Configuration: │
│ ├── Failures to Tolerate (FTT): 1 │
│ ├── Deduplication: Disabled │
│ └── ESA (Express Storage Architecture): Disabled │
│ │
│ ┌──────────────────────────┐ ┌──────────────────────────┐ ┌──────────────────────────┐ │
│ │ esxi-mgmt-01 │ │ esxi-mgmt-02 │ │ esxi-mgmt-03 │ │
│ │ │ │ │ │ │ │
│ │ vSAN Network: │ │ vSAN Network: │ │ vSAN Network: │ │
│ │ 192.168.202.64 │ │ 192.168.202.65 │ │ 192.168.202.66 │ │
│ │ │ │ │ │ │ │
│ │ ┌──────────────────┐ │ │ ┌──────────────────┐ │ │ ┌──────────────────┐ │ │
│ │ │ Disk Group(s) │ │ │ │ Disk Group(s) │ │ │ │ Disk Group(s) │ │ │
│ │ │ Cache + Capacity│ │ │ │ Cache + Capacity│ │ │ │ Cache + Capacity│ │ │
│ │ └──────────────────┘ │ │ └──────────────────┘ │ │ └──────────────────┘ │ │
│ └──────────────────────────┘ └──────────────────────────┘ └──────────────────────────┘ │
│ │ │ │ │
│ └────────────────────────────┼────────────────────────────┘ │
│ ▼ │
│ ┌─────────────────────────────────────────────────────────────────────────────────────────────────────────┐ │
│ │ vSAN DISTRIBUTED DATASTORE │ │
│ │ lab-cl01-vsan-ds01 │ │
│ │ │ │
│ │ Storage policies automatically replicate data across hosts based on FTT setting │ │
│ │ Data is striped and mirrored across the 3 hosts for redundancy │ │
│ └─────────────────────────────────────────────────────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘Network Traffic Flow diagram
┌─────────────────┐
│ External │
│ Network │
└────────┬────────┘
│
┌────────┴────────┐
│ pfSense │
│ 192.168.200.1 │
│ (Gateway/DNS) │
└────────┬────────┘
│
┌──────────────────────────────────┼──────────────────────────────────┐
│ │ │
▼ ▼ ▼
┌─────────────────────────┐ ┌─────────────────────────┐ ┌─────────────────────────┐
│ MANAGEMENT TRAFFIC │ │ STORAGE TRAFFIC │ │ OVERLAY TRAFFIC │
│ 192.168.200.0/24 │ │ │ │ │
│ │ │ ┌───────────────────┐ │ │ ┌───────────────────┐ │
│ • ESXi Management │ │ │ vSAN Traffic │ │ │ │ TEP Traffic │ │
│ • vCenter Access │ │ │ 192.168.202.0/24 │ │ │ │ 192.168.203.0/24 │ │
│ • NSX Manager Access │ │ │ │ │ │ │ │ │
│ • SDDC Manager Access │ │ │ vMotion Traffic │ │ │ │ GENEVE Tunnels │ │
│ • VM Management │ │ │ 192.168.201.0/24 │ │ │ │ (VM Overlay) │ │
│ │ │ │ │ │ │ │ │ │
└─────────────────────────┘ │ └───────────────────┘ │ │ └───────────────────┘ │
└─────────────────────────┘ └─────────────────────────┘Resource Allocation Diagram
┌─────────────────────────────────────────────────────────────────────────────────────────┐
│ MINISFORUM A2 - AMD Ryzen 9 9955HX │
│ 128GB RAM / 16 Cores │
├─────────────────────────────────────────────────────────────────────────────────────────┤
│ PROXMOX VE 8.x (~4GB RAM reserved for hypervisor) │
│ │
│ ┌─────────────────────┐ ┌─────────────────────┐ ┌─────────────────────┐ │
│ │ esxi-mgmt-01 │ │ esxi-mgmt-02 │ │ esxi-mgmt-03 │ │
│ │ │ │ │ │ │ │
│ │ vCPUs: 8 │ │ vCPUs: 10 │ │ vCPUs: 8 │ │
│ │ RAM: 36GB │ │ RAM: 52GB │ │ RAM: 36GB │ │
│ │ │ │ │ │ │ │
│ │ ┌───────────────┐ │ │ ┌───────────────┐ │ │ │ │
│ │ │ SDDC Manager │ │ │ │ NSX. │ │ │ ┌───────────────┐ │ │
│ │ │ (~16GB) │ │ │ │ (~20GB) │ │ │ │ vCenter │ │ │
│ │ └───────────────┘ │ │ └───────────────┘ │ │ │ (~20GB) │ │ │
│ │ │ │ │ │ └───────────────┘ │ │
│ │ ~20GB free for │ │ │ │ │ │
│ │ transport node + │ │ │ │ │ │
│ │ small workloads │ │ │ │ │ │
│ │ │ │ │ │ │ │
│ │ │ │ ~8GB free for │ │ │ │
│ │ │ │ transport node │ │ │ │
│ └─────────────────────┘ └─────────────────────┘ └─────────────────────┘ │
│ │
│ CPU Overcommit Ratio: 26 vCPUs / 16 cores = 1.625:1 (acceptable for nested lab) │
│ RAM Utilization: 124GB / 128GB = 97% (tight but workable) │
└─────────────────────────────────────────────────────────────────────────────────────────┘DRS Affinity Rules (Post-Deployment)
After VCF bringup, configure these DRS VM-Host affinity rules in vCenter to pin management VMs:
| Rule Name | VM | Target Host | Rule Type |
|---|---|---|---|
| sddc-on-esxi01 | SDDC Manager | esxi-mgmt-01 | Must run on |
| nsx-on-esxi02 | NSX. | esxi-mgmt-02 | Must run on |
| vCenter-on-esxi02 | vCenter | esxi-mgmt-02 | Must run on |
Complete IP summary
┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ IP ADDRESS ALLOCATION │
├─────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ │
│ MANAGEMENT NETWORK (192.168.200.0/24) │
│ ├── Gateway/DNS/NTP: 192.168.200.1 (pfSense) │
│ ├── DNS Server: 192.168.200.5 │
│ ├── Proxmox VE: 192.168.200.10 (hypervisor) │
│ ├── VCF Installer: 192.168.200.49 │
│ ├── SDDC Manager: 192.168.200.51 (vcf-installer.lab.fiveorange.net) │
│ ├── vCenter: 192.168.200.52 (vcenter.lab.fiveorange.net) │
│ ├── NSX Manager: 192.168.200.53 (nsxmgr.lab.fiveorange.net) │
│ └── ESXi Management: 192.168.200.21-23 (esxi-mgmt-01/02/03) │
│ │
│ VMOTION NETWORK (192.168.201.0/24) │
│ ├── Gateway: 192.168.201.1 │
│ └── ESXi vMotion: 192.168.201.61-63 (esxi-mgmt-01/02/03) │
│ │
│ VSAN NETWORK (192.168.202.0/24) │
│ ├── Gateway: 192.168.202.1 │
│ └── ESXi vSAN: 192.168.202.64-66 (esxi-mgmt-01/02/03) │
│ │
│ TEP/OVERLAY NETWORK (192.168.203.0/24) │
│ ├── Gateway: 192.168.203.1 │
│ └── TEP Pool: 192.168.203.71-80 (assigned dynamically to transport nodes) │
│ │
└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘