I noticed that some of the redis pods never run - specifically, all three replicas of redis-ha-server-2. It is quite easy to diagnose the issue; by running kubectl describe pod redis-ha-server-2, we can see that the redis-ha-server-2 pod cannot be scheduled onto any of the 3 nodes (1 control plane, 2 worker nodes) because it has an antiaffinity with the other redis pods, and it cannot be scheduled on the control plane. Since the 2 worker nodes already host the pods redis-ha-server-0 and redis-ha-server-1, the antiaffinity of the redis-ha-server-2 pod results in the pod never running. This problem is easily solved by introducing a 3rd worker node to the cluster; I installed Armada on a K8s cluster hosted on 4 VMs, and I was able to get all the redis servers working since my cluster has 3 worker nodes.
Thus, I would recommend modifying the kind installation to have 3 worker nodes rather than 2.
The make kind-all is meant to serve as a Quickstart and not a production setup, I'll try and reduce the config so it starts only 1 Pod to reduce resource requirements as much as possible.
I noticed that some of the redis pods never run - specifically, all three replicas of redis-ha-server-2. It is quite easy to diagnose the issue; by running
kubectl describe pod redis-ha-server-2
, we can see that the redis-ha-server-2 pod cannot be scheduled onto any of the 3 nodes (1 control plane, 2 worker nodes) because it has an antiaffinity with the other redis pods, and it cannot be scheduled on the control plane. Since the 2 worker nodes already host the pods redis-ha-server-0 and redis-ha-server-1, the antiaffinity of the redis-ha-server-2 pod results in the pod never running. This problem is easily solved by introducing a 3rd worker node to the cluster; I installed Armada on a K8s cluster hosted on 4 VMs, and I was able to get all the redis servers working since my cluster has 3 worker nodes.Thus, I would recommend modifying the kind installation to have 3 worker nodes rather than 2.