Day 05/40 Days of K8s: Kubernetes Demystified !! 鈽革笍

K8s architecture:
Let鈥檚 understand the architecture of k8s and components involved and their respective functionalities.
Kubernetes architecture consists of two main components:
Control Plane (Master)
Worker Nodes
Control Plane 馃
The Control Plane acts as the master, managing cluster operations and delegating workloads to worker nodes. It runs some key processes:
Api-server: It鈥檚 the only entrypoint to the cluster, acts like a cluster gateway. It ensures the authentication and authorization, once it receives the request from the client and then trigger the scheduler.
Scheduler: Decides on which node pods has to be scheduled based on various factors like resource requirements, node availability ,and node affinity rules etc... It communicates with kubelet to start pods on specific nodes.
Control manager: Manages various controllers, responsible for maintaining desired state of cluster continuously doing health checks. We have many in built controllers like replicaset,deployment,node controller and where replicaset controller ensures desired no. of replicas are always up and running.
CCM- cloud control manger: Only if we implement k8s on cloud like AWS , how does AWS understand the client request to k8s? CCM Intercepts client requests and translates them for the cloud provider's API
Etcd: Distributed key value store which store the entire cluster data, only api-server can talk to etcd to retrieve the current state of the cluster in return to send output to client.
Worker Nodes 鈾燂笍
Worker nodes are where the actual work happens, based on instructions from the control plane. Each worker node runs these processes:
Kubelet: Agent runs on every worker to let the communication between master and worker, ensures the pod is always up and running no matter what and notify api-sever.
Kube-Proxy: Acts as a network proxy, managing traffic within the cluster. setting up IPVs or IPtable rules on each node to capture traffic to the Service's and redirect it to the appropriate backend pods.
Container Runtime: Allows k8s to run containers, defines interface between k8s and container runtime. K8s supports different runtimes like containerd and CRIO and docker.
Why the Control Plane is Necessary ?
Despite worker nodes having all needed components for running containers, networking, and maintaining pod health, the control plane is crucial for orchestrating and managing the cluster. It offers the needed control, organization, and state management to make sure the cluster runs smoothly and efficiently 馃専
NOTE: To maintain High availability and Fault-tolerance always multiple masters and worker nodes will be running in real time.
Happy learning !! Keep smiling 馃槉
#Docker #Containerization #K8s #K8sArchitecture #CKASeries#40DaysOfKubernetes
Subscribe to my newsletter
Read articles from Gopi Vivek Manne directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by

Gopi Vivek Manne
Gopi Vivek Manne
I'm Gopi Vivek Manne, a passionate DevOps Cloud Engineer with a strong focus on AWS cloud migrations. I have expertise in a range of technologies, including AWS, Linux, Jenkins, Bitbucket, GitHub Actions, Terraform, Docker, Kubernetes, Ansible, SonarQube, JUnit, AppScan, Prometheus, Grafana, Zabbix, and container orchestration. I'm constantly learning and exploring new ways to optimize and automate workflows, and I enjoy sharing my experiences and knowledge with others in the tech community. Follow me for insights, tips, and best practices on all things DevOps and cloud engineering!