Re-add k8s nodes

Update nodes

sudo apt update && \
sudo apt -y upgrade && \
sudo apt -y autoremove && \
sudo reboot -h now

Sometimes, we just need to run this command to reconnect a node

sudo modprobe nf_conntrack

Remove nodes

microk8s remove-node node1 && \
microk8s remove-node node2 && \
microk8s remove-node node3 && \
microk8s remove-node node4 && \
microk8s remove-node node5 && \
microk8s remove-node node6

Re-Add nodes

microk8s add-node

Add nodeName labels

kubectl label nodes master nodeName=master && \
kubectl label nodes node1 nodeName=node1 && \
kubectl label nodes node2 nodeName=node2 && \
kubectl label nodes node3 nodeName=node3 && \
kubectl label nodes node4 nodeName=node4 && \
kubectl label nodes node5 nodeName=node5 && \
kubectl label nodes node6 nodeName=node6

Add nodeProjects labels

kubectl label nodes master nodeProjects=real-clients && \
kubectl label nodes node1 nodeProjects=real-clients && \
kubectl label nodes node2 nodeProjects=real-clients && \
kubectl label nodes node3 nodeProjects=golang && \
kubectl label nodes node4 nodeProjects=real-clients && \
kubectl label nodes node5 nodeProjects=real-clients && \
kubectl label nodes node6 nodeProjects=real-clients

Add performaceNode labels

kubectl label nodes master performaceNode=true && \
kubectl label nodes node1 performaceNode=true && \
kubectl label nodes node2 performaceNode=true && \
kubectl label nodes node3 performaceNode=false && \
kubectl label nodes node4 performaceNode=true  && \
kubectl label nodes node5 performaceNode=true  && \
kubectl label nodes node6 performaceNode=true

Add heavyWorkerNodes labels

kubectl label nodes node1 heavyWorkerNode=true && \
kubectl label nodes node2 heavyWorkerNode=true && \
kubectl label nodes node3 heavyWorkerNode=false && \
kubectl label nodes node4 heavyWorkerNode=true && \
kubectl label nodes node5 heavyWorkerNode=true && \
kubectl label nodes node6 heavyWorkerNode=true

Check pods on new nodes

kubectl get pods --all-namespaces -o wide --field-selector spec.nodeName=node1 && \
kubectl get pods --all-namespaces -o wide --field-selector spec.nodeName=node2 && \
kubectl get pods --all-namespaces -o wide --field-selector spec.nodeName=node3 && \
kubectl get pods --all-namespaces -o wide --field-selector spec.nodeName=node4 && \
kubectl get pods --all-namespaces -o wide --field-selector spec.nodeName=node5 && \
kubectl get pods --all-namespaces -o wide --field-selector spec.nodeName=node6

Re-deploy liveness probe pods

# Create namespace if not exist
kubectl create namespace liveness

# Deploy pods
helm install node1 deployment -n liveness --set name=node1-liveness --set ingress.host=node1.liveness.iguzman.com.mx --set deployment.nodeSelector.nodeName=node1 && \
helm install node2 deployment -n liveness --set name=node2-liveness --set ingress.host=node2.liveness.iguzman.com.mx --set deployment.nodeSelector.nodeName=node2 && \
helm install node3 deployment -n liveness --set name=node3-liveness --set ingress.host=node3.liveness.iguzman.com.mx --set deployment.nodeSelector.nodeName=node3 && \
helm install node4 deployment -n liveness --set name=node4-liveness --set ingress.host=node4.liveness.iguzman.com.mx --set deployment.nodeSelector.nodeName=node4 && \
helm install node5 deployment -n liveness --set name=node5-liveness --set ingress.host=node5.liveness.iguzman.com.mx --set deployment.nodeSelector.nodeName=node5 && \
helm install node6 deployment -n liveness --set name=node6-liveness --set ingress.host=node6.liveness.iguzman.com.mx --set deployment.nodeSelector.nodeName=node6

# Delete deployment
helm delete node1 -n liveness && \
helm delete node2 -n liveness && \
helm delete node3 -n liveness && \
helm delete node4 -n liveness && \
helm delete node5 -n liveness && \
helm delete node6 -n liveness

Aliases

echo "alias master='ssh christopher@master'" >> ~/.bashrc && \
echo "alias node1='ssh christopher@node1'" >> ~/.bashrc && \
echo "alias node2='ssh christopher@node2'" >> ~/.bashrc && \
echo "alias node3='ssh christopher@node3'" >> ~/.bashrc && \
echo "alias node4='ssh christopher@node4'" >> ~/.bashrc && \
echo "alias node5='ssh christopher@node5'" >> ~/.bashrc && \
echo "alias node5='ssh christopher@node6'" >> ~/.bashrc

Leave a Comment

Scroll to Top