Cloud Native 11 min read

Understanding Kubernetes Architecture: Components, Deployment Process, Pods, Networking, and Services

This article provides a comprehensive overview of Kubernetes, covering its master‑node architecture, core components such as API Server, Scheduler, and Controllers, the step‑by‑step creation of Deployments, the role of Pods, container orchestration patterns, networking fundamentals, and service discovery mechanisms for microservices.

IT Architects Alliance
IT Architects Alliance
IT Architects Alliance
Understanding Kubernetes Architecture: Components, Deployment Process, Pods, Networking, and Services

Kubernetes Architecture

From a macro perspective, Kubernetes consists of a Master control plane, worker Nodes, and etcd as the distributed key‑value store.

The Master includes the API Server, Scheduler, and Controller Manager, all of which interact with etcd to store and retrieve cluster state.

API Server : Unified entry point for resource operations, abstracting direct etcd access and providing security, registration, and discovery functions.

Scheduler : Assigns Pods to Nodes based on scheduling rules.

Controller Manager : Ensures resources reach their desired state.

Nodes provide the compute resources where containers actually run and contain two key components:

kubelet : Manages container lifecycles, monitors health via cAdvisor, performs health checks, and reports node status.

kube‑proxy : Implements service discovery and load‑balancing within the cluster by monitoring Service/Endpoint changes.

Creating a Deployment

The article walks through the complete flow when a user creates a Deployment with kubectl:

kubectl sends a create‑Deployment request.

API Server writes the Deployment object to etcd.

Deployment controller watches the resource and creates a ReplicaSet.

ReplicaSet controller watches the ReplicaSet and creates Pods.

Scheduler detects unscheduled Pods and binds them to suitable Nodes.

kubelet on the selected Node creates the Pods and manages their lifecycle.

kube‑proxy sets up Service‑related networking rules.

Through this coordinated effort, the requested Deployment is realized as running Pods.

Pod

A Pod is the smallest deployable unit in Kubernetes, designed for tightly coupled containers that share network namespace, storage volumes, and configuration, effectively acting as a single logical host.

Container Orchestration

Kubernetes offers various controllers for different workloads: Deployment for stateless apps, StatefulSet for stateful apps, DaemonSet for daemon processes, and Job/CronJob for batch jobs. Deployment manages ReplicaSets, which in turn manage Pods, enabling horizontal scaling and rolling updates.

Horizontal Scaling

Adjusting the replica count in a ReplicaSet directly changes the number of Pods, providing simple scale‑out or scale‑in capabilities.

Update / Rollback

During an update, a new ReplicaSet is created and gradually takes over the Pods from the old ReplicaSet; a rollback reverses this process.

Rolling Update

Kubernetes performs rolling updates by ensuring a minimum number of Pods remain available while new Pods are created, controlled by maxSurge and maxUnavailable settings.

Kubernetes Networking

Three basic connectivity requirements are satisfied: Node ↔ Pod, Pod ↔ Pod on the same Node, and Pod ↔ Pod across Nodes. This is achieved via CNI bridges (cni0/docker0). Cross‑Node communication can be implemented with solutions like Flannel, which uses etcd to distribute routing information.

Microservice – Service

Service provides a stable virtual IP and load‑balancing for a set of Pods selected by label selectors (e.g., app=xxx), solving the problems of dynamic Pod IPs and the need for load distribution.

Service Discovery and Network Calls

Inside the cluster, Service can be accessed via ClusterIP (a VIP implemented with iptables or IPVS) or via DNS name service-name.namespace-name.svc.cluster.local. External access is achieved through NodePort, LoadBalancer, or Ingress, with Ingress acting as a unified entry point that routes traffic to backend Services.

Overall, the article gives a concise yet thorough introduction to Kubernetes concepts, component interactions, and how microservices run on a Kubernetes cluster.

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

Cloud NativeDeploymentKubernetesNetworkingcontainer orchestration
IT Architects Alliance
Written by

IT Architects Alliance

Discussion and exchange on system, internet, large‑scale distributed, high‑availability, and high‑performance architectures, as well as big data, machine learning, AI, and architecture adjustments with internet technologies. Includes real‑world large‑scale architecture case studies. Open to architects who have ideas and enjoy sharing.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.