High availability is not possible with a single-node setup.

The following process assumes a single-node gateway cluster. See the Troubleshooting section if you encounter problems.

Spin up a node

The gateway is available as an Open Virtual Machine Appliance (OVA).

  1. Download the OVA file.

  2. Spin up the VM from the OVA on the ESXi host.

  3. Log in to the VM with the default credentials provided to you. Make sure to change the password.

  4. Set a unique hostname for the node:

     
    
    
            sudo hostnamectl set-hostname <hostname>
            

Install MicroK8s

  1. Run the following commands in the node:

     
    
    
            cd /var/lib/node-manager
            sudo python main.py --install
            
  2. Check the node MicroK8s status, which should be in the running state:

     
    
    
            sudo microk8s status
            

Deploy gateway services on the node

With the node set up, follow these steps to deploy gateway applications on the node.

Enable DNS


microk8s enable dns

Install Persistent Storage, MetalLB, and Gateway Manager services

  1. Create a folder to download the required files:

     
    
    
            mkdir /var/lib/node-manager/charts
            cd /var/lib/node-manager/charts
            
  2. Pull the required services:

     
    
    
            sudo helm chart pull us-docker.pkg.dev/opsramp-registry/gateway-cluster-charts/gateway-extras:1.0.0
            sudo helm chart pull us-docker.pkg.dev/opsramp-registry/gateway-cluster-charts/traefik:1.0.0
            sudo helm chart pull us-docker.pkg.dev/opsramp-registry/gateway-cluster-charts/gateway-manager:0.9.13
            sudo helm chart pull us-docker.pkg.dev/opsramp-registry/gateway-cluster-charts/kubernetes-dashboard:0.9.6
            
  3. Export the required services:

     
    
    
            sudo helm chart export us-docker.pkg.dev/opsramp-registry/gateway-cluster-charts/gateway-extras:1.0.0
            sudo helm chart export us-docker.pkg.dev/opsramp-registry/gateway-cluster-charts/traefik:1.0.0
            sudo helm chart export us-docker.pkg.dev/opsramp-registry/gateway-cluster-charts/gateway-manager:0.9.13
            sudo helm chart export us-docker.pkg.dev/opsramp-registry/gateway-cluster-charts/kubernetes-dashboard:0.9.6
            
  4. Specify the details in the values.yaml file to configure the Storage type, NFS IP Address, NFS Path, and MetalLB IP details. Run:

     
    
    
            sudo nano /var/lib/node-manager/charts/gateway-extras/values.yaml
            
  5. Enter the storageType, nfsServerIp, nfsServerPath, and metallbIp as shown in the example:

     
    
    
            storageType: &storageType nfs
            localStoragePath: &localStoragePath /var/gateway/storage
            nfsServerIp: &nfsServerIp 172.25.251.89
            nfsServerPath: &nfsServerPath /srv/nfsdemo
            metallbIp: &metallbIp 172.25.252.100/32  #Use ip/32 format
            
  6. If you want to use local storage instead of NFS, specify only storageType and metallbIp as shown in the example and ignore the other options:

     
    
    
            storageType: &storageType local
            localStoragePath: &localStoragePath /var/gateway/storage
            nfsServerIp: &nfsServerIp 172.25.251.89
            nfsServerPath: &nfsServerPath /srv/nfsdemo
            metallbIp: &metallbIp 172.25.252.100/32  #Use ip/32 format
            
  7. Install Storage, MetalLB, Gateway Manager and Kubernetes dashboard, including specifying a password:

     
    
    
            helm install gateway-extras /var/lib/node-manager/charts/gateway-extras
            helm install traefik /var/lib/node-manager/charts/traefik
            helm install gateway-manager /var/lib/node-manager/charts/gateway-manager -f /var/lib/node-manager/charts/gateway-manager/values.yaml --set secrets.defaultPassword=Pass@1234  --debug
            

    Kubernetes dashboard is for troubleshooting, and not mandatory:

     
    
    
            helm install kubernetes-dashboard /var/lib/node-manager/charts/kubernetes-dashboard --namespace kubernetes-dashboard --create-namespace --debug
            
  8. Log in to the gateway Manager to register the gateway.

    Open a web browser and go to https://<IPAddress>. Use the IP address assigned to MetalLB and log in with the password provided during Gateway Manager installation.

Register the gateway cluster

Log in to Gateway Manager to register the cluster gateway:

  1. Go to Setup > Management Profiles.
  2. Create a new management profile and copy the activation token.
  3. Enter the activation token into the gateway Manager.

Wait for cluster registration to complete. You should see connected in the UI management profile status.