Limited Availability NoticeGateway clustering is not generally available. This feature is visible in your account only if you are participating in the limited availability program. It will be generally available in future releases. Contact OpsRamp Support for additional information.
A gateway cluster is a set of virtual machines (VMs) running gateway software, which function as a single, logical machine. The gateway cluster provides:
- High availability against the failure of a node in the cluster.
- High availability against the failure of a physical server on which the nodes run.
- Flexible horizontal scaling of nodes to manage more IT assets.
How a gateway cluster works
A gateway cluster is a set of virtual machines, which run applications that discover and monitor your environment, as shown in the following figure:
Gateway nodes run on physical servers typically running a hypervisor with other VMs unrelated to the gateway. Nodes use a shared NFS storage volume to persist state shared among gateway nodes.
Each node also runs a lightweight Kubernetes - MicroK8s distribution. Kubernetes enables gateway nodes to work as a single, logical machine, which automatically schedules gateway applications between nodes.
If a node fails or the host on which the node runs fails, or both a node and host fail to restart applications on a different node, the logical node restarts the applications. The following figure shows how a gateway cluster works in the presence of faults:
Gateway clusters can be deployed in several configurations, depending on availability and horizontal scaling goals. The following figures illustrate three design points:
To deploy a gateway cluster, make sure your environment meets these requirements:
|Nodes||Size||4 CPU cores, 8 GB RAM, 40 GB Disk|
|Nodes||IP addresses||Static IP address allocation requirement:|
|Nodes||Hostname||Each node should have a unique hostname. IP address and hostname should be added in the |
|Nodes||Network access||All VMs should have outbound internet access to |
|Nodes||Number of nodes||Minimum of three nodes for high availability.|
|Hosts||OS||VMWare vSphere ESXi v6.0 or later versions.|
|Hosts||Number of hosts||Minimum of three hosts, running one gateway node on each host for high availability.|
|Storage||Type||NFS storage volume, with read/write access from all nodes.|
|Nodes||Ports||All VMs should have inbound access on ports 80, 5480, 30100, and outbound access on port 443.|
Install a cluster gateway syslog adapter
To install a cluster gateway syslog adapter, see Install Syslog Adapter on Cluster Gateway
Can I roll back to the classic gateway from a gateway cluster?
Yes, you can roll back from a gateway cluster to the classic gateway without re-onboarding your managed resources and without monitoring data loss.
De-register the gateway cluster from its management profile and register a classic gateway in its place.
SDK-based apps will not work moving back to Classic Gateway. For all SDK-based apps, cluster gateway is required.
How do I validate the multi-node cluster gateway setup?
Validate that your cluster is set up correctly by:
- Running network discovery on a few managed resources.
- Applying ping monitors on the resources.
How do I validate that the cluster can successfully recover from a node failure?
- Select one of the nodes.
- Power the node off to simulate node failure. The cluster recovers from the failure by restarting failed node monitoring applications on the remaining nodes.
- Verify that monitors resume monitoring by observing the metric graphs in the UI.
How to restrict Gateway Manager access?
Gateway Manager can be accessed on Cluster IP or Load Balancer IP from browser location
Run the following commands on the gateway node to switch between the IPs. This action can be performed after the installation of the Gateway Manager.
To enable Gateway Manager to run on Cluster IP and help restrict Gateway WebUI access on external IP:
microk8s kubectl edit services Gateway Manager
Change type: LoadBalancer to type: ClusterIP
Delete the line that starts with nodePort
To enable Gateway Manager to run on Load Balancer IP, which reverts the above change and permits Gateway WebUI access on the external IP:
microk8s kubectl edit services Gateway Manager
Change type: ClusterIP to type: LoadBalancer
How to change the DNS entries on the cluster?
If you want to use your own DNS entries instead of the default entries, run:
microk8s kubectl edit configmap/coredns -n kube-system
Change the default DNS entries 22.214.171.124 and 126.96.36.199 to the DNS entries you want.
How to connect the Gateway using an external proxy server?
To connect the Gateway to the OpsRamp portal, which permits the gateway to register and communicate using a proxy server, log in to the Gateway manager WebUI,
https://<IPAddress>:5480, enter the proxy server details, and save.
How to pull helm charts and images using a proxy external server?
To pull helm charts and images using an external proxy server, configure the IP and port number of the proxy server details and restart the service:
Enter the external proxy IP and port number:
Restart microk8s to complete the changes:
sudo microk8s stop sudo microk8s start
How to check the logs?
Check the Pods and Containers logs files in the following locations:
How to remove a node from the cluster?
On a node crash or failure, you can remove the node from the cluster and join a new, identical node to the cluster:
sudo microk8s remove-node <NodeName> --force
How to add the new node to the existing cluster?
Refer to the join nodes section of Set Up a Multi-node Cluster to join a new node to the cluster.