Skip to content

ESXi 9 Getting Started Guide

This guide explains how to provision VMware ESXi 9 nodes using Digital Rebar. You'll configure the required profiles, upload ISOs, and apply a workflow to install ESXi 9 in a fully automated fashion.


Prerequisites

You must have:

  • A working Digital Rebar Endpoint
  • At least one discovered machine
  • The VMware plugin installed:
drpcli catalog item install vmware

Step 1: Upload the ESXi 9 ISO

List available ESXi 9 profiles:

drpcli profiles list | jq -r '.[].Name | select( . | contains("esxi9"))'

View the required ISO for a profile:

drpcli profiles show esxi-9.0-24755229 | jq -r '.Documentation'

Upload the ISO:

drpcli isos upload VMware-VMvisor-Installer-9.0.0.0.24755229.x86_64.iso

Note

The ISO filename and SHA256 hash must match exactly what the profile expects.


Step 2 (Optional): Create a BootEnv Override

If no profile matches your ISO, create a profile that overrides the bootenv:

Name: esxi-9.0-24755229-custom
Description: Custom ESXi 9.0 BootEnv override
Params:
  bootenv-customize:
    esxi9-install:
      OS:
        Name: esxi-9.0-24755229-custom
        SupportedArchitectures:
          amd64:
            IsoFile: VMware-VMvisor-Installer-9.0.0.0.24755229.x86_64.iso
            Sha256: 5d83e96c16f901cd59fd7d8c8c7c46000e11326eb11f9d1a42f5cfb36c1fc2b9
        Version: "900"

Then upload the referenced ISO:

drpcli isos upload VMware-VMvisor-Installer-9.0.0.0.24755229.x86_64.iso

Step 3: Create a Configuration Profile

This defines how ESXi installs and configures system options:

Name: esxi9-config
Params:
  esxi/disk-install-options: --firstdisk --overwritevmfs
  esxi/serial-console: gdbPort=none logPort=none tty2Port=com1
  esxi/shell-local: true
  esxi/shell-remote: true
  esxi/skip-notify: false
  esxi/skip-reboot: false
  esxi/skip-tools: true

Upload it:

drpcli profiles create esxi9-config.yaml

Step 4: Verify the Agent Context

ESXi installs use a Docker context called esxi-agent-runner. Verify it exists:

drpcli contexts list | jq -r '.[] | select (.Name == "esxi-agent-runner")' | jq .Image

Then check the file exists on the endpoint:

drpcli files list contexts/docker-context/ | grep <image-tag>

Replace <image-tag> with the actual image name from the first command.


Step 5: Set Machine Parameters

These are required for installation:

Params:
  esxi/network-firstboot-ipaddr: 10.0.0.30
  esxi/insecure-password: RocketSkates
  vmware/esxi-version-override: esxi9-install

Create a machine-specific profile:

Name: esxi9-machine1-settings
Params:
  esxi/network-firstboot-ipaddr: 10.0.0.30
  esxi/insecure-password: RocketSkates
  vmware/esxi-version-override: esxi9-install

Note: The esxi/insecure-password will be encrypted when uploaded to the DRP endpoint. See Knowledge Base Article 50 for details on how to store an at-rest IaC version of this in encrypted form.


Step 6: Deploy the Node

Apply the profiles and start the workflow:

drpcli machines addprofile Name:esxi-node1 universal-application-esxi9-install
drpcli machines addprofile Name:esxi-node1 esxi9-config
drpcli machines addprofile Name:esxi-node1 esxi9-machine1-settings
drpcli machines workflow Name:esxi-node1 universal-discover

Summary

You have completed:

  • ISO upload and matching
  • Optional bootenv override
  • Install config and pipeline profiles
  • Docker context verification
  • Parameter and profile assignment
  • Automated ESXi 9 install via workflow

Your ESXi 9 deployment is now fully automated.