Cloud Native 18 min read

Why Kubernetes Dominates Container Orchestration: Design, Architecture, and Core Concepts

This article explains how Kubernetes evolved from Google’s Borg research to become the leading cloud‑native container orchestration platform, detailing its master‑node architecture, core components such as kubelet and CRI, the role of Pods, Services, Deployments, and the declarative API model that enables scalable, flexible workload management.

Alibaba Cloud Native
Alibaba Cloud Native
Alibaba Cloud Native
Why Kubernetes Dominates Container Orchestration: Design, Architecture, and Core Concepts

From Containers to Container Clouds

A container combines Linux namespaces, cgroups, and a root filesystem to isolate a process; it can be viewed as two parts: the static container image stored under /var/lib/docker/aufs/mnt, and the dynamic container runtime that provides the execution environment.

Developers mainly care about the image because it carries the application across the development‑test‑release pipeline.

Kubernetes Design Roots in Borg

Kubernetes inherits its design from Google’s Borg system, first described in the 2015 Borg paper. Borg sits at the bottom of Google’s infrastructure stack, managing massive clusters and providing scheduling, resource isolation, and fault tolerance.

Docker popularized containers, but Kubernetes emerged by re‑implementing Borg’s concepts as an open‑source project, inheriting many core features while fixing Borg’s limitations.

High‑Level Architecture

Kubernetes mirrors Borg’s master‑node model:

Master node : composed of kube-apiserver (API service), kube-scheduler (scheduling), and kube-controller-manager (control loops). Persistent state is stored in etcd via the API server.

Worker nodes : run the kubelet agent, which talks to the container runtime through the Container Runtime Interface (CRI) and to device, network, and storage plugins via gRPC, Device Plugin, CNI, and CSI.

The kubelet abstracts the underlying runtime (Docker, containerd, etc.) so any CRI‑compatible runtime can be used.

Core Abstractions

Pod : the smallest deployable unit, grouping one or more containers that share a network namespace and storage volumes. Pods originate from Borg’s “Alloc” design.

Service : provides a stable virtual IP and DNS name for a set of Pods, enabling reliable discovery despite Pod IP changes.

Secret : stores sensitive data (e.g., credentials) in etcd and injects it into Pods as volumes.

Deployment : a declarative controller that manages multiple identical Pods, handling scaling and rolling updates.

Additional objects such as Job, CronJob, and DaemonSet address one‑off tasks, scheduled jobs, and per‑node daemons respectively.

Declarative API Model

Users describe the desired state with API objects (e.g., Pods, Services, Deployments). The control plane continuously reconciles the actual cluster state to match the declared state, embodying the “declarative API” philosophy.

Example: Deploying an Nginx Application

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
  labels:
    app: nginx
spec:
  replicas: 2
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.7.9
        ports:
        - containerPort: 80

Apply the manifest with: $ kubectl create -f nginx-deployment.yaml This creates two identical Nginx Pods managed by a Deployment, automatically exposing them via a Service for load‑balanced access.

Why Kubernetes Succeeds

Kubernetes abstracts the container runtime, focuses on declarative management, and provides extensible plug‑in points (CRI, CNI, CSI, Device Plugin). This flexibility lets cloud providers and infrastructure teams build value‑added services around the core platform while keeping the container runtime interchangeable.

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.

DeploymentKubernetesServicecontainer orchestrationPodBorgDeclarative API
Alibaba Cloud Native
Written by

Alibaba Cloud Native

We publish cloud-native tech news, curate in-depth content, host regular events and live streams, and share Alibaba product and user case studies. Join us to explore and share the cloud-native insights you need.

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.