Kubernetes 全景概览:生态系统与核心架构

Kubernetes 全景概览:生态系统与核心架构

1. 诞生背景

Kubernetes(简称 K8s)由 Google 于 2014 年开源,脱胎于 Google 内部运行超过 15 年的大规模容器编排系统 Borg。随着 Docker 的兴起,容器化应用的部署、扩缩容、故障恢复等运维问题日益突出,Kubernetes 应运而生,成为云原生时代的操作系统。

“Kubernetes 不是一个 PaaS,而是一个构建 PaaS 的平台。”

2. 核心设计哲学

2.1 声明式 API(Declarative API)

用户描述期望状态(Desired State),Kubernetes 负责将**当前状态(Current State)**收敛到期望状态。这是 K8s 最核心的设计理念。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 声明:我需要 3 个 nginx 副本
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx
spec:
replicas: 3
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.25

2.2 控制器模式(Controller Pattern)

每个控制器持续运行一个调谐循环(Reconcile Loop)

1
观察(Observe)→ 分析差异(Diff)→ 执行动作(Act)→ 循环

2.3 一切皆资源(Everything is a Resource)

K8s 通过统一的 REST API 管理所有资源对象,支持自定义资源(CRD),极大扩展了平台能力。

3. 整体架构

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
┌─────────────────────────────────────────────────────────┐
│ Control Plane(控制平面) │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌────────┐ │
│ │ API │ │ etcd │ │Scheduler │ │ CCM │ │
│ │ Server │ │ │ │ │ │ │ │
│ └──────────┘ └──────────┘ └──────────┘ └────────┘ │
│ ┌──────────────────────────────────────────────────┐ │
│ │ Controller Manager(控制器管理器) │ │
│ └──────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────┘
│ API
┌─────────────────────────────────────────────────────────┐
│ Worker Node(工作节点) │
│ ┌──────────┐ ┌──────────┐ ┌──────────────────────┐ │
│ │ kubelet │ │kube-proxy│ │ Container Runtime │ │
│ └──────────┘ └──────────┘ │ (containerd/CRI-O) │ │
│ └──────────────────────┘ │
│ ┌──────────────────────────────────────────────────┐ │
│ │ Pods(应用负载) │ │
│ └──────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────┘

4. 核心组件一览

组件 所在位置 核心职责
kube-apiserver Control Plane 统一入口,REST API 网关
etcd Control Plane 分布式 KV 存储,集群状态数据库
kube-scheduler Control Plane Pod 调度决策
kube-controller-manager Control Plane 运行所有内置控制器
cloud-controller-manager Control Plane 对接云厂商 API
kubelet Worker Node 节点代理,管理 Pod 生命周期
kube-proxy Worker Node 网络规则维护,Service 实现
Container Runtime Worker Node 实际运行容器(containerd)

5. 云原生生态全景

1
2
3
4
5
6
7
8
9
10
11
12
┌─────────────────────────────────────────────────────────────┐
│ CNCF 生态 │
│ │
│ 编排层:Kubernetes / Helm / Kustomize │
│ 运行时:containerd / CRI-O / gVisor │
│ 网络: Calico / Cilium / Flannel / Istio │
│ 存储: Rook / Longhorn / CSI Drivers │
│ 监控: Prometheus / Grafana / Jaeger / OpenTelemetry │
│ CI/CD: ArgoCD / Tekton / Flux │
│ 安全: OPA/Gatekeeper / Falco / cert-manager │
│ 服务网格:Istio / Linkerd / Consul Connect │
└─────────────────────────────────────────────────────────────┘

6. 核心概念速览

工作负载资源

  • Pod:最小调度单元,一组共享网络/存储的容器
  • Deployment:无状态应用管理,支持滚动更新
  • StatefulSet:有状态应用,稳定网络标识和存储
  • DaemonSet:每节点运行一个 Pod(日志、监控 Agent)
  • Job / CronJob:批处理和定时任务

服务发现与网络

  • Service:稳定的虚拟 IP,负载均衡到 Pod
  • Ingress:HTTP/HTTPS 路由规则
  • NetworkPolicy:网络访问控制策略

配置与存储

  • ConfigMap:非敏感配置数据
  • Secret:敏感数据(密码、Token)
  • PersistentVolume / PVC:持久化存储抽象

集群管理

  • Namespace:资源隔离的逻辑分区
  • RBAC:基于角色的访问控制
  • ResourceQuota / LimitRange:资源配额管理

7. 学习路径建议

1
2
基础概念 → 核心组件原理 → 网络模型 → 存储体系
→ 调度机制 → 安全体系 → 可观测性 → 运维实践

后续文章将逐一深入每个核心组件的底层原理与运维实践。


Kubernetes 全景概览:生态系统与核心架构
https://k8s.chucz.asia/kubernetes全景概览/
作者
K8s Engineer
发布于
2026年1月1日
许可协议