This guide provides step-by-step instructions for updating memory limits for NextGen Gateway components deployed in a Kubernetes cluster using Helm. If you need to configure memory limits prior to deployment, refer to the Advanced configuration of Helm based deployment document.

Prerequisites

  • Access to the Kubernetes cluster where the NextGen Gateway is deployed
  • Helm CLI installed and configured
  • Existing deployment of nextgen-gw

Step 1: Identify the Deployed Helm Chart Version

First, determine the current Helm chart version for the deployed NextGen Gateway:

helm list | grep nextgen
Sample Response:
nextgen-gw   1.7.1   deployed
In this example, 1.7.1 is the chart version.

Step 2: Export Current Helm Values

Export the current Helm values to a YAML file to make modifications:

helm get values nextgen-gw > nextgen-values.yaml 

Sample Response:

Step 3: Update Memory Limits

Use the following helm upgrade command to update the memory limits. Replace <chart_version> with the version retrieved in Step 1: Identify the Deployed Helm Chart Version and modify the memory values as required.

Helm upgrade <<gateway-name>> XXXXXXX 
Sample Response:

helm upgrade nextgen-gw oci://us-docker.pkg.dev/opsramp-registry/gateway-cluster-charts/nextgen-gw \ 

  --version <chart_version> \ 

  -f nextgen-values.yaml \ 

  --set-string vprobe.resources.limits.memory="8192Mi" \ 

  --set-string nativebridge.resources.limits.memory="1000Mi" \ 

  --set-string squid.resources.limits.memory="1000Mi" \ 

  --set-string postgres.resources.limits.memory="2048Mi" 

Example of Memory Allocation:

Node Sizevprobepostgresnativebridgesquid-proxy
8 GB RAM4Gi1Gi500Mi500Mi
16 GB RAM8Gi2Gi1Gi1Gi

Adjust the memory values as needed based on available system resources.

Step 4: Verify Updated Memory Limits

After performing the upgrade, verify that the memory limits have been successfully applied by describing the pod:

kubectl describe pod nextgen-gw-0
In the output, check the Limits section for each container to confirm the updated memory settings.

Sample Verification Output

Postgres Container:vprobe Container:nativebridge Container:
Limits: memory: 1Gi Requests: memory: 1GiLimits: memory: 4Gi Requests: memory: 4GiLimits: memory: 500Mi Requests: memory: 500Mi