Building a Google Compute-Backed Image with Packer

30 minutes
  • 3 Learning Objectives

About this Hands-on Lab

Packer allows us to use JSON or HCL code to describe and generate machine images, such as Google Compute images. In this lab, we’ll explore using Packer with GCP, including credential creation, before writing our build from scratch to save an image of a web instance.

Learning Objectives

Successfully complete this lab by achieving the following learning objectives:

Access the Console, Create Credentials, and Pull Down Files
  1. In the GCP console, navigate to APIs & Services > Credentials.
  2. Click Create Credentials > Service account.
  3. Set the name of the new API service account, and then give it Project Editor permissions.
  4. Press Continue > Done.
  5. Navigate to the Compute Engine dashboard.
  6. Next to the provisioned packer-workstation instance, click SSH to access the instance.
  7. Create a working directory, and add the necessary lab files.
  8. Create the account key.
Create the Template

Review the provided files, and create a template for our GCP builder following the details provided in the instructions; be sure to work from the packer/booksite directory.

Test the Build

Validate and test the build.

Additional Resources

As the DevOps Engineer in charge of all Packer builds, you have been tasked by the frontend team to create an image that can deploy the landing page from the website. The website files have been provided to you, and you've already decided to deploy on an Ubuntu 20.04 server in the us-central1-f region.

Additionally, add the tags "role=web" and "team=frontend" to the image, and ensure the image's name and description are appropriately set.

What are Hands-on Labs

Hands-on Labs are real environments created by industry experts to help you learn. These environments help you gain knowledge and experience, practice without compromising your system, test without risk, destroy without fear, and let you learn from your mistakes. Hands-on Labs: practice your skills before delivering in the real world.

Sign In
Welcome Back!

Psst…this one if you’ve been moved to ACG!

Get Started
Who’s going to be learning?