This section describes how to install nextgen gateway through Helm based deployment.

Prerequisites

  • Helm 3.8.2 or higher
  • Kubernetes (K3S or K8S) - 1.20.x - 1.17.x or higher
  • 8 GB Memory
  • 50 GB Disk
  • 4 Core of CPU
  • AMD64/ARM64 Arch
  • Configure the default storage class and CSI plugin in the Kubernetes cluster.
    • When deploying in AWS EKS and using the EFS-based storage class, ensure that both UID and GID are set to 70.
  • If you have a multi-node Kubernetes cluster, use an external load balancer service like MetalLB to support multi-node cluster.

Deployment Process

Deploy Helm Chart with Basic Options

Follow the below command to install gateway using helm chart without any additional option.

helm install nextgen-gw  oci://us-docker.pkg.dev/opsramp-registry/gateway-cluster-charts/nextgen-gw --set opsramp_cloud_native="enable" --set vprobe.reginfo.API_SERVER="<API SERVER URL>" --set vprobe.reginfo.ACTIVATION_KEY="<ACTIVATION KEY>" -n <NAMESPACE> 

Deploy Helm Chart with Advanced Options

Deploy the Helm chart with advanced options for installing the NextGen Gateway, including settings for ThirdPartyApp, storage class name, memory limits for the vprobe container, proxy details, nativebridge container, Squid Proxy container, and postgres container.

  1. Create a yaml file with the following data.
#To set gateway hostname 
gatewayName: "nextgen-gw"          

#Enable this for helm-based deployment 
#By default, it is disable 
opsramp_cloud_native: "enable"       

#Enable squid proxy for gateway as a proxy service  
squidproxy: "disable" 

#Enable thirdPartyApp for 3rd Party SDK Apps 
thirdPartyApp: "disable" 

#Provide Repository to pull images
imageRepository: "us-docker.pkg.dev"
global:
  imageRegistry: "us-docker.pkg.dev"
  storageClass: ""

#Provide storage class name if not using default storageclass 
storageClassName: 

#Pass the snmp_v3 credentials in below format. Put 2 spaces under the "snmp_trap_v3_credentials" and pass the keys after those spaces (spaces are for yaml indentations)
#snmp_trap_v3_credentials: |-
#  key1
#  key2
#  key3
# Refer https://docs.opsramp.com/platform-features/feature-guides/monitoring-using-snmp-traps/#configure-snmp-v3-traps for more details on configuring SNMP credentials.

snmp_trap_v3_credentials: |-

#Provide Api Server URL and Registrations Token for gateway registration  
vprobe: 
  reginfo:  
    API_SERVER:                   
    ACTIVATION_KEY:     

#Memory limits for vprobe container 
#Vprobe should have a minimum of 4GB Memory 
  resources:  
    limits:  
      memory: "4096Mi" 

#Provide proxy details if gateway should connect to opsramp cloud via external proxy 
#Set ConextionType as  proxy if connecting via external proxy 
#Set Proxy IP, Port, Username and password 
proxy: 
    ConnectionType: direct         
    ProxyIp:                                  
    ProxyPort:                              
    ProxyUsername:                  
    ProxyPassword:                      
    Protocol: http 

#Set service annotation for exposing load balancer
#Example annotations for AWS EKS:
  #service.beta.kubernetes.io/aws-load-balancer-internal: "true"       
#Example annotations for GCP:
  #cloud.google.com/load-balancer-type: "Internal"
#Example annotations for Azure AKS:
  #service.beta.kubernetes.io/azure-load-balancer-internal: "true"
service:
  annotations:     
    tcp: {}           
    udp: {}     
    squidProxy: {}

#Memory limits for nativebridge container  
#Native Bridge should have a minimum of 500 MB Memory  
nativebridge:  
  resources:  
    limits:  
      memory: "500Mi"  

#Memory limits for Squid Proxy container  
#Squid Proxy should have a minimum of 500 MB Memory  
squid:  
  resources:  
    limits:  
      memory: "500Mi"  

#Memory limits for postgres container  
#Postgres should have a minimum of 1GB Memory  
postgres:  
  resources:  
    limits:  
      memory: "1024Mi" 
  1. Update all the required values in the yaml file.
  2. Install gateway helm chart using the following command.
    helm install nextgen-gw oci://us-docker.pkg.dev/opsramp-registry/gateway-cluster-charts/nextgen-gw -f <YamlFileName> -n <NAMESPACE> 

Check for Successful Gateway Registration

  1. Use the following command to make sure nextgen-gw-0 pod status is running.

    kubectl get pods –n <NAMESPACE> 
    ISO download

  2. Once the Helm deployment is successful, navigate to Setup > Resource > Management Profile to check if the gateway is registered successfully.

Gateway connection status:

bootstrap