Understanding Kubernetes: Core Concepts and Architecture
This article provides a concise, question‑driven overview of Kubernetes, covering its architecture, node and master communication, pod fundamentals, scheduling, storage via etcd, service exposure, scaling mechanisms, and the roles of core components such as kube‑apiserver, kubelet, kube‑proxy and controllers.
Kubernetes is a container‑based distributed cluster management system that embodies Google’s decades of experience with large‑scale container deployments.
It consists of multiple Node (physical or virtual) machines managed by a Master node, forming a distributed cluster.
Question 1: How do the Master and Worker nodes communicate? When the Master starts, the kube-apiserver process provides the API interface for all components. Each Node runs a kubelet process that reports its status to the Master and receives commands to create Pods.
Question 2: How does the Master schedule Pods to specific Nodes? The kube-scheduler runs complex algorithms to select the optimal Node for each Pod, commonly using round‑robin scheduling. Pods can be directed to specific Nodes by matching Node labels with Pod node selectors.
Question 3: Where is the information about Nodes and Pods stored and who maintains it? All cluster configuration data is stored in etcd, a highly available key‑value store. The kube-apiserver accesses etcd and provides RESTful APIs for internal components and external users.
Question 4: How do external users access Pods running in the cluster? Kubernetes introduces the Service abstraction, which groups identical Pods and exposes them via a stable virtual IP. A kube-proxy on each Node handles traffic routing and load balancing.
Question 5: How do Pods scale dynamically? The Replication Controller (or newer Deployments) manages the desired replica count for each Pod, adjusting the actual number of Pods automatically or via manual updates.
Question 6: How do the various components cooperate? The kube-controller-manager runs multiple controllers (e.g., Service Controller, Replication Controller, Node Controller, ResourceQuota Controller, Namespace Controller) that watch the cluster state via the apiserver and reconcile it to the desired state.
The article concludes with a summary of key Kubernetes concepts and components:
Node
Pod
Label & Selector
Replication Controller
Service Controller
ResourceQuota Controller
Namespace Controller
Node Controller
Relevant runtime components include:
kube-apiserver
kube-controller-manager
kube-scheduler
kubelet
kube-proxy
pause container
Images illustrating the architecture are embedded throughout the original article.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
Top Architect
Top Architect focuses on sharing practical architecture knowledge, covering enterprise, system, website, large‑scale distributed, and high‑availability architectures, plus architecture adjustments using internet technologies. We welcome idea‑driven, sharing‑oriented architects to exchange and learn together.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
