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