Errors or typos? Topics missing? Hard to read? Let us know.
To deploy VMware ESXi through MAAS, you’ll need to create a specialised image using an official VMware ISO. Canonical offers a GitHub repository of community-contributed packer templates to automate this process.
Note: VMware does not support cloning boot devices. This may lead to issues like data corruption on VMFS data stores with cloned boot devices.
Prerequisites
To create and deploy a VMware image, you’ll need:
- MAAS 2.5.0+
- A machine running Ubuntu 18.04+
- CPU: 4 cores at 2GHz
- Memory: 8GB RAM (16GB recommended)
- Disk space: 11GB
- VMware ESXi ISO
- Packer
- Tested with Packer 1.3.4 64-bit Linux binaries
- Packer template for MAAS custom image
Cloning VMware images
As previously mentioned, VMware does not support cloning boot devices. This limitation may cause data corruption issues on VMFS data stores.
VMware + MAAS networks
- ESXi doesn’t support Linux bridges.
- Supported bond modes are mapped as follows:
- balance-rr to portid
- active-backup to explicit
- 802.3ad to iphash
- No other bond modes are currently supported.
- A PortGroup with a VMK attached cannot be used for VMs.
VMware + MAAS storage
Custom storage configurations are unsupported; MAAS will extend datastore1
to the full size of the deployment disk.
ESXi H/W support
VMware has specific hardware requirements. Running ESXi in a virtual machine or MAAS virsh Pod is not supported.
Customising images
Modify the packer-maas/vmware-esxi/http/vmware-esxi-ks.cfg
file to customise the image.
Building an image
Load the nbd
kernel module:
sudo modprobe nbd
Navigate to the appropriate directory:
cd /path/to/packer-maas/vmware-esxi
Build the image:
sudo packer build -var 'vmware_esxi_iso_path=/path/to/VMware-VMvisor-Installer-6.7.0-8169922.x86_64.iso' vmware-esxi.json
Uploading an image
To upload the image to MAAS, use:
maas $PROFILE boot-resources create name='esxi/6.7' title='VMware ESXi 6.7' architecture='amd64/generic' filetype='ddgz' content@=vmware-esxi.dd.gz