Kubernetes Architecture Uncovered: Master Node, Node Pool, and Beyond
Posted in Devops, Kubernetes on February 7, 2025 by atharva2six ‐ 4 min read

Introduction
Kubernetes has revolutionized how we deploy and manage containerized applications. At its core, Kubernetes is built on a robust architecture that divides responsibilities between the Control Plane (Master) and the Worker Nodes (Node Pool). Understanding these components is crucial for managing and operating Kubernetes clusters effectively. In this blog post, we will explore each component in detail, discuss their interactions, and highlight their significance in ensuring a reliable and scalable Kubernetes environment.
Kubernetes Architecture Overview
A Kubernetes cluster consists of two main parts:
- Control Plane (Master Node) – Manages the cluster and makes global decisions.
- Worker Nodes (Node Pool) – Run the actual workloads (containers and applications).
I. Control Plane Components (Master Node)
The Control Plane is responsible for managing the state of the cluster, scheduling workloads, and maintaining desired configurations.
1. etcd: Distributed Key-Value Store
- Role: etcd serves as the distributed key-value store that holds all the cluster data.
- Explanation:
- Stores configuration data, cluster state, and metadata.
- Acts as the single source of truth for the Kubernetes cluster.
- Importance:
- Highly available and consistent.
- Ensures the state of the cluster is always up-to-date.
2. Kube-API Server: Central Management Hub
- Role: The Kubernetes API Server (Kube-API) serves as the entry point for all external and internal cluster communication.
- Responsibilities:
- Processes REST requests from
kubectl
, other components, or external applications. - Validates and forwards requests to the appropriate components.
- Processes REST requests from
- Interaction with etcd:
- The Kube-API server stores and retrieves cluster state information from
etcd
.
- The Kube-API server stores and retrieves cluster state information from
- Interaction with Other Components:
- Acts as a bridge for communication with the Controller Manager, Scheduler, and Nodes.
3. Kube-Controller-Manager: Controller Management
- Role: Runs various controllers to maintain the desired state of the cluster.
- Controllers:
- ReplicaSet Controller: Ensures a specified number of pod replicas are running.
- Deployment Controller: Manages deployments, rollouts, and updates.
- Node Controller: Monitors node health and handles node failures.
- Job Controller: Ensures jobs complete successfully.
- Service Account Controller: Manages service accounts and authentication.
- Interaction with Kube-API:
- Continuously monitors the cluster state via the Kube-API and makes changes accordingly.
4. Kube-Scheduler: Resource Scheduling
- Role: Assigns pods to worker nodes based on resource availability.
- Scheduling Process:
- Determines which node can run a pod based on resource requests (CPU, memory, etc.).
- Factors Influencing Scheduling Decisions:
- Node affinity rules.
- Resource constraints.
- Taints and tolerations.
5. Cloud Controller Manager (CCM)
- Role: Integrates Kubernetes with cloud provider APIs.
- Functions:
- Manages cloud resources like load balancers, storage, and networking.
- Ensures cloud-specific configurations are synchronized with Kubernetes.
II. Worker Node Components (Node Pool)
Worker nodes are responsible for running application workloads. Each node runs several essential components that ensure the smooth execution of pods.
1. Kubelet: Node Agent
- Role: Kubelet is an agent running on each worker node that ensures the desired containers are running.
- Responsibilities:
- Communicates with the Kube-API server to receive pod specifications.
- Manages the container runtime (e.g., Docker, containerd) to start, stop, or delete containers.
- Interaction with Kube-API:
- Periodically updates the Kube-API with node health and pod status.
2. Kube-Proxy: Network Management
- Description: A network proxy running on worker nodes.
- Role:
- Manages network rules for pods and services.
- Facilitates communication between pods and external services.
- Key Functions:
- Handles Service abstraction by forwarding requests to the appropriate pods.
- Implements load balancing for services.
3. Container Network Interface (CNI)
- Role: Ensures efficient networking between pods across the cluster.
- Popular CNI Implementations:
- Calico: Provides policy-driven networking with security features.
- Flannel: A simple overlay network for Kubernetes.
- Cilium: eBPF-based networking and security.
- Importance:
- Ensures seamless pod communication.
- Manages IP address allocation and routing.
4. kubectl: Command-Line Tool
- Role:
kubectl
is the command-line tool used to interact with the Kubernetes cluster. - Functionality:
- Create, update, delete, and query Kubernetes resources.
- Useful for debugging and cluster management.
- Common kubectl Commands:
# Check cluster information kubectl cluster-info # List all pods kubectl get pods # Apply a YAML configuration kubectl apply -f <file.yaml> # Describe resource details kubectl describe pod <pod-name> # Delete a resource kubectl delete pod <pod-name>
Conclusion
Kubernetes operates with a well-structured architecture that separates control plane components from worker nodes, ensuring scalability, resilience, and efficiency. By mastering these components, you can better manage your cluster and optimize its performance. Understanding etcd, API Server, Controller Manager, and Scheduler is crucial for managing the control plane, while Kubelet, Kube-Proxy, and CNI play a significant role in the worker nodes. By leveraging these insights, you can build, deploy, and maintain highly available Kubernetes environments.