This section describes how to install nextgen gateway through Helm based deployment.
Note
If you are using an ISO/OVA that is not provided by OpsRamp, please be aware that OpsRamp cannot assist with the setup of Kubernetes or address any security-related issues associated with Kubernetes.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.
- 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"
- Update all the required values in the yaml file.
- 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>
Note
- If namespace is not passed it will use the default namespace.
- While installing the nextgen gateway, the release name should be nextgen-gw.
Check for Successful Gateway Registration
Use the following command to make sure
nextgen-gw-0
pod status is running.kubectl get pods –n <NAMESPACE>
Once the Helm deployment is successful, navigate to Setup > Resource > Management Profile to check if the gateway is registered successfully.
Gateway connection status: