Build and Deploy Images
Overview
This guide provides step-by-step instructions for building and deploying F5 NGINX Management Suite images on different cloud providers.
The deployment process has two stages:
- Generate an image using Packer.
- Deploy the image using Terraform.
Open-Source Project on GitHub
The steps in this guide refer to the NGINX Management Suite Infrastructure as Code (IAC) project on GitHub.
Before you Begin
Before you start building and deploying images, make sure you:
- Install Packer requirements: Follow the instructions in the NGINX Management Suite Image Generation README.
- Install Terraform requirements: Follow the instructions in the NGINX Management Suite Image Deployment README.
Packer
The Packer stage involves building the cloud image and installing NGINX Management Suite using an Ansible role. This image will be used later in the deployment stage.
Generate the Image
To generate the image, follow the steps appropriate for your cloud deployment in the NGINX Management Suite Image Generation README.
Terraform
The Terraform stage involves deploying the cloud images created during the Packer stage. There are two types of deployment examples: Basic Reference Architecture and Standalone Architecture.
Ensure you’ve built the relevant images with Packer before continuing. For the Basic Reference Architecture, you’ll need both NGINX Management Suite and NGINX images.
Deploy Basic Reference Architecture Image
The Basic Reference Architecture deploys both the control plane (NGINX Management Suite) and data plane (NGINX Agent) using cloud best practices. It includes:
- Load balancers
- NGINX Management Suite and NGINX Agent instances in the private subnet
To deploy the Basic Reference Architecture, follow the steps in the AWS NGINX Management Suite Basic Reference Architecture README.
Deploy Standalone Architecture Image
The Standalone Architecture deploys the control plane in isolation. This is not a best practice solution but can be used as a simple deployment option for multiple clouds. The standalone architecture includes:
- Control node in the VPC’s public subnet
- Security groups to give restricted access
To deploy the Standalone Architecture, follow the steps for your infrastructure in the How to Use section of the NGINX Management Suite Image Deployment README.