This article describes how to configure multiple Kadeck instances that run as a cluster.
First define a list of master nodes. In this example, we will configure 3 Kadeck instances running as a minimum (to handle 2 simultaneous catastrophic failures):
- kadeck-1:2551
- kadeck-2:2552
- kadeck-3:2553
Configure the environment variables for each node as follows.
Node kadeck-1
- xeotek_kadeck_cluster_nodes: "kadeck-1:2551,kadeck-2:2552,kadeck-3:2553"
- xeotek_kadeck_cluster_hostname: "kadeck-1"
- xeotek_kadeck_cluster_port: 2551
Node kadeck-2
- xeotek_kadeck_cluster_nodes: "kadeck-1:2551,kadeck-2:2552,kadeck-3:2553"
- xeotek_kadeck_cluster_hostname: "kadeck-2"
- xeotek_kadeck_cluster_port: 2552
Node kadeck-3
- xeotek_kadeck_cluster_nodes: "kadeck-1:2551,kadeck-2:2552,kadeck-3:2553"
- xeotek_kadeck_cluster_hostname: "kadeck-3"
- xeotek_kadeck_cluster_port: 2553
Auto-scaling instances
Once you have the master nodes set up, you can then have any other amount of auto scaling instances that need just to be configured with the master members list:
- xeotek_kadeck_cluster_nodes: "kadeck-1:2551,kadeck-2:2552,kadeck-3:2553"
When the instances come online they will register themselves and hand over their own hostname and port to the first master node that is up and running and receive the updated list of members. The current members will then receive an updated list with this new instance in it via gossiping.