Yes you can of course use UDA or EDA but in my environments that is not an option. I was scavenging the internet to find an article that explained how to build your own UDA/EDA appliance and found something very close to home. This article was written by Tom Arentsen who is a freelance consultant in the Benelux region. Coiincidentally I have worked with him on several projects and I knew he was one smart cookie.
Tom created a solution that uses the Microsoft Windows Deployment Service. Through a simple host list he pulls down the correct bits and pieces needed to install and configure the host. This is probably the missing link some of you were looking for. I have had this question multiple times in the past and figured I would have to document it at some point. I am glad Tom already did this as it saves me and many others a lot of work.
While there are quite a few articles on the internet about this topic, every customer always asks me about it. Therefore I decided to document a step by step procedure on how you can install ESXi hosts in a fast, repeatable and fully automated fashion. You can use a pre-configured appliance like http://www.ultimatedeployment.org/ , however I intend to go for Microsoft Windows Deployment Service (WDS) as most organizations already are using it for deploying their Windows servers and why introducing something new while there is already product that you are familiar with.
The deployment method described in this article is based on DHCP reservations to provide every ESXi host with a unique address based on their MAC address during the deployment phase (in case DHCP reservations are not allowed in your environment for whatever reason, I do include another option however it requires manual intervention). Instead of creating a separate kickstart file for every ESXi host you have to deploy I use one common kickstart script file and in addition for every ESXi host, two unique files will have to be created that contain the actual IP address for the management interface and the vMotion interface (obviously you can easily extend this if you require an extra vmkernel address for IP storage).
Common kickstart script:
I am not going to copy the full article, head over to the source and check how Tom solved this problem.