It could be confusing how the HA setup should be completed. Following is a summary of steps you can follow to achieve HA setup on IFS Cloud 23R1
- Fill in 'Linuxhost' and 'Nodes' variables in main_config.json
- Enable Following Ports on all 3 Nodes
- TCP 10250,10255,10257,10259,12379,16443,19001,25000
- UDP 4789
- .\main.ps1 -resource 'INIT'
- .\main.ps1 -resource 'KEY' (This will generate ssh keys for all 3 nodes)
- .\main.ps1 -resource 'KUBERNETES' (this will install kubernetes on all 3 nodes)
Add nodes (.\main.ps1 -resource 'JOINNODE' didn't work that well - so used the following method)
- SSH to Node1
- sudo microk8s add-node
- SSH to Node 2
- Run the relevant microk8s join command copied from above
- (i.e. microk8s join 192.168.1.230:25000/92b2db237428470dc4fcfc4ebbd9dc81/2c0cb3284b05)
- SSH to Node1
- sudo microk8s add-node
- SSH to Node 3
- Run the relevant microk8s join command copied from above
At this point all 3 nodes should be in control plan and should see the same POD details if checked on individual nodes. And kubectl get node should show all 3 nodes in the cluster.
From here onwards, running following comands will impact the whole cluster, regardless from which node you execute them.
- .\main.ps1 -resource 'GETKUBECONFIG' (this will get the config file from the node 1 of the node array defined in 'Nodes' variable)
- .\main.ps1 -resource "DISABLEAPPARMORPROFILE" (this will run command on all 3 nodes)
- .\main.ps1 -resource "SETK8SDNS"
- .\main.ps1 -resource "INGRESS"
- .\main.ps1 -resource "STORAGE"
- Install Cloud MT using: .\installer.cmd --set action=mtinstaller