Important: NGINX Plus R33 requires NGINX Instance Manager 2.18 or later
To ensure uninterrupted traffic processing, upgrade to NGINX Instance Manager 2.18 or later if your NGINX data plane instances are running NGINX Plus R33. This upgrade is necessary to support usage reporting.

NGINX Plus R33 instances must send usage data to the F5 licensing endpoint or NGINX Instance Manager. If they don’t, they will stop processing user traffic.

For more information about usage reporting and enforcement, see About solution licenses.

Install with Ansible

Legacy 'nms' references
Some commands, file paths, and configuration references still use nms due to the ongoing transition from NGINX Management Suite (NMS) to NGINX Instance Manager (NIM). These will be updated in future releases.

Introduction

This guide explains how to install F5 NGINX Instance Manager using the open-source Ansible role.

With Ansible, you can automate and replicate your installation across multiple environments.

Open-Source Project on GitHub
The steps in this guide refer to the Ansible NGINX Instance Manager Role project on GitHub.

Overview

The Ansible role for NGINX Instance Manager simplifies the installation process by installing all the prerequisites and any modules you specify.

A diagram showing the installation flow of the NGINX Instance Manager Ansible role, with four steps: installing NGINX, installing ClickHouse, adding the NGINX Instance Manager repository, and installing the NGINX Instance Manager module(s).

Figure 1. NGINX Instance Manager Ansible flow


System requirements

  • The Ansible role requirements can be viewed on GitHub.

Installation steps

  1. Install Ansible by following the installation steps on GitHub.

  2. Create the inventory file with the details of the host you want to install NGINX Instance Manager on. Make sure you have access to the host. Example here.

  3. Create the requirements file and install the required Ansible role by following these steps.

  4. Create and run the Ansible playbook. Create a file named nms-playbook.yml (or any other name) with contents similar to the following example:

    - hosts: nms
      become: yes
      vars:
        nginx_license:
          certificate: ./nginx-repo.crt
          key: ./nginx-repo.key
        nms_setup: install
        nms_version: 2.16.0*
        nms_user_name: admin
        nms_user_passwd: default
        nms_modules:
          - name: sm
      collections:
        - nginxinc.nginx_core
      roles:
        - nginxinc.nginx_management_suite
    
  5. Run the playbook:

    ansible-playbook -i <path-to-your-hostfile> nms-playbook.yml
    
See Also:
For a comprehensive list of configuration options, view the default main.yaml file on GitHub.

Getting support

If you need help or have questions, you can request support from the NGINX Instance Manager Ansible Role Project on GitHub.