Deploy Instance Manager 2.16 and earlier
Introduction
This guide provides a step-by-step tutorial on how to set up Instance Manager on a Kubernetes cluster using Helm. Learn how to download and use Docker images, and customize your deployment.
Note:
This guide applies to Instance Manager 2.16 and earlier.
For newer versions, view the Deploy Instance Manager 2.17 and later topic.
About Instance Manager
NGINX Instance Manager allows you to configure, scale, and manage NGINX Open Source and NGINX Plus instances at scale. Instance Manager provides a REST API and web-based graphical user interface (GUI) for managing NGINX instances across multiple servers, making it easier to configure, monitor, and troubleshoot NGINX deployments.
Instance Manager can be used to manage instances running on-premises, in the cloud, or in hybrid environments, and it supports the deployment of NGINX instances on a variety of operating systems and container platforms.
Instance Manager also includes advanced features like health checks, rolling updates, and configuration backups, which help to ensure the reliability and security of NGINX deployments.
About Helm
Helm charts are pre-configured packages of Kubernetes resources deployed with a single command, which allow you to to define, install, and upgrade Kubernetes applications.
They are composed of a set of files that describe a related group of Kubernetes resources, including deployments, services, and ingress. Helm charts can define and manage dependencies between various applications, allowing for the development of complex, multi-tier applications.
Warning:
NGINX Instance Manager does not support OpenShift.
For best compatibility, use NGINX Ingress Controller.
Before You Begin
To deploy Instance Manager using a Helm chart, you need the following:
Requirements | Notes |
---|---|
Private Docker registry | You need to have an externally-accessible private Docker registry to which you can push the container images. |
Docker 20.10 or later (linux/amd64) | https://docs.docker.com/get-docker/ |
Kubernetes 1.21.3 or later (linux/amd64) | Ensure your client can access the Kubernetes API server. Note: by default the Helm chart will enable persistent storage using the default storage class configured in your Kubernetes cluster. Documentation around this topic can be found here: Dynamic Volume Provisioning. |
kubectl 1.21.3 or later | https://kubernetes.io/docs/tasks/tools/#kubectl |
Helm 3.10.0 or later | https://helm.sh/docs/intro/install/ |
OpenSSL 1.1.1 or later | https://www.openssl.org/source/ |
tar 1.20 or later |
The If |
Add Helm Repository
Note:
To complete the steps in the section, you need to have Helm 3.10.0 or later installed.
Run the following commands to install the NGINX Management Suite chart from the Helm repository:
helm repo add nginx-stable https://helm.nginx.com/stable
helm repo update
The first command, helm repo add nginx-stable https://helm.nginx.com/stable
, adds the nginx-stable
repository to your local Helm repository list. This repository contains the Helm charts for deploying NGINX Management Suite.
The second command, helm repo update
, updates the local Helm repository list with the newest versions of the charts from the nginx-stable
repository. This command ensures you have the most up-to-date version of the charts available for installation.
Download Helm Package
Take the following steps to download and extract the Helm page on your host:
-
Go to the MyF5 website, then select Resources > Downloads.
-
In the Select Product Family list, select NGINX.
-
In the Product Line list, select F5 NGINX Instance Manager.
-
Select the following download options:
- Product version: Select the version of Instance Manager that you want to install.
- Linux distribution: Select
helmchart
. - Distribution Version: Defaults to the helmchart version determined by the Product Version.
- Architecture: Defaults to
k8s
.
-
In the Download Files section, download the
nms-helm-<version>.tar.gz
file. -
Make a directory to extract the Helm package into:
mkdir -p nms-docker-images
-
Extract the package into the target directory:
tar -xzf nms-helm-<version>.tar.gz -C nms-docker-images
The extracted files include the following Docker images:
Docker images
nms-apigw-<version>.tar.gz
nms-core-<version>.tar.gz
nms-dpm-<version>.tar.gz
nms-ingestion-<version>.tar.gz
nms-integrations-<version>.tar.gz
nms-utility-<version>.tar.gz
Load Docker Images
Note:
To complete the commands in this section, you need to have Docker 20.10 or later installed.
-
Change to the directory where you extracted the Docker images:
cd nms-docker-images
-
Load the Docker images:
docker load -i nms-apigw-<version>.tar.gz docker load -i nms-core-<version>.tar.gz docker load -i nms-ingestion-<version>.tar.gz docker load -i nms-dpm-<version>.tar.gz docker load -i nms-integrations-<version>.tar.gz docker load -i nms-utility-<version>.tar.gz
This set of commands loads the Docker images from the specified
tar.gz
archives. Replace<version>
with the product version you specified when downloading the Helm bundle.The output looks similar to the following:
1 2 3 4 5 6 7
$ docker load -i nms-apigw-<version>.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-apigw:2.9.1
Important:
For the output of each
docker load
command, note the loaded image’s name and tag. You will need to reference these images and tags in the next section when pushing the images to your private registry.For example, in the output directly above,
nms-apigw
is the image name and2.9.1
is the tag. The tag2.9.1
could differ depending on the product version you downloaded from MyF5.
Push Images to Private Registry
Note:
To complete the steps in this section, you need an externally accessible private Docker registry to push the container images to.
To push the Docker images to your private registry, take the following steps:
-
Replace
<my-docker-registry:port>
with your private Docker registry and port (if needed). -
Replace
<version>
with the tag you noted when loading the Docker images above.
-
Log in to your private registry:
docker login <my-docker-registry:port>
-
Tag the images with the version you noted when loading the Docker images above.
docker tag nms-apigw:<version> <my-docker-registry:port>/nms-apigw:<version> docker tag nms-core:<version> <my-docker-registry:port>/nms-core:<version> docker tag nms-dpm:<version> <my-docker-registry:port>/nms-dpm:<version> docker tag nms-ingestion:<version> <my-docker-registry:port>/nms-ingestion:<version> docker tag nms-integrations:<version> <my-docker-registry:port>/nms-integrations:<version> docker tag nms-utility:<version> <my-docker-registry:port>/nms-utility:<version>
For example:
docker tag nms-apigw:2.9.1 myregistryhost:5000/nms-apigw:2.9.1 ...
-
Push the images to your private registry:
docker push <my-docker-registry:port>/nms-apigw:<version> docker push <my-docker-registry:port>/nms-core:<version> docker push <my-docker-registry:port>/nms-dpm:<version> docker push <my-docker-registry:port>/nms-ingestion:<version> docker push <my-docker-registry:port>/nms-integrations:<version> docker push <my-docker-registry:port>/nms-utility:<version>
For example:
docker push myregistryhost:5000/nms-apigw:2.9.1 ...
Create a Helm Deployment values.yaml File
values.yaml
is a Helm configuration file you can use to customize the installation of a Helm chart without editing the chart itself. Values can be used to specify different image repositories and tags, set environment variables, configure resource requests and limits, and more.
-
Create a
values.yaml
file similar to the following example:-
Replace
<my-docker-registry:port>
with your private Docker registry and port (if needed). -
Replace
<version>
with the tag you used when pushing the images to your private registry. -
In the
imagePullSecrets
section, add the credentials for your private Docker registry.See Also:
For instructions on creating a secret, see the Kubernetes topic Pull an Image from a Private Registry.
nms-hybrid: imagePullSecrets: - name: regcred apigw: image: repository: <my-docker-registry:port>/nms-apigw tag: <version> core: image: repository: <my-docker-registry:port>/nms-core tag: <version> dpm: image: repository: <my-docker-registry:port>/nms-dpm tag: <version> ingestion: image: repository: <my-docker-registry:port>/nms-ingestion tag: <version> integrations: image: repository: <my-docker-registry:port>/nms-integrations tag: <version> utility: image: repository: <my-docker-registry:port>/nms-utility tag: <version>
This
values.yaml
file specifies the Docker images to be used for theapigw
,core
,dpm
,ingestion
,integrations
andutility
components, including the repository (<my-docker-registry:port>
) and tag (version
) of each image. It also specifies that a secret calledregcred
should be used for image pulls. -
-
Save and close the
values.yaml
file.
Manage Network Policies
To enforce existing network policies for NGINX Management Suite, Kubernetes must have a network plugin installed before helm chart installation.
When enabled, the following network policies will be created in the release namespace.
kubectl get netpol -n nms
NAME POD-SELECTOR AGE
apigw app.kubernetes.io/name=apigw 4m47s
clickhouse app.kubernetes.io/name=clickhouse 4m47s
core app.kubernetes.io/name=core 4m47s
dpm app.kubernetes.io/name=dpm 4m47s
ingestion app.kubernetes.io/name=ingestion 4m47s
integrations app.kubernetes.io/name=integrations 4m47s
utility app.kubernetes.io/name=integrations 4m47s
To disable the existing network policies, update the values.yaml
file as shown below:
networkPolicies:
# Setting this to true enables network policies for NGINX Management Suite.
enabled: false
Install Chart
Note:
To complete the steps in this section, you need to have OpenSSL 1.1.1 or later installed.
Run the helm install
command to install Instance Manager from the Helm chart:
-
Replace
<path-to-your-values.yaml>
with the path to the values.yaml file you created. -
Replace
YourPassword123#
with a secure password that contains a combination of uppercase and lowercase letters, numbers, and special characters.Important:
Make sure to copy and save the password for future reference. Only the encrypted password is stored in Kubernetes. There’s no way to recover or reset a lost password. -
(Optional) Replace
<nms-chart-version>
with the desired version; see the table below for the available versions. Alternatively, you can omit this flag to install the latest version.
helm install -n nms --set nms-hybrid.adminPasswordHash=$(openssl passwd -6 'YourPassword123#') nms nginx-stable/nms --create-namespace -f <path-to-your-values.yaml> [--version <chart-version>] --wait
To help you choose the right NGINX Management Suite chart version, refer to the following table, which provides information about the compatible modules for each version.
NGINX Management Suite chart | Instance Manager |
---|---|
1.14.4 | 2.17.4 |
1.14.0 | 2.17.0 |
1.13.0 | 2.16.0 |
1.12.1 | 2.15.1 |
1.12.0 | 2.15.0 |
1.11.0 | 2.14.0 |
1.10.1 | 2.13.1 |
1.10.0 | 2.13.1 |
1.9.0 | 2.13.0 |
1.8.2 | 2.12.0 |
1.8.1 | 2.12.0 |
1.8.0 | 2.12.0 |
1.7.2 | 2.11.0 |
1.7.1 | 2.11.0 |
1.7.0 | 2.11.0 |
1.6.0 | 2.10.1 |
1.5.2 | 2.10.0 |
1.5.1 | 2.10.0 |
1.5.0 | 2.10.0 |
1.4.0 | 2.9.1 |
1.3.1 | 2.9.0 |
1.3.0 | 2.9.0 |
1.2.1 | 2.8.0 |
1.2.0 | 2.8.0 |
1.1.2 | 2.7.0 |
1.1.1 | 2.7.0 |
1.1.0 | 2.7.0 |
1.0.0 | 2.6.0 |
Validate Deployment
Run the following command to check the status of the deployment:
helm -n nms status nms
This helm
command shows the status of the app called nms
in the namespace nms
. The command displays the release name, chart version, last deployment time, and current status.
The status should be STATUS: deployed
if the deployment was successful.
Access Web Interface
You can access the NGINX Management Suite web interface using the external IP address for the API Gateway.
-
To look up the external IP address for the API Gateway, run the following command:
kubectl -n nms get svc apigw
This
kubectl
command retrieves the service namedapigw
from the namespacenms
. It outputs the details of the service, such as its type, port, cluster and external IP addresses.The default service type is
ClusterIP
and the output looks similar to the following example:NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE apigw ClusterIP 10.108.57.167 <none> 443/TCP 32s
Using the
CLUSTER-IP
value, go tohttps://<CLUSTER-IP>:443/ui
.For example,
https://10.108.57.167/ui
.This IP address might not be reachable, depending on how the Kubernetes cluster networking was configured. If so, the
apigw
service type can be changed to a more suitable option, such asLoadBalancer
, by changing the Configurable Helm Setting value fornms-hybrid.apigw.service.type
.
Add License
A valid license is required to make full use of all the features in Instance Manager.
Refer to the Add a License topic for instructions on how to download and apply a trial license, subscription license, or Flexible Consumption Program license.
Upgrade Instance Manager
To upgrade Instance Manager, take the following steps:
-
Repeat the steps above to:
-
Run the following command to upgrade the NGINX Management Suite deployment:
-
Replace
<path-to-your-values.yaml>
with the path to the values.yaml file you created. -
Replace
YourPassword123#
with a secure password that contains a combination of uppercase and lowercase letters, numbers, and special characters.Important:
Make sure to copy and save the password for future reference. Only the encrypted password is stored in Kubernetes. There’s no way to recover or reset a lost password. -
(Optional) Replace
<nms-chart-version>
with the desired version; see the table below for the available versions. Alternatively, you can omit this flag to install the latest version.
helm upgrade -n nms --set nms-hybrid.adminPasswordHash=$(openssl passwd -6 'YourPassword123#') nms nginx-stable/nms -f <path-to-your-values.yaml> [--version <nms-chart-version>] --wait
This command upgrades an existing Helm chart deployment named
nms
with a new version of the chart located in thenginx-stable/nms
repository. It also sets the value of thenms-hybrid.adminPasswordHash
to the hashed version of the provided password and uses avalues.yaml
file located at the provided path. -
Uninstall Instance Manager
Uninstalling Instance Manager also uninstalls the entire NGINX Management Suite.
To uninstall Instance Manager, run the following command:
helm uninstall --namespace nms nms
This helm command uninstalls the app named nms
from the namespace nms
. It deletes all of the Kubernetes resources associated with the app, including any deployments, pods, services, and configmaps.
Configurable Helm Settings
The following table lists the configurable parameters and default values for the NGINX Management Suite platform when installing from a Helm chart.
To modify a configuration for an existing release, run the helm upgrade
command and use -f <my-values-file>
, where my-values-file
is a path to a values file with your desired configuration.
Parameter | Description | Default |
---|---|---|
nms-hybrid.adminPasswordHash |
The hashed value of the password for the admin user. To generate the hash using openssl , run a command similar to the following example: openssl passwd -1 "YouPassword123#" |
N/A |
nms-hybrid.nmsClickhouse.enabled |
Enable this if external ClickHouse is not used. | true |
nms-hybrid.nmsClickhouse.fullnameOverride |
Modify the name of ClickHouse resources. | clickhouse |
nms-hybrid.nmsClickhouse.image.repository |
Repository name and path public ClickHouse image. | clickhouse/clickhouse-server |
nms-hybrid.nmsClickhouse.image.tag |
Tag used for pulling images from registry. | 21.3.20.1-alpine |
nms-hybrid.nmsClickhouse.image.pullPolicy |
Image pull policy. | IfNotPresent |
nms-hybrid.nmsClickhouse.user |
Username to connect to the ClickHouse server as. | N/A |
nms-hybrid.nmsClickhouse.password |
Password for the ClickHouse server. | N/A |
nms-hybrid.nmsClickhouse.service.name |
ClickHouse service name. | clickhouse |
nms-hybrid.nmsClickhouse.service.rpcPort |
ClickHouse service port. | 9000 |
nms-hybrid.nmsClickhouse.resources.requests.cpu |
Minimum required CPU on a node to run ClickHouse server. | 500m |
nms-hybrid.nmsClickhouse.resources.requests.memory |
Minimum required memory on a node to run ClickHouse server. | 1Gi |
nms-hybrid.nmsClickhouse.persistence.enabled |
Use PVCs to persist ClickHouse data. | true |
nms-hybrid.nmsClickhouse.persistence.existingClaim |
Name of an existing Persistent Volume Claim (PVC) to use for ClickHouse persistence | N/A |
nms-hybrid.nmsClickhouse.persistence.storageClass |
Storage Class to use for creating a ClickHouse PVC | |
nms-hybrid.nmsClickhouse.persistence.volumeName |
Name to use a ClickHouse PVC volume | |
nms-hybrid.nmsClickhouse.persistence.accessMode |
PVC access mode for ClickHouse | ReadWriteOnce |
nms-hybrid.nmsClickhouse.persistence.size |
PVC size ClickHouse | 1G |
nms-hybrid.nmsClickhouse.tolerations |
List your Kubernetes tolerations, if any | See Kubernetes Taints And Tolerations |
nms-hybrid.externalClickhouse.address |
Address of external ClickHouse service. | |
nms-hybrid.externalClickhouse.user |
User of external ClickHouse service. | |
nms-hybrid.externalClickhouse.password |
Password of external ClickHouse service. | |
nms-hybrid.serviceAccount.annotations |
Set custom annotations for the service account used by NGINX Management Suite. | {} |
nms-hybrid.apigw.name |
Name used for API Gateway resources. | apigw |
nms-hybrid.apigw.tlsSecret |
By default, this helm chart creates its own Certificate Authority (CA) to self-sign the HTTPS server cert key pairs; these are not managed by NGINX Management Suite. You can bring your own NGINX API Gateway certificates for hosting the HTTPS NGINX Management Suite server by setting “tlsSecret” to an existing Kubernetes secret name in the namespace targeted by the chart. The secret should include tls.crt , tls.key , and ca.pem in the data object. We recommend using a self-provisioned “tlsSecret” for production scenarios.For an example, refer to the “Use your own certificates” section in Frequently Used Helm Configurations. |
|
nms-hybrid.apigw.image.repository |
Repository name and path for the apigw image. |
apigw |
nms-hybrid.apigw.image.tag |
Tag used for pulling images from registry. | latest |
nms-hybrid.apigw.image.pullPolicy |
Image pull policy. | IfNotPresent |
nms-hybrid.apigw.container.port.https |
Container HTTPS port. | 443 |
nms-hybrid.apigw.service.name |
Service name. | apigw |
nms-hybrid.apigw.service.type |
Service type. Options: ClusterIp , LoadBalancer , NodePort |
ClusterIp |
nms-hybrid.apigw.service.httpsPort |
Service HTTPS port. | 443 |
nms-hybrid.apigw.resources.requests.cpu |
Minimum required CPU on a node to run core . |
250m |
nms-hybrid.apigw.resources.requests.memory |
Minimum required memory on a node to run core . |
256Mi |
nms-hybrid.apigw.tolerations |
List your Kubernetes tolerations, if any | See Kubernetes Taints And Tolerations |
nms-hybrid.core.name |
Name used for API Gateway resources. | core |
nms-hybrid.core.image.repository |
Repository name and path for the core image. |
core |
nms-hybrid.core.image.tag |
Tag used for pulling images from registry. | latest |
nms-hybrid.core.image.pullPolicy |
Image pull policy. | IfNotPresent |
nms-hybrid.core.container.port.http |
Container HTTP port. | 8033 |
nms-hybrid.core.container.port.db |
Container database port. | 7891 |
nms-hybrid.core.container.port.grpc |
Container gRPC port. | 8038 |
nms-hybrid.core.service.httpPort |
Service HTTPS port. | 8033 |
nms-hybrid.core.service.grpcPort |
Service HTTPS port. | 8038 |
nms-hybrid.core.resources.requests.cpu |
Minimum required CPU on a node to run core . |
500m |
nms-hybrid.core.resources.requests.memory |
Minimum required memory on a node to run core . |
512Mi |
nms-hybrid.core.persistence.enabled |
Enable persistence for core service. |
true |
nms-hybrid.core.persistence.claims |
An array of persistent volume claims for Dqlite and secrets, can be modified to use an existing PVC. | See Dqlite and Secrets |
nms-hybrid.core.persistence.storageClass |
Storage Class to use for creating a core PVC |
|
nms-hybrid.core.persistence.volumeName |
Name to use a core PVC volume |
|
nms-hybrid.core.tolerations |
List your Kubernetes tolerations, if any | See Kubernetes Taints And Tolerations |
nms-hybrid.dpm.name |
Name used for dpm . |
dpm |
nms-hybrid.dpm.image.repository |
Repository name and path for the dpm image. |
dpm |
nms-hybrid.dpm.image.tag |
Tag used for pulling images from registry. | latest |
nms-hybrid.dpm.image.pullPolicy |
Image pull policy. | IfNotPresent |
nms-hybrid.dpm.container.port.http |
Container HTTP port. | 8034 |
nms-hybrid.dpm.container.port.nats |
Container database port. | 9100 |
nms-hybrid.dpm.container.port.db |
Container database port. | 7890 |
nms-hybrid.dpm.container.port.grpc |
Container gRPC port. | 8036 |
nms-hybrid.dpm.service.name |
Service name. | nms |
nms-hybrid.dpm.service.httpPort |
Service HTTPS port. | 8034 |
nms-hybrid.dpm.service.grpcPort |
Service HTTPS port. | 8036 |
nms-hybrid.dpm.service.natsPort |
Service HTTPS port. | 9100 |
nms-hybrid.dpm.resources.requests.cpu |
Minimum required CPU on a node to run dpm . |
500m |
nms-hybrid.dpm.resources.requests.memory |
Minimum required memory on a node to run dpm . |
512Mi |
nms-hybrid.dpm.persistence.enabled |
Enable persistence for dpm service. |
true |
nms-hybrid.dpm.persistence.claims |
An array of persistent volume claims for Dqlite and NATS, can be modified to use an existing PVC. | See Dqlite and NATS streaming |
nms-hybrid.dpm.persistence.storageClass |
Storage Class to use for creating a dpm PVC |
|
nms-hybrid.dpm.persistence.volumeName |
Name to use a dpm PVC volume |
|
nms-hybrid.dpm.tolerations |
List your Kubernetes tolerations, if any | See Kubernetes Taints And Tolerations |
nms-hybrid.ingestion.name |
Name used for ingestion . |
ingestion |
nms-hybrid.ingestion.image.repository |
Repository name and path for the dpm image. |
ingestion |
nms-hybrid.ingestion.image.tag |
Tag used for pulling images from registry. | latest |
nms-hybrid.ingestion.image.pullPolicy |
Image pull policy. | IfNotPresent |
nms-hybrid.ingestion.replicaCount |
Number of replicas of ingestion to run. |
1 |
nms-hybrid.ingestion.container.port.grpc |
Container HTTP port. | 8035 |
nms-hybrid.ingestion.service.name |
Service name. | nms |
nms-hybrid.ingestion.service.grpcPort |
Service HTTPS port. | 8035 |
nms-hybrid.ingestion.resources.requests.cpu |
Minimum required CPU on a node to run ingestion . |
500m |
nms-hybrid.ingestion.resources.requests.memory |
Minimum required memory on a node to run ingestion . |
512Mi |
nms-hybrid.ingestion.tolerations |
List your Kubernetes tolerations, if any | See Kubernetes Taints And Tolerations |
nms-hybrid.integrations.name |
Name used for integrations . |
integrations |
nms-hybrid.integrations.image.repository |
Repository name and path for the integrations image. |
integrations |
nms-hybrid.integrations.image.tag |
Tag used for pulling images from registry. | latest |
nms-hybrid.integrations.image.pullPolicy |
Image pull policy. | IfNotPresent |
nms-hybrid.integrations.container.port.http |
Container HTTP port. | 8037 |
nms-hybrid.integrations.container.port.db |
Container database port. | 7892 |
nms-hybrid.integrations.service.name |
Service name. | nms |
nms-hybrid.integrations.service.httpPort |
Service HTTPS port. | 8037 |
nms-hybrid.integrations.resources.requests.cpu |
Minimum required CPU on a node to run integrations . |
500m |
nms-hybrid.integrations.resources.requests.memory |
Minimum required memory on a node to run integrations . |
512Mi |
nms-hybrid.integrations.persistence.enabled |
Enable persistence for integrations service. |
true |
nms-hybrid.integrations.persistence.claims |
An array of persistent volume claims for Dqlite, can be modified to use an existing PVC. | See Dqlite - size is 1Gi |
nms-hybrid.integrations.persistence.storageClass |
Storage Class to use for creating a integrations PVC |
|
nms-hybrid.integrations.persistence.volumeName |
Name to use a integrations PVC volume |
|
nms-hybrid.integrations.tolerations |
List your Kubernetes tolerations, if any | See Kubernetes Taints And Tolerations |
nms-hybrid.utility.name |
Name used for utility . |
utility |
nms-hybrid.utility.image.repository |
Repository name and path for the utility image. |
utility |
nms-hybrid.utility.image.tag |
Tag used for pulling images from registry. | latest |
nms-hybrid.utility.image.pullPolicy |
Image pull policy. | IfNotPresent |
Instance Manager Dqlite Storage Configuration
- name: dqlite
existingClaim:
size: 500Mi
accessMode: ReadWriteOnce
Instance Manager Secrets Storage Configuration
- name: secrets
existingClaim:
size: 128Mi
accessMode: ReadWriteOnce
Instance Manager NATS Storage Configuration
- name: nats-streaming
existingClaim:
size: 1Gi
accessMode: ReadWriteOnce
Kubernetes Taints and Tolerations
The following example snippet shows a toleration on an Instance Manager APIGW deployment. In this example, Kubernetes will tolerate the “NoExecute” effect for 60 seconds before evicting the pod from the tainted node.
tolerations:
- key: "node.kubernetes.io/unreachable"
operator: "Exists"
effect: "NoExecute"
tolerationSeconds: 60
- key: "node.kubernetes.io/network-unavailable"
operator: "Exists"
effect: "NoExecute"
tolerationSeconds: 60
For more information, refer to the official Kubernetes Taints and Tolerations documentation.
Troubleshooting
For help with common issues and suggested solutions and workarounds, refer to the NGINX Management Suite Troubleshooting Guide.
For guidance on how to create a support package containing system and service details to share with NGINX Customer Support, refer to the guide Create a Support Package from a Helm Installation.