Introduction
In a large environment, deploying and upgrading ESXi hosts is an activity that requires a lot of planning and manual work. For instance, if you were to deploy a set of 50 ESXi hosts in an environment, then you might need more than one engineer assigned to perform this task. The same would be the case if you were to upgrade or patch ESXi hosts. The upgrade or the patching operation should be done on each host. Of course, you have vSphere update manager that can be configured to schedule, stage, and remediate hosts, but again the process of remediation would consume considerable amount of time, depending on the type and size of the patch. VMware have found a way to reduce the amount of manual work and time required for deploying, patching, and upgrading ESXi hosts. They call it vSphere Auto Deploy. In this chapter, you will learn not only to design, install, and configure the vSphere Auto Deploy solution, but also to provision ESXi hosts using it.
vSphere Auto Deploy architecture
vSphere Auto Deploy is a web server component which once configured can be used to quickly provision a large number of the ESXi hosts without the need to use the ESXi installation image to perform an installation on the physical machine. It can also be used to perform the upgrade or patching of the ESXi hosts without the need for vSphere update manager. Now, how is this achieved? vSphere Auto Deploy is a centralized web server component that lets you define rules that govern how the ESXi servers are provisioned. It however cannot work on its own. They are a few other components that play a supporting role for Auto Deploy to do its magic.
So, let's review the following components that play a role in an Auto Deployed infrastructure:
- DHCP server (with the scope options 66 and 67 configured)
- TFTP Server
- Auto Deploy Server
- Hosts with Network Boot (PXE) Enabled in the BIOS
It is important to have a brief understanding about how Auto Deploy works:
The ESXi Host first begins to network boot by requesting for an IP address from the DHCP Server. The DHCP Server responds with an IP address and the DHCP scope options providing the details of the TFTP Server. The ESXi Host then loads the gPXE boot image from the TFTP Server to bootstrap the machine and subsequently sends an HTTP Boot Request to the Auto Deploy Server, to load an ESXi Image into the host's memory. The image is chosen based on the rules created at the Auto Deploy Server.
Preparing a vSphere environment for vSphere Auto Deploy
Like with any other solution, it is important to lay the foundation, so that the implementation of the solution would go as planned. In this section, we will discuss the steps required to prepare a vSphere environment to support the use of vSphere Auto Deploy.
We need the following components configured for an ESXi host to be auto deployed:
- vSphere Auto Deploy Server
- Servers with PXE-enabled BIOS (and NICs)
- A DHCP server
- A TFTP Server
- vSphere Host Profiles configured at the vCenter Server.