Apologies if you saw this blog earlier and it was just a random drawing! I accidentally hit publish before writing anything 😅. I'm still figuring out a smooth workflow between Canva, dev.to, and Eraser.io—so bear with me while I get things right.
Kubernetes Architecture - Master Node and Worker Node Components
In today’s post, I’m going to walk through the basic architecture of Kubernetes, focusing on the two main components: the Master Node and the Worker Node.
Master Node
The Master Node is where the control magic happens. It’s responsible for managing the cluster and coordinating everything between the nodes. Here are the key components of the Master Node:
API Server: This is the entry point for all the administrative tasks. Think of it as the main communication hub between the users, nodes, and even the external components.
Scheduler: As the name suggests, it’s responsible for scheduling your applications (pods) to run on the Worker Nodes based on available resources.
Controller Manager: Responsible for monitoring and maintaining the desired state of the cluster, ensuring that everything is operating smoothly and as expected.
etcd: An open-source, distributed key-value store that holds and replicates all the critical data for the cluster, such as configurations, state information, and metadata essential for maintaining the system's desired state.
Worker Node
On the other side, you have the Worker Nodes. These are where your containers (applications) actually run. Here's a breakdown:
Pods: A Pod is the smallest deployable unit in Kubernetes. Each Pod encapsulates one or more containers.
kubelet: It ensures the containers in the Pods are running and reports back to the Master Node.
Container Runtime: This is the software that actually runs the containers.
kube-proxy: It manages the network rules that allow the Pods to communicate with each other and with the outside world.
Putting It All Together
The communication between the Master and Worker Nodes is key to keeping the system running smoothly. The API Server communicates with the kubelet on each Worker Node to make sure the containers are running as expected, while the Scheduler decides which Pods go where based on resources.
I hope this gives you a clear picture of how Kubernetes architecture is organized. If you're learning Kubernetes like me, drawing these diagrams and breaking things down really helps solidify the concepts.
Tags and Mentions
@piyushsachdeva
Day 5 video
Top comments (0)