My Account Log in

1 option

HashiCorp packer in production : efficiently manage sets of images for your digital transformation or cloud adoption journey / John Boero and Armon Dadgar.

O'Reilly Online Learning: Academic/Public Library Edition Available online

View online
Format:
Book
Author/Creator:
Boero, John, author.
Dadgar, Armon, author.
Language:
English
Subjects (All):
Computer networks--Management--Computer programs.
Computer networks.
Cloud computing.
Physical Description:
1 online resource (190 pages)
Edition:
1st ed.
Place of Publication:
Birmingham, England : Packt Publishing Ltd., [2023]
System Details:
Mode of access: World Wide Web.
Biography/History:
Boero John: John Boero has 20 years of experience in the tech industry covering engineering, consulting, architecture, and pre-sales. He comes from Chicago, IL in the USA but currently lives in London, UK. He has worked for Red Hat, Puppet, and HashiCorp and remains active in the open source community. All commissions for this book will be donated to the Raspberry Pi Foundation non-profit to encourage coding and computing skills for kids.
Summary:
Set up automated workflows to keep systems and applications consistent globally, regardless of architecture, cloud, or container runtime Purchase of the print or Kindle book includes a free PDF eBook Key Features Automate building and modifying complex software images across multiple OSs and container engines Minimize cost by keeping your systems ready across multiple architectures, including ARM and future RISC-V processors Speed up your time to market by building and testing apps using upstream and future releases Book Description Creating machine images can be time-consuming and error-prone when done manually. HashiCorp Packer enables you to automate this process by defining the configuration in a simple, declarative syntax. This configuration is then used to create machine images for multiple environments and cloud providers. The book begins by showing you how to create your first manifest while helping you understand the available components. You'll then configure the most common built-in builder options for Packer and use runtime provisioners to reconfigure a source image for desired tasks. You'll also learn how to control logging for troubleshooting errors in complex builds and explore monitoring options for multiple logs at once. As you advance, you'll build on your initial manifest for a local application that'll easily migrate to another builder or cloud. The chapters also help you get to grips with basic container image options in different formats while scaling large builds in production. Finally, you'll develop a life cycle and retention policy for images, automate packer builds, and protect your production environment from nefarious plugins. By the end of this book, you'll be equipped to smoothen collaboration and reduce the risk of errors by creating machine images consistently and automatically based on your defined configuration. What you will learn Build and maintain consistent system images across multiple platforms Create machine images that can be used in multiple environments Write a spec for a local Packer virtual machine in JSON and HCL Build a container image with Packer in different formats Automate Packer with continuous delivery pipelines Discover how to customize Packer by writing plugins Who this book is for This book is for DevOps engineers, Cloud engineers, and teams responsible for maintaining platform and application images for enterprise private, hybrid, or multi-cloud environments. Familiarity with operating systems and virtualization concepts, with or without using a cloud provider, is a prerequisite.
Contents:
Cover
Title Page
Copyright and Credit
Dedicated
Foreword
Contributors
Table of Contents
Preface
Part 1: Packer's Beginnings
Chapter 1: Packer Fundamentals
Technical requirements
Packer architecture
History of Packer
Who uses Packer?
Alternatives to Packer
Installing Packer
HCL versus JSON
Example legacy JSON
Example PKR.JSON
Example HCL
Summary
Chapter 2: Creating Your First Template
Hello World template for a local VM
Breakdown of components, variables, and artifacts
Using an IDE to guide templates
Applying the VirtualBox builder
Chapter 3: Configuring Builders and Sources
Simplifying your template with variables
Utilizing local system builders
Using VirtualBox builders - ISO, OVF, and VM
Using VMware builders - ISO, VMX, and vSphere clone
Using the QEMU builder
Adding cloud builders
Providing your cloud credentials
Using the AWS builders
Using the Azure builders
Using the GCP builders
Exploring other cloud builders
Building containers
Using the null builder
Chapter 4: The Power of Provisioners
Configuring communicators
Injecting your config or artifacts
Seeding a file or directory into your image once booted
Using templates to populate configuration resources with variables
Running a script or job across all builders
Developing provisioners with the null builder
Chapter 5: Logging and Troubleshooting
Managing stderr and stdout
Using environment variables for logging and debugging
Controlling flow and using breakpoints
Part 2: Managing Large Environments
Chapter 6: Working with Builders
Technical requirements.
Adding applications deployable from vSphere
Adding an AWS EC2 AMI build
Using HashiCorp Vault for credentials
Adding an Azure build
Adding a Google GCP build
Parallel builds
CI testing against multiple OS releases
Pitfalls and things to avoid
Chapter 7: Building an Image Hierarchy
Starting with LXC/LXD images
Docker container image format
Podman plugin for the OCI container image format
Base image strategy
Aggregation and branching out multiple pipelines
Chapter 8: Scaling Large Builds
Speeding up your builds with parallel processes
Preventing parallel processes from causing DoS
Troubleshooting logs in a parallel world
Using image compression
Selecting a compression algorithm for Packer images
Selecting the right storage type for the image lifecycle
Building delta and patch strategies
Part 3: Advanced Customized Packer
Chapter 9: Managing the Image Lifecycle
Tracking image lifecycle
Using the manifest post-processor
Creating a retention policy
Chapter 10: Using HCP Packer
Creating an HCP organization
Configuring HCP Packer in your templates
Using HCP ancestry
Consuming HCP Packer from Terraform
Exploring the HCP REST API
Chapter 11: Automating Packer Builds
Technical requirements:
Identifying common automation requirements
Exploring basic GitHub Actions support
Exploring GitLab CI pipeline support
Using HashiCorp Vault integration for automation
GitLab CI
GitHub Actions
Chapter 12: Developing Packer Plugins
Basics of Go
Sample plugin source
Building and testing your plugin
Protecting Packer from bad plugins
Summary.
Grand conclusion
Index
Other Books You May Enjoy.
Notes:
Includes index.
Includes bibliographical references and index.
Description based on print version record.
ISBN:
9781803243849
1803243848
OCLC:
1389773688

The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.

Find

Home Release notes

My Account

Shelf Request an item Bookmarks Fines and fees Settings

Guides

Using the Find catalog Using Articles+ Using your account