How to integrate VMware images
Deploying VMware ESXi with MAAS 2.5+
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 datastores with cloned boot devices.
Prerequisites for creating a VMware image
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
Features and limitations
Cloning VMware images
As previously mentioned, VMware does not support cloning boot devices^. This limitation may cause data corruption issues on VMFS datastores.
VMware images and MAAS networking
- 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 images and MAAS storage
Custom storage configurations are unsupported; MAAS will extend datastore1
to the full size of the deployment disk.
ESXi hardware support
VMware has specific hardware requirements^. Running ESXi in a virtual machine or MAAS virsh Pod is not supported.
Customising the image
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
Last updated 24 days ago.