Provisioners give Terraform practitioners a way to prep their infrastructure for use by installing software and deploying applications. While there are several avenues for provisioning infrastructure deployed with Terraform, Packer and Cloud-Init give practitioners repeatability in image deployment or built-in tools. Try our new tutorials to provision infrastructure following HashiCorp’s recommended best practices.
Image Deployment with Packer
Packer is a HashiCorp tool that builds machine images. Packer allows you to pre-build golden images to deploy using Terraform, and supports a number of provisioning processes. This tutorial will teach you how to create a Packer image with all of the common dependencies you would need for deploying a web application, and build that image in Terraform.
Provision Infrastructure with Packer
Cloud-Init deployment
Cloud-init is a standard configuration support tool available on most Linux distributions and all major cloud providers. It allows you to provision instances with a common scripting language. You will create a Terraform instance with a cloud-init script in your resource configuration. Once you apply your Terraform configuration containing the cloud-init script, your instance will be created to your specifications and will be able to run the web application deployed within the script.
Provision Infrastructure with Cloud-init
To learn more about provisioning in Terraform, visit the full collection of tutorials on the HashiCorp Learn site.
View the full article