Enabling Modules for Existing Deployments

To enable specific modules for your existing NGINX Management Suite deployment, refer to the instructions in this guide.


Overview

If you’ve already deployed NGINX Management Suite using Helm and would now like to enable a module, simply follow the steps outlined below.


Steps for Enabling Modules

Choose the tab for the module you want to activate and follow the provided instructions.


Download API Connectivity Manager Docker Image

  1. On the MyF5 website, select Resources > NGINX Downloads.

  2. In the Product Family list, select NGINX.

  3. In the Product Line list, select NGINX API Connectivity Manager.

  4. Select the following download options:

    • Product version

      Dependencies with Instance Manager

      The NGINX Management Suite modules depend on the platform capabilities of Instance Manager, which is installed with NGINX Management Suite.

      If you intend to enable a module other than Instance Manager, make sure to select compatible product versions when downloading the NGINX Management Suite Helm bundle and module Docker images.

      The following table shows the versions of Instance Manager and compatible modules for each version of the NGINX Management Suite helm chart.

      NMS chart version Instance Manager API Connectivity Manager
      1.2.1 2.8.0 1.4.1
      1.2.0 2.8.0 1.4.0
      1.1.2 2.7.0 1.4.1
      1.1.1 2.7.0 1.4.0
      1.1.0 2.7.0 1.3.1
      1.0.0 2.6.0 1.3.1
    • Linux distribution – for example, ubuntu

    • Distribution Version – for example, 20.04

    • Architecture – for example, amd64

  5. In the Download Files section, locate and download the nms-acm-<version>-img.tar.gz file.

Load Docker Image

  1. Change to the directory where you downloaded the Docker image:

    cd <directory name>
    
  2. Load the Docker image from the nms-acm-<version>-img.tar.gz archive:

    docker load -i nms-acm-<version>-img.tar.gz
    

    The output looks similar to the following:

    $ docker load -i nms-acm-<version>-img.tar.gz
    1b5933fe4b5: Loading layer [==================================================>]  5.796MB/5.796MB
    fbe0fc9bcf95: Loading layer [==================================================>]  17.86MB/17.86MB
    ...
    112ae1f604e0: Loading layer [==================================================>]   67.8MB/67.8MB
    4b6a693b90f4: Loading layer [==================================================>]  3.072kB/3.072kB
    Loaded image: nms-acm:1.3.0
    
    Important:

    Take note of the loaded image’s name and tag. You’ll need to reference this information in the next section when pushing the image to your private registry.

    In the example output above, nms-acm is the image name and 1.3.0 is the tag. The tag 1.3.0 could be different depending on the product version you downloaded from MyF5.

Push Image to Private Registry

After loading the Docker image, you can now tag and push the image to your private Docker registry. Replace <my-docker-registry> in the examples below with the path to your private Docker registry.

  1. Log in to your private registry:

    docker login <my-docker-registry>
    
    • Replace <my-docker-registry> with your private Docker registry.
  2. Tag the image with the values you noted when loading the Docker image above.

    docker tag nms-acm:<version> <my-docker-registry>/nms-acm:<version>
    

    This command creates a new tag for an existing Docker image.

    The first argument, nms-acm:<version>, specifies the existing Docker image that will be tagged. The second argument, <my-docker-registry>/nms-acm:<version>, specifies the new tag for the image. The new tag will be used to reference the image in the private Docker registry.

    • Replace <my-docker-registry> with your private Docker registry.

    • Replace <version> with the tag you noted when loading the Docker image above.

  3. Push the image to your private registry:

    docker push <my-docker-registry>/nms-acm:<version>
    

    This command pushes the Docker image nms-acm to the specified private Docker registry (my-docker-registry). The image will be tagged with the specified version (<version>).

    • Replace <my-docker-registry> with your private Docker registry.

    • Replace <version> with the tag you noted when loading the Docker image above.

Enable API Connectivity Manager

To enable the API Connectivity Manager Module, take the following steps:

  1. Open the values.yaml file for editing.

  2. Add the following snippet to the values.yaml file:

    # values.yaml
    global:
        nmsModules:
            nms-acm:
                enabled: true
    nms-acm:
        imagePullSecrets:
        - name: regcred
        acm:
            image:
                repository: <my-docker-registry>/nms-acm 
                tag: <version>
    

    This values.yaml file enables the API Connectivity module and specifies the image pull secret, repository, and tag of the image to be used.

    • Replace <my-docker-registry> with your private Docker registry.
    • Replace <version> with the tag you noted when loading the Docker image above.
    • In the imagePullSecrets section, add the credentials for your private Docker registry.
  3. Close and save the values.yaml file.

Customize Helm Settings for API Connectivity Manager

See Also:
Refer to the Configurable Helm Settings reference guide for the complete list of configurable parameters and default values used by the NGINX Management Suite and modules when installing from a Helm chart.

Upgrade NGINX Management Suite Deployment

Run the following command to upgrade the NGINX Management Suite deployment:

helm upgrade -n nms --set nms-hybrid.adminPasswordHash=$(openssl passwd -6 'YourPassword123#') nms nginx-stable/nms -f <path-to-your-values.yaml>

This command upgrades an existing Helm chart deployment named nms with a new version of the chart located in the nginx-stable/nms repository. It also sets the value of the nms-hybrid.adminPasswordHash to the hashed version of the provided password and uses a values.yaml file located at the provided path.