To achieve this the following has to be met:
app=
label to pick which nodes are used for aerospike and which can be used by asbenchkubectl
yaml files must correctly select based on the labels for both asbench and the serverscd /root/eks
eksctl create cluster -f two-node-groups.yaml
cd /root/deploy-olm-ako
./setup_olm.sh -f /root/eks/two-node-groups.yaml
List nodes: kubectl get nodes -o wide
Simple script to mark first 6 nodes as aerospike
app:
AEROSPIKE=6
kubectl get nodes -o wide --no-headers |awk '{print $1}' |sort |head -${AEROSPIKE} |while read node; do kubectl label nodes ${node} app=aerospike; done
View labels: kubectl get nodes --show-labels -o wide
Simple script to make the last 2 nodes astools:
ASTOOLS=2
kubectl get nodes -o wide --no-headers |awk '{print $1}' |sort |tail -${ASTOOLS} |while read node; do kubectl label nodes ${node} app=astools; done
cd /root/deploy-olm-ako/examples/clusters
kubectl apply -f aerospike_memory_rackaware_and_nodeselector.yaml -n aerospike
cd /root/deploy-olm-ako/examples/clients
kubectl apply -f asbench-nodeselector-and-tolerations.yaml -n aerospike