Day 30 : Kubernetes Architecture


Kubernetes Overview
With the widespread adoption of containers among organizations, Kubernetes, the container-centric management software, has become a standard to deploy and operate containerized applications and is one of the most important parts of DevOps.
Originally developed at Google and released as open-source in 2014. Kubernetes builds on 15 years of running Google's containerized workloads and the valuable contributions from the open-source community.
What is Kubernetes? Why do we call it k8s?
Kubernetes (often shortened to K8s) is an open-source container orchestration system used to automate the deployment, scaling, and management of containerized applications. It manages clusters of virtual machines and schedules containers to run on those machines, based on their available resources and the container's requirements.
Kubernetes is often called K8s as a shorthand. The "8" represents the number of letters in the word "ubernete" between the "K" and "s" in the word "Kubernetes".
What are the benefits of using k8s?
Benefits of using k8s are:
a. Automated Deployment & Scaling
b. Self-Healing and High Availability
c. Service Discovery & Load Balancing
d. Infrastructure Abstraction (Write Once & Run Everywhere)
e. Built-in security and multi-tenant isolation
Explain the architecture of Kubernetes
Kubernetes follows a master-worker model. The control plane includes the API Server, etcd, Scheduler, and Controllers that manage the cluster state. Worker nodes run Kubelet and container runtime to execute the actual workloads. Kube Proxy manages the network rules. The control plane reconciles the desired state with the actual state continuously
Control Plane Components (Brain of Kubernetes)
a. API Server (kube-apiserver) : Entry point for all K8s commands (via kubectl ,dashboards, etc.). Validates and process requests. Talks to etcd and other components
b. etcd : Distributed key-value store. Stores all cluster data (config, states, secrets, etc.). Highly available and consistent (uses Raft consensus). It’s like the database of your cluster
c. Scheduler : Decides which node a Pod runs on. Checks resource requirements, node availability, affinity rules, etc
d. Controller Manager : Runs background loops ("controllers") to manage cluster state
Worker Node Components
a. Kubelet : Agent on each node. Takes PodSpecs from the API server and runs containers via runtime. Sends health status back to control plane. It's the node manager.
b. Kube Proxy : It’s like a mini reverse proxy + NAT. Manages network rules for service communication. Forwards traffic to the right Pod. Handles internal load balancing
c. Container Runtime : Kubelet uses this to start/stop containers.
What is Control Plane?
The Control Plane is the brain of the Kubernetes cluster. It manages everything—from scheduling Pods to maintaining the desired state of your applications.
Write the difference between kubectl and kubelets
Kubectl is a command-line tool that lets users interact with the Kubernetes API server to manage the cluster.
Kubelet is a node-level agent that runs on each Kubernetes node and ensures containers are running in the correct state as defined in the PodSpecs.
Explain the role of the API server.
The API Server is the heart of Kubernetes—it’s how everything communicates inside the cluster.The API Server (kube-apiserver) is the front-end or gateway of the Kubernetes Control Plane. It exposes the Kubernetes API—which is the central interface for managing all resources in the cluster.
Subscribe to my newsletter
Read articles from Rahul Singh directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
