Create a Support Package from a Helm Installation

Use the Kubernetes support package script to collect information about your system for troubleshooting and debugging issues.

The script collects system and service information and then packages the data into a tar archive, which you can share with NGINX Customer Support.


To complete the steps in this guide, you need the following:

  • bash 4.0 or higher

The F5 NGINX Management Suite Helm chart includes the k8s-support-package.sh script in the following location:

  • /support-package/k8s-support-package.sh.

To create a support package from a Helm installation:

  1. Download the latest NGINX Management Suite Helm chart:

    bash
    helm repo add nginx-stable https://helm.nginx.com/stable
    helm repo update
    helm pull nginx-stable/nms
    tar zxvf nms-<version>.tgz
  2. Run the Kubernetes support package script. See the Arguments section for a list of the available options.

    bash ./nms/charts/nms-hybrid/support-package/k8s-support-package.sh

    The Kubernetes support package is saved in the same location from where you run the script.

  3. To extract the package, use the tar command:

    tar -xvf k8s-support-pkg-<timestamp>.tar.gz

The following table lists the arguments you can use with the Kubernetes support package script.

Short Long Description Example Default
-h --help Prints information about the script arguments to stdout. --help N/A
-o --ouput_dir The output directory where the tar archive is saved. -o ~/output $(pwd)
-n --namespace The namespace of the Helm installation. -n nms <none>
-xd --exclude_databases Exclude Dqlite database backup data. -xd False
-xt --exclude_timeseries Exclude ClickHouse time series data. -xt False
-m --modules Include specific modules in Dqlite database backup data. -m acm False

The Kubernetes support package includes several directories containing information about the cluster, namespace, application, and database state.

  • A log of all output from the k8s-support-package.sh script.

  • A snapshot of the Helm chart files in the parent directory (excluding the support-package directory you’re running the script from).

Includes the versions of:

  • Helm chart
  • kubectl tool
  • helm tool
  • NGINX gateway
  • ClickHouse

Includes information for:

  • Cluster
  • Node
  • Storage Class

Includes information for:

  • General namespace data
  • Events
  • API version
  • API services
  • API resources

Includes information about the NGINX Management Suite application:

  • Deployments
  • Services
  • Persistent Volumes
  • Persistent Volume Claims
  • Secrets
  • Configmaps
  • Pods

The logs of the NGINX Management Suite processes, NGINX gateway, and ClickHouse.

The files in the pod-logs directory are named using the format pod_name-<timestamp>.logs.

For example, the NGINX Management Suite core service logs are stored in the file core-<id>-logs.txt.

Includes information about the status and state of each pod:

  • Operating system version
  • Environment variables
  • Processes running

The Kubernetes support package script uses a Go executable file named dqlite-backup (located in /etc/nms/scripts/ inside applicable NGINX Management Suite containers) to connect to the databases and generate data dumps.

The collected data is saved to the following directories:

  • dqlite/core
  • dqlite/dpm
  • dqlite/integrations

If you have specified a module using the --modules flag, the collected data is saved to the dqlite/<moduleName> directory.

This folder contains status information, dumps, and statistics for the nms ClickHouse database. In particular, for metrics and events.