Lesson 03
The Main Pillars of Kubernetes
~3 min read
When Kubernetes is deployed a cluster is created. This cluster consists of two main components. The control plane and the worker machines called Nodes.
Source: kubernetes.io/docs/concepts/overview/components
The control plane
On the left we have the control plane that manages the worker nodes and the Pods in the cluster. As you can see from the diagram the control plane consists of various items required to facilitate the operations of our cluster. It is responsible for making sure that all the deployments have enough replicas (more than one instance of the app/workload running), are in good health, and respond to cluster events. It also selects a node for newly created pods to be assigned on.
In production environments, the control plane usually runs across multiple computers and a cluster usually runs multiple nodes, providing fault-tolerance and high availability.
Nodes
Kubernetes runs your workload by placing containers into Pods and these Pods run on worker node(s). A node may be a virtual or physical machine, depending on the cluster. Each of these nodes is managed by the control plane and contains the services necessary to run Pods.
Essentially workloads, that you need to run, are assigned to Nodes once created and it is the Node’s responsibility to keep that workload alive.
Typically you have several nodes in a cluster; in a learning or resource-limited environment, you might have only one node.
Kubelet
The Kubelet is a part of the Node. It is an agent which runs on every node. It makes sure that Pods on the node have running containers. It monitors the Pods and makes sure they are running according to their PodSpec.