Kubernetes – Components / Cluster architecture – simplifying concepts – detailed article

Hi All,
Greetings for the day!!!
Lets continue Kubernetes series.
We are discussing Kubernetes. In previous few articles we discussed
- What is Kubernetes ? – https://knowledge-junction.in/2021/09/03/kubernetes-introduction-starting-point-for-beginners-helps-to-prepare-the-interview/
- Setting up local environment for Kubernetes – https://knowledge-junction.in/2021/09/11/kubernetes-simplifying-setting-up-local-environment-creating-kubernetes-cluster-locally-helps-in-interview-preparation-kubernetes-for-beginners/
- Yaml file guide / reference – https://knowledge-junction.in/2021/09/04/complete-guide-to-yaml/
- Kubernetes – Setting up kubernetes cluster for development on Windows 10 box using minikube – https://knowledge-junction.in/2022/05/06/kubernetes-setting-up-kubernetes-cluster-for-development-on-windows-10-box-using-minikube/
- Kubernetes – POD – https://knowledge-junction.in/2022/05/05/kubernetes-pod/
- Kubernetes – Objects – simplifying concepts – https://knowledge-junction.in/2022/05/28/kubernetes-objects-simplifying-concepts/
Today we will discuss Kubernetes architecture and Kubernetes cluster
Kubernetes cluster is collection of Nodes – either physical or virtual network where Kubernetes (Kubernetes components) installed
Nodes details
- Machine either physical or virtual where Kuebernatics is installed
- Worker machine where containers are launched by Kubernatics
- Each node is managed by control plane
- There are two types of Nodes
- Master Node
- Worker Node
- Node Name – naming convention / best practices
- Node name must be unique.
- Name identifies the Node
- Node name must be a valid DNS subdomain name
- contain no more than 253 characters
- contain only lowercase alphanumeric characters, ‘-‘ or ‘.’
- start with an alphanumeric character
- end with an alphanumeric character
Kubernetes Cluster Components
Master Node / Control Plane
- Master node / control plane includes the components which controls cluster, its data state and its configuration
- Each worker node managed by control plane and contains necessary components / services to successfully run the PODs
- Control Plane Components:
- API Server
- Component of Kubernetes control plane that exposes the Kubernetes API
- The API server services REST operations through which all other components interact
- The API server is accessible from outside the cluster
- Client (example – user executes the Kubectl command) authenticates via API server
- etcd service
- Distributed, reliable key value store to store all data to manage cluster
- Store all the details on all nodes
- responsible for implementing logs
- Data in etcd is accessible only by Kubernetes API Server
- Controllers
- Kube controller manager
- Component which runs controller processes
- Few types of controllers are following which controller runs
- Node Controller
- Notices and responds when node goes down
- Example –
- When running in a cloud environment and whenever a node is unhealthy, the node controller asks the cloud provider if the VM for that node is still available.
- If not, the node controller deletes the node from its list of nodes.
- Job Controller
- Replication controller – Controls number of replicas in a POD
- EndPoints Controller – Populates end point objects like services and pods
- Service account and Token Controllers
- Node Controller
- Cloud controller manager
- This component is responsible for managing controller processes with dependencies on respective cloud provider
- Kube controller manager
- Schedulers
- Responsible for distributing work across containers across multiple nodes
- This means, responsible for scheduling Pods on respective worker nodes – Check for the PODs which are newly created and not assigned to any node – assigns the node to run successfully
- API Server
Worker Nodes
- Every Kubernetes cluster at least have one worker node
- Worker node hosts the PODs – means our containerised application runs on worker node
- Worker node components
- Container Runtime
- Container runtime engine (its a software) is responsible for running containers
- Docker is one of the example of container runtime
- Kubelet
- This component runs on each node
- This component makes sure that containers are running in a Pod
- This component makes sure containers running in a Pods are in healthy state
- Kube-Proxy
- Proxy service runs on each node
- This component implements part of Kubernetes Service concept
- Exposes services on the external world
- This component makes sure request is forwarded to correct container / POD in a cluster
- Container Runtime
Few Node CMDLETs – Here, I am using minikube
- Get all nodes
kubectl get nodes
Output will be

- To get all labels of node
kubectl get nodes --show-labels
Output will be

- To view the node status and other details – describe attribute to Kubectl cmdlet is used as
kubectl describe node <insert-node-name-here>


fig : Kubernetes node CMDLETS – kubectl describe node – node details
Thanks for reading!!! Please feel free to discuss in case any questions / suggestions / thoughts !!!
HAVE A GREAT TIME AHEAD !!! LIFE IS BEAUTIFUL 🙂
1 Response
[…] Kubernetes – Components / Cluster architecture – simplifying concepts – detailed article – https://knowledge-junction.com/2022/04/27/kubernetes-components-cluster-architecture-simplifying-con… […]
You must log in to post a comment.