Managing the pods during node failure using replication controller
In this blog, We will show you how kubernetes is Managing the pods during node failure using replication controller.
REQUIREMENTS
- 2 Node Cluster ( 1 Master VM with 2 Nodes)
- Kubernetes Components
INFRASTRUCTURE OVERVIEW
- We have already installed and configured the 2 Node cluster in our demo environment.
- Please check the URL https://www.assistanz.com/steps-to-install-kubernetes-cluster-manually-using-centos-7/ for more information
REPLICATION CONTROLLER OVERVIEW
- We have already created a replication controller in our environment.
- Currently, there are four PODs available in this replication controller. It created pods on each node randomly.
NODE FAILURE
- To simulate the node failure, Let’s disable the node 2 network interface.
- After few seconds, you can verify the node status from the kubernetes master VM.
- Kubernetes will wait for a while before rescheduled the PODS to available nodes. If the nodes were not reachable after several minutes, the POD status will change to unknown.
- At this point, replication controller creates new pods in the available node.
- The unknown status POD’s are marked for deletion.
- Once the Node2 is back to online, you can see the nodes status change to ready.
MOVING THE POD OUT OF REPLICATION CONTROLLER
- Replication Controller manages the PODs through Label selector. We can view the pod labels using show labels option.
kubectl get pods --show-labels
- Let’s modify the label of a POD using below command.
Syntax: kubectl label <object type> <object name> <label variables> --overwrite
Example: kubectl label pod rep-pod-vl9mm env=prod --overwrite
- Command executed successfully.
- The old pod is no longer matched with replication controller label selector. So, Kubernetes will start creating a new pod to match with the desired state.
- After few seconds, the new POD (rep-pod-b7kl2) is in running status. The old POD (rep-pod-vl9mm) will remain as the unmanaged POD.
EXTERNAL LINKS
https://kubernetes.io/docs/concepts/workloads/controllers/replicationcontroller/
VIDEO
Thanks for reading this blog. We hope it was useful for you to learn about managing the PODS during node failure using replication controller.