avatarrouterhan

Summary

The web content provides an introductory guide to Kubernetes architecture, detailing the roles of the control plane, worker nodes, and key components within a Kubernetes cluster.

Abstract

The article "Understanding Kubernetes Architecture — A Beginner’s Guide" offers a comprehensive overview of the Kubernetes system architecture. It breaks down the architecture into two main sections: the control plane and the worker nodes. The control plane acts as the brain of the cluster, making global decisions and managing the cluster's state, with components such as the Kubernetes API server, etcd, scheduler, controller manager, and cloud controller manager. Worker nodes, which can be physical or virtual machines, host the user applications and are managed by the control plane. They include essential components like the kubelet, container runtime, and Kubernetes proxy to ensure the smooth operation of Pods. The guide emphasizes the importance of understanding these components for beginners to navigate the Kubernetes ecosystem effectively.

Opinions

  • The author suggests that a mind map available on GitHub can aid in understanding the Kubernetes architecture, indicating a preference for visual learning tools.
  • The article promotes the idea that etcd serves as the source of truth for the cluster state, highlighting its critical role in Kubernetes.
  • The author expresses that Kubernetes' ability to run on various infrastructures is a significant advantage, as nodes are provided by cloud providers and managed by the control plane.
  • There is an emphasis on the importance of controllers in maintaining the desired state of the cluster, showcasing the dynamic and self-healing nature of Kubernetes.
  • The author encourages readers to engage with the content by subscribing to the series or joining the Medium Membership Program, indicating a value on community and continuous learning.
  • By inviting questions and suggestions, the author conveys an openness to feedback and a willingness to assist readers in their Kubernetes journey.

Understanding Kubernetes Architecture — A Beginner’s Guide

Unveiling the Blueprint: Navigating the Inner Workings of Kubernetes

Find Complete mind map of A Beginner’s Guide to Kubernetes

In this post, we will again discuss the key components of the Kubernetes system architecture, as highlighted in the diagram from the Kubernetes documentation.

Check out “Understanding Kubernetes — A Beginner’s Guide” for the comprehensive series🚀

A deployment of Kubernetes is called a “Cluster.”

On the left side of the diagram is the control plane, which is responsible for making decisions about the cluster and detecting and responding to events within the cluster.

The control plane consists of several components, including the Kubernetes API server, etcd, the Kubernetes scheduler, the Kubernetes controller manager, and the cloud controller manager.

Control Plane

The control plane is the brain of a Kubernetes cluster. It makes decisions about the cluster and detects and responds to events in the cluster. The main components of the control plane are:

Kubernetes API server

The Kubernetes API server is the entry point for all communication in the cluster. It exposes the Kubernetes API, which accepts commands to view or change the state of the cluster.

etcd

Etcd is a highly available key-value store that contains all the cluster data. When you tell Kubernetes to deploy your application, that deployment configuration is stored in etcd. Etcd is the source of truth for the state in a Kubernetes cluster, and the system works to bring the cluster state into line with what is stored in etcd.

Kubernetes scheduler

The Kubernetes scheduler assigns newly created Pods to nodes. The scheduler determines where your workloads should run within the cluster.

Kubernetes controller manager

The Kubernetes controller manager runs all the controller processes that monitor the cluster state and ensure that the actual state of a cluster matches the desired state.

Cloud controller manager

The cloud controller manager runs controllers that interact with the underlying cloud providers. These controllers effectively link clusters into a cloud provider’s API.

Let’s now zoom in on the right side to learn more about the worker nodes.

Worker Nodes

Nodes are the worker machines in a Kubernetes cluster. User applications are run on nodes. Nodes can be virtual or physical machines. Each node is managed by the control plane and is able to run Pods.

Nodes are not created by Kubernetes itself, but rather by the cloud provider. This enables Kubernetes to run on a variety of infrastructures. The nodes are then managed by the control plane. The components on a node enable that node to run Pods:

kubelet

This is the most important component. This controller communicates with the Kubernetes API server to receive new and modified Pod specifications and ensures that those Pods and their associated containers are running as desired. The kubelet also reports to the control plane on health and status.

Container runtime

In order to start a Pod, the kubelet uses the container runtime, which is responsible for downloading images and running containers. Kubernetes implements a Container Runtime Interface that permits pluggability of the container runtime. While Docker is likely the best-known runtime, rkt and CRI-O are two other commonly used container runtimes.

Kubernetes proxy

This is a network proxy that runs on each node in a cluster. This proxy maintains network rules that allow communication to Pods running on nodes — in other words, communication to workloads running on your cluster. This communication can come from within or outside of the cluster.

Key Takeaways

Let’s recap!

we explored the architecture of a Kubernetes cluster, uncovering important concepts that every beginner should know.

Here are the key takeaways:

1. Control Plane: The control plane is the decision-making center of the cluster, consisting of various components responsible for managing and orchestrating the cluster’s operations.

2. Node Architecture: Kubernetes utilizes separate nodes to host essential components and user workloads. These nodes work together to form a robust and scalable cluster.

3. Controllers: Controllers play a crucial role in maintaining the desired state of the cluster. They continuously monitor and reconcile the actual state with the desired state, ensuring that applications run smoothly.

By understanding the architecture of a Kubernetes cluster, you are equipped with the foundational knowledge necessary to navigate the Kubernetes ecosystem.

Stay tuned for more informative content in our Understanding Kubernetes — A Beginner’s Guide, where we delve deeper into the core concepts and features of Kubernetes.

🔔 Stay tuned or subscribe to my series: “Understanding Kubernetes — A Beginner’s Guide” to explore everything about Kubernetes. 🚀

➕Join the Medium Membership Program to support my work and connect with other writers.

📝 Have questions or suggestions? Leave a comment or message me through Medium. Let’s connect!

Thank you for your support! 🌟

Kubernetes
Kubernetes Cluster
Cloud Architecture
Recommended from ReadMedium