A. Introduction to OVA and creating CentOS OVA using Packer
This is part A of creating OVA using Packer series.
A virtual appliance is a virtual machine image that is ready to be run on a hypervisor. OVF(Open Virtualization Format) is an open standard for packaging and distributing virtual appliances. OVA(Open Virtualization Appliance) is a tar archive of OVF files meant for single-file distribution.
To put things in perspective — imagine Github has to sell its enterprise software to different companies. How in the world would Github distribute its server application to customers? Ideally, it should be a plug-n-play system where you give the application to a customer, they plug it and start using it. Exactly this plug and play feature for virtual systems is enabled by virtual appliances. Github enterprise is currently distributed as virtual appliances. Consumers just have to take this appliance and run on their existing virtualization software. This saves time and managing the application is much easier.
Packer is used for automated creation of any type of machine image. If you have to create VM with specific configurations and software more than once — Packer is the way to go.
Environment Setup
1. macOS/Windows(Tested on these)
2. Packer
3. VirtualBox
Packer scripts have generally 5 parts — builders, variables, provisioners, communicators, and post-processors. In this tutorial, we…