HashiCorp Packer VMware Windows Templates and Terraform for VMs

Are you still creating vSphere images by clicking in the UI? Are you doing the same to deploy these images in vSphere? You really should stop and consider automating the process with Infrastructure as Code using Packer and Terraform. Learn how to do this in this video blog post.

Video

Below is a video explanation and demo.

Video Chapters

You can skip to the relevant chapters below:

  • 00:00 – Introduction
  • 01:42 – Packer Windows Explanation
  • 06:56 – vCenter View of Template Created
  • 07:29 – Build the VM using Terraform
  • 11:56 – vCenter View of VMs Created
  • 12:37 – Conclusion

Overview

We continue to see an increased interest in using Infrastructure as Code tools such as Packer and Terraform in on-premises environments running vSphere. In this video blog post, we will explore this with the help of a video demo. There are two main steps here:

  1. First create a Windows Server 2019 template using and save it in a templates folder in vCenter using Packer.
  2. Then create a VM from this template using Terraform.

Code

Pre-requisites

The following is required to follow along:

  • Packer (tested on Packer v1.6.6)
  • Terraform
  • Access to a vSphere instance (tested on vSphere v6.7)

Setup

Below is our setup diagram.

Setup Diagram
Setup Diagram

Troubleshooting Tips

  • If packer gets stuck on Waiting for IP you may want to check your DHCP server. I’m using a home router and it had too many leases from running packer many times. I had to flush inactive DHCP clients or reboot the router which is faster.
  • Open the vSphere web console and take a look at the output as the VM is getting created. This can give you some hints as to what is going on.

Conclusion

In this video blog post, we demonstrated two main things:

  1. How to create a Windows Server 2019 image in VMware using HashiCorp Packer. As you saw, our configuration is all defined in code. There is no need to click around inside the vSphere client to generate this image. We’ve automated the task of building gold images in VMware. This makes the process repeatable and self-documented, just a couple of benefits of IaC.
  2. We used Terraform to provision the Windows 2019 server VM by cloning this Packer generated image.

We also created a post on doing the same for a Ubuntu 20.04 image. Then another post to use this image to Build a Kubernetes k3s Cluster in vSphere with Terraform and Packer.

References

Suggested Reading

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top