Skip to main content

Introduction

Run EVE-OS as one or more virtual machines on VMware ESXi to operate multiple independent nodes on a single physical host. Any instance of EVE running on a hypervisor as “virtual EVE” or a “virtual node” is referred to as virtual EVE (vEVE). A virtual instance of EVE-OS functions identically to a physical one, with two minor differences:
  • IOMMU functionality can only be accessed by one virtual node at a time on a given host.
  • Virtualization adds some overhead, which may affect performance-sensitive applications.
This procedure assumes familiarity with ESXi. For ESXi-specific operations not covered here, refer to VMware’s official documentation.

Prerequisites

  • EVE-OS version 9.4.0 or later.
  • ESXi server 7.0 Update 3 or later.
  • PowerShell/PowerCLI (recommended for the onboarding step).

Add VM Hardware to Your Enterprise

  1. Log in to ZCLI. See Get Started With ZCLI for authentication steps.
  2. Create a hardware.json file for an ESXi VM on your local machine. See the Hardware Models guide for file format details.
  3. List your Docker containers.
  1. Observe the output from the previous command. Copy the ID of your ZCLI container, shown in the first column of the output. For example:
  1. Copy your hardware.json into the ZCLI container’s root directory.
  1. Create a brand in Edge Infrastructure Services called VMware.
  1. Create a hardware model called 7.0u3guest using your hardware.json file.

Get an EVE-OS ISO

Pull the EVE-OS ISO for your target version from Docker Hub. The following example uses version 9.4.0 for AMD64.
Upload the ISO to a ZEDEDA Cloud datastore or your vSphere library. You will point to it when creating the VM.

Configure a Network Port Group on ESXi

Create a new port group with the following security settings set to Accept:
  • Promiscuous mode
  • MAC address changes
  • Forged transmits
ESXi port group security settings showing Promiscuous mode, MAC address changes, and Forged transmits all set to Accept

Create the Virtual Machine

Complete the following sub-sections in order to create the vEVE VM.

Create a new VM

ESXi new VM creation dialog

Select Guest OS family and Guest OS version

ESXi Guest OS family and version selection showing Linux guest type

VM storage

Select a datastore to host the vEVE VM. ESXi VM storage datastore selection

CPU settings

Enable the following options in the CPU section: Hardware virtualization, IOMMU, and Performance counters. ESXi CPU settings with Hardware virtualization, IOMMU, and Performance counters enabled

Network settings

Assign the port group created in the previous section. ESXi network settings showing port group assignment

CD-ROM settings

Select the EVE-OS ISO (created in the previous section) for the guest installation. ESXi CD-ROM settings showing EVE-OS ISO selected

VM options

Ensure Enable UEFI secure boot is not selected. ESXi VM options showing Enable UEFI secure boot unchecked

Get the Hardware Serial Number (macOS)

When onboarding a vEVE node, you need its hardware serial number derived from the VM UUID. The following procedure uses brew and is written for macOS. For other platforms, use the equivalent PowerShell installation method.
  1. Install PowerShell.
  1. Install PowerCLI. Enter y at the prompt.
  1. Configure PowerShell to ignore invalid certificates (if applicable). Enter y at the prompt.
  1. Connect to the ESXi or vSphere server. Enter your credentials at the prompt.
  1. Get the vEVE VM UUID.
  1. Verify that the UUID was saved correctly.
The output looks like: 564ded02f75268f111428e7cece8db81
  1. Format the UUID as a hardware serial number.
Save the output. It looks like:

Onboard the Node Using ZCLI

Use the following PowerShell script to onboard a single vEVE node. Replace ONBOARDING_KEY with the node’s onboarding key before running.
To run the script:
  1. Log in to ZCLI. See Get Started With ZCLI for authentication steps.
  2. Save the script as onboardveve.ps1.
  3. Run the script, replacing the placeholder values with your environment details.

Next Steps

Onboard Nodes

Complete onboarding for your virtual nodes.

Get Started with ZCLI

Reference for ZCLI authentication and commands.