Kubernetes is an open source container orchestration system to automate software deployment, monitoring, scaling functionalities. Kubernetes cluster comprises of multiple nodes with one master Nodes and multiple worker Nodes and each node can be either physical computer or virtual machines based of type of cluster being configured. In brief, Master Node is responsible to manage the state of the cluster whereas worker node is responsible to run the workloads or services - for example a rest API service or a data base server etc. Let us understand different components of the Cluster. Master node is also known as Control plane. The master node runs the API server, scheduler and controller manager, and the worker nodes run the kubelet and kube-proxy.
Runs various processes - node controller, endpoint controller, replication controller to manage and reconcile the desired state of the cluster.
Kube-scheduler selects an optimal node to run newly created pods according to the Pod's specification. It chooses a node based on filtering and scoring process.
It acts a front end for the control plane or the master node for all communications of kubernetes resources. It exposes REST interface through which worker nodes or other kubernetes resources can communicate with master node.
It is kubernetes backup storage - highly available and consistant data storage to store the cluster data.
This is an agent to run containerized software program or services in the pod inside the worker node interacting with the Docker or equivalent containerization engine like ContainerD or rocket according to the POD specification.
Manages network connectivity between worker nodes in a cluster. Maintains network rules accross nodes.
Next