K8S Node Controller

Node Controller is responsible for monitoring the status of the K8S NodeK8S Node
In [[Kubernetes]], a Node is a (physical or virtual) machine in charge of running some workloads. Kubernetes is run entirely on nodes, and everything that happens on Kubernetes cluster, happens on ...
s and keeping them in the desired state. It does this through the K8S ApiserverK8S Apiserver
Kube Apiserver is the primary component of a [[Kubernetes]] cluster. It runs on a [[K8S Master Node]], and is the only component which is talking directly to the [[etcd cluster]]. It exposes a REST...
.

This is the workflow by which Node Controller works:

  • If a new node is created, Node Controller will assign it a CIDRCIDR
    CIDR (Classless Inter-Domain Routing) notation can be used to represent a range of IP addresses. It has two parts:

    prefix - Network address (a normal IP address)
    suffix - number of bits of the...
    block.
  • it checks the status of the nodes every 5 seconds
  • if it stops receiving heartbeat from a node, that node is marked as unreachable after the grace period of 40 seconds
  • after it's marked unreachable, it has 5 minutes to come back up
  • if it doesn't, pods get evicted from that node, and get provisioned to the healthy ones (if they are a part of a K8S ReplicasetK8S Replicaset
    ReplicaSets are [[K8S Object]]s used to make sure a certain number of [[K8S Pod]]s is running on the Kubernetes cluster.

    ReplicaSet uses the labels defined in the selector property to find all the...
    )

Status: #💡

References:

  • https://kubernetes.io/docs/concepts/architecture/nodes/#node-controller