Kubernetes Architecture Overview

Gayanath Lakmevan Silva
3 min readFeb 2, 2024

--

In recent years, containerization has revolutionized the way we develop, deploy, and manage applications. At the forefront of this containerization revolution is Kubernetes, an open-source container orchestration platform. Kubernetes simplifies the deployment, scaling, and management of containerized applications, providing a robust and scalable environment. To truly grasp its power, one must understand the intricate architecture that governs Kubernetes. In this comprehensive guide, we’ll delve into the main components, their functions, and how they collaborate to create a seamless orchestration experience.

Control Plane and Data Plane:

Control Plane:

The control plane, responsible for managing and controlling the cluster’s state, makes global decisions and responds to cluster events. The API Server, Controller Manager,Cloud Controller Manager, Scheduler, and etcd collectively form the control plane, orchestrating the cluster’s overall behavior.

API Server:

At the heart of Kubernetes lies the API Server, acting as the central management point. It exposes the Kubernetes API, facilitating administrative tasks and communication with other components. This critical component forms the bridge between the user and the cluster.

Controller Manager:

Responsible for maintaining the desired state of the cluster, the Controller Manager oversees controllers such as the Replication Controller, Endpoint Controller, and Namespace Controller. These controllers ensure the system reacts appropriately to events and maintains the desired configuration.

Scheduler:

The Scheduler is a decision-making component that assigns workloads to nodes based on resource requirements, policies, and constraints. It continuously monitors resource availability and determines the optimal node for container deployment.

etcd:

In the realm of distributed systems, etcd serves as the distributed key-value store. Storing the cluster’s configuration data, etcd acts as the cluster’s “brain,” holding essential information about the cluster’s state and configurations.

Cloud Controller Manager:

The Cloud Controller Manager (CCM) is a crucial component within the Kubernetes architecture, specifically designed to interact with cloud provider APIs. As Kubernetes is a platform-agnostic container orchestration system, the CCM plays a pivotal role in extending its capabilities to integrate with various cloud providers.

Data Plane:

The data plane, also known as the “data path” or “forwarding plane,” handles and forwards actual application data. Key components include the Kubelet, ensuring containers run on nodes, Kube Proxy, maintaining network rules and facilitating communication between Pods. container runtime, is a software component responsible for running and managing containers on a host system.

Kubelet:

On the worker nodes, the Kubelet ensures that containers are running within Pods. It communicates with the API Server to receive instructions and provides crucial information about the node’s status.

Kube Proxy:

Maintaining network rules on nodes, Kube Proxy facilitates communication between Pods across the cluster. It performs TCP, UDP, and SCTP stream forwarding, as well as round-robin load balancing across a set of backends.

Container Runtime:

The software responsible for running containers, such as Docker or containerd, constitutes the Container Runtime. It ensures the efficient execution of containerized applications.

— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —

Understanding the architecture of Kubernetes is pivotal for effectively deploying and managing applications in a containerized environment. The master node governs the cluster’s overall state, while worker nodes execute workloads. The collaboration between the control plane and data plane ensures a scalable, resilient, and manageable container orchestration environment.

In conclusion, Kubernetes stands as a testament to the evolution of container orchestration, empowering developers and operators alike to streamline the deployment and management of containerized applications.

--

--

Gayanath Lakmevan Silva
Gayanath Lakmevan Silva

Written by Gayanath Lakmevan Silva

I'm Gayanath Lakmevan Silva and undergraduate student of Faculty of Information Technology,University of Moratuwa,Sri Lanka

No responses yet