vSphere 5.x and later provide several ways to install ESXi with vSphere Auto Deploy.
vSphere Auto Deploy can provision hundreds of physical hosts with ESXi software. You can specify the image to deploy and the hosts to provision with the image. Optionally, you can specify host profiles to apply to the hosts, a vCenter Server location (datacenter, folder, or cluster), and script bundle for each host.
vCenter Server makes ESXi updates and patches available for download in the form of an image profile. The host configuration is provided in the form of a host profile. You can create host profiles by using the vSphere Web Client. You can create custom image profiles by using vSphere ESXi Image Builder. See Customizing Installations with vSphere ESXi Image Builder and vSphere Host Profiles.
When you provision hosts by using vSphere Auto Deploy, vCenter Server loads the ESXi image directly into the host memory. vSphere Auto Deploy does not store the ESXi state on the host disk. The vSphere Auto Deploy server continues to provision this host every time the host boots.
You can also use vSphere Auto Deploy to install an ESXi host, and set up a host profile that causes the host to store the ESXi image and configuration on the local disk, a remote disk, or a USB drive. Subsequently, the ESXi host boots from this local image and vSphere Auto Deploy no longer provisions the host. This process is similar to performing a scripted installation. With a scripted installation, the script provisions a host and the host then boots from disk. For this case, vSphere Auto Deploy provisions a host and the host then boots from disk. For more information, see Using vSphere Auto Deploy for Stateless Caching and Stateful Installs.