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).
Download the OVA file.
Spin up the VM from the OVA on the ESXi host.
Log in to the VM with the default credentials provided to you. Make sure to change the password.
Set a unique hostname for the node:
sudo hostnamectl set-hostname <hostname>
Install MicroK8s
Run the following commands in the node:
cd /var/lib/node-manager sudo python main.py --install
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
Create a folder to download the required files:
mkdir /var/lib/node-manager/charts cd /var/lib/node-manager/charts
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
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
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
Enter the
storageType
,nfsServerIp
,nfsServerPath
, andmetallbIp
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
If you want to use local storage instead of NFS, specify only
storageType
andmetallbIp
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
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
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:
- Go to Setup > Management Profiles.
- Create a new management profile and copy the activation token.
- Enter the activation token into the gateway Manager.
Wait for cluster registration to complete. You should see connected in the UI management profile status.