MAAS 2.5 and above can deploy VMware ESXi as a custom image. MAAS cannot directly deploy the VMware ESXi ISO; you must create a specialised image from an official VMWare ISO. Canonical created a packer template to automate the image creation process.
Five questions you may have:
- What are the prerequisite requirements for creating an image?
- How can I customise these images?
- How do I build an image?
- How do I upload an image?
- What are the features and limitations of VMWare images in MAAS?
Prerequisites to image creation
- A physical machine running Ubuntu 18.04+
- CPU: 4 2GHz cores
- Memory: 8 GB RAM (16 GB RAM recommended)
- Disk space: 11 GB
- The VMWare ESxi ISO
- Packer - https://www.packer.io/intro/getting-started/install.html
- Procedure was tested with precompiled 64-bit Packer 1.3.4 Linux binaries
- Packer template for MAAS custom image
- MAAS 2.5.0+
Customizing the Image
The image may be customized by modifying packer-maas/vmware-esxi/http/vmware-esxi-ks.cfg see Installation and Upgrade Scripts in the VMware ESXi installation and Setup manual for more information.
Building an Image
Before an image is built the nbd kernel module must be loaded
sudo modprobe nbd
Once the nbd kernel module is loaded your current working directory must be in the packer-maas/vmware-esxi directory
You can now start the image building process using packer with the following command:
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
Once you have created the image, upload it to MAAS, using the CLI, with the following command:
maas $PROFILE boot-resources create name='esxi/6.7' title='VMware ESXi 6.7' architecture='amd64/generic' filetype='ddgz' content@=vmware-esxi.dd.gz
Features and Limitations
- VMware ESXi does not support Linux bridges
- Bonds - MAAS maps the following bond modes to VMware ESXi NIC team sharing with load balancing as follows:
- balance-rr - portid
- active-backup - explicit
- 802.3ad - iphash, LACP rate and XMIT hash policy settings are ignored.
- No other bond modes are currently supported.
- VMware ESXi does not allow VMs to use a PortGroup that has a VMK attached to it. All configured devices will have a VMK attached. To use a vSwitch with VMs, you must leave a device or alias unconfigured in MAAS.
Custom storage configuration is not supported because VMware ESXi expects specific disk formats. MAAS will extend datastore1 to the full size of the deployment disk. After deployment, VMware tools may be used to access the other disks.
ESXi Hardware Support
VMware has very specific hardware requirements. In particular, running VMware ESXi is not supported in a virtual machine or MAAS virsh Pod.