云原生全景知识图谱

容器、Kubernetes、服务网格、平台工程、可观测性与交付体系 (2025-2026)

一、云原生技术栈层级架构
Layer 1
基础设施
云/网络/存储
Layer 2
容器运行时
OCI/镜像/runtime
Layer 3
编排调度
Kubernetes
Layer 4
平台能力
CI/CD/网格/观测
Layer 5
业务交付
微服务/AI/数据平台
上层依赖的下层关系说明
容器运行时基础设施容器隔离最终还是建立在 Linux Namespace、Cgroups、OverlayFS 和主机网络之上
Kubernetes容器运行时K8s 自己不运行容器,它通过 CRI 调用 containerd / CRI-O 来创建和管理容器
平台能力KubernetesIngress、Service Mesh、GitOps、可观测性本质都是构建在 K8s API 和控制器模式之上
业务交付平台能力真正的业务研发依赖一套稳定的平台抽象,否则每个团队都在重复造发布、监控、权限的轮子
ServerlessKubernetes + RuntimeKnative/FaaS 看似隐藏底层,实际仍需要容器、镜像仓库、弹性调度与事件系统支撑
服务网格Sidecar / CNI / xDSIstio/Linkerd 的治理能力来自代理注入、流量劫持、控制面下发配置,而不是应用代码魔法
平台工程K8s API + 自动化Internal Developer Platform 的核心不是页面,而是标准化资源模型、模板、权限与流水线
FinOps观测 + 标签体系没有资源标签、成本归集和用量数据,再谈成本优化基本只能靠拍脑袋
二、云原生发展时间线
2006 - AWS EC2/S3
公有云基础设施商业化,企业开始把计算和存储从机房搬到云上。
2013 - Docker
Docker 让容器镜像与交付体验大幅简化,容器从底层技术变成开发者工具。
2014 - Kubernetes 开源
Google 基于 Borg 经验开源 K8s,容器编排进入标准化时代。
2015 - CNCF 成立
Cloud Native Computing Foundation 建立生态规则,Prometheus、Envoy、containerd 等逐步形成广泛采用的生态基线。
2016 - 微服务 + DevOps 爆发
企业开始把微服务、CI/CD、容器、IaC 视作一套整体交付体系,而不再是独立工具。
2017 - Istio / Service Mesh
服务治理从 SDK 下沉到基础设施层,流量管理、mTLS、熔断限流开始平台化。
2018 - Helm 3 / GitOps 萌芽
配置管理与声明式交付成熟,Argo CD / Flux 推动“以 Git 为单一事实来源”。
2020 - 平台工程兴起
企业发现“只给团队一个 K8s 集群”远远不够,开始建设开发者平台和 golden path。
2021 - OpenTelemetry
日志、指标、链路三大观测信号逐步统一,厂商锁定风险下降。
2022 - Supply Chain Security
SolarWinds、Log4Shell 等事件让 SBOM、镜像签名、SLSA、零信任交付成为刚需。
2023 - eBPF / Cilium 加速
网络、可观测性、安全边界进一步下沉到内核层,Sidecarless 与高性能数据面成为热点。
2024-2025 - AI Infra 与平台收敛
Kubernetes 不再只承载 Web 服务,也开始统一承载推理服务、批处理、数据流和 GPU 资源。
三、核心技术详解
3.1 容器与 OCI 体系

容器的本质

容器不是轻量虚拟机,而是“进程级隔离”。同一台主机上的多个容器共享同一个内核。

Namespace: 隔离 PID、Network、Mount、IPC、UTS、User。

Cgroups: 限制 CPU、内存、IO 等资源,防止某个容器把宿主机打爆。

OCI 标准

OCI Image 定义镜像格式,OCI Runtime 定义运行时接口。Docker 生态最终被标准化拆分为镜像、构建、运行三个层次。

常见运行时: containerd、CRI-O、runc、gVisor、Kata Containers。

镜像优化原则

多阶段构建、最小化基础镜像、不可变标签策略、减少层数、尽量无 root 运行。

3.2 Kubernetes 控制平面

核心组件

API Server: 集群唯一入口,所有声明式资源最终都落到 API Server。

etcd: 存储整个集群状态,是 K8s 的“数据库”和单点命脉。

Scheduler: 负责把 Pod 调度到合适节点,考虑资源、亲和性、污点、拓扑等约束。

Controller Manager: 持续把“实际状态”向“期望状态”收敛,是 K8s 声明式模型的灵魂。

控制器模式

Deployment、StatefulSet、DaemonSet、Job 本质都是不同的 controller。Operator 只是把这个模式扩展到数据库、中间件和业务平台。

为什么难

Kubernetes 的门槛不在命令,而在抽象层次高。你需要同时理解网络、存储、调度、权限和故障模型。

3.3 Kubernetes 数据平面

网络模型

K8s 假设每个 Pod 都有独立 IP,Pod 之间无需 NAT 直接互通。这要求底层 CNI 插件实现统一网络平面。

CNI 主流: Calico、Cilium、Flannel。近年趋势明显偏向 Cilium + eBPF;Weave Net 更适合作为历史项目了解。

Service 与 Ingress

Service 解决服务发现与负载均衡,Ingress / Gateway API 负责把集群内部服务暴露给外部流量。

新趋势: Ingress API 已冻结;Gateway API 是 Kubernetes 社区重点演进的下一代流量管理接口,配置模型更清晰,扩展性更强。

存储体系

PV/PVC/StorageClass 提供持久化抽象。无状态应用最适合 K8s,但真正考验平台能力的是数据库、消息队列、对象存储网关这类有状态负载。

3.4 可观测性三支柱

Metrics / Logs / Traces

指标: 关注系统健康和容量趋势,例如 CPU、延迟、QPS、错误率。

日志: 记录离散事件,适合排查某次异常到底发生了什么。

链路: 追踪跨服务请求路径,解决“一个请求经过十几个服务后到底卡在哪里”。

主流栈

Prometheus + Alertmanager + Grafana 仍是基础盘;日志常见 Loki / ELK;Tracing 常见 Tempo / Jaeger;采集与语义层逐步统一到 OpenTelemetry。

误区

“装了监控就是可观测”是错觉。没有 SLI/SLO、告警分级、服务画像和排障手册,平台依然会在夜里把人叫醒。

3.5 GitOps 与交付链路

GitOps 思想

环境状态以 Git 仓库中的声明式配置为准,控制器持续对比并收敛现场状态。部署从“推送到集群”转为“提交到 Git”。

典型链路

代码提交 → CI 构建镜像 → 镜像扫描与签名 → 更新 Helm/Kustomize 配置 → Argo CD/Flux 同步 → 集群滚动发布。

价值

发布流程可审计、可回滚、可对比,特别适合多环境、多集群和多人协作场景。

边界

GitOps 不是银弹。对于高度动态配置、数据库变更、临时运维操作,仍需要额外治理和变更策略。

四、云原生生态全景
4.1 核心开源项目
类别主流项目定位适用场景成熟度
容器运行时containerd / CRI-O容器生命周期管理Kubernetes 节点运行时生产常见选择
编排系统Kubernetes统一调度与声明式管理微服务、批处理、平台基础层主导型基础设施
包管理Helm / Kustomize配置模板与资源组合应用发布、环境差异管理成熟
GitOpsArgo CD / Flux声明式持续交付多环境自动同步、审计成熟
观测Prometheus / Grafana / Loki / Tempo指标、日志、链路运行态监控与排障成熟
服务网格Istio / Linkerd / Cilium Service Mesh流量治理与零信任通信复杂微服务通信中高
平台工程Backstage / Crossplane / Port开发者平台、资源抽象中大型组织平台化快速上升
安全供应链Trivy / Cosign / Kyverno / Falco镜像扫描、签名、策略、防护DevSecOps、运行时安全成熟
4.2 网络与服务治理
Ingress / Gateway
  • 对外流量入口、TLS 终止、路由分发
  • Nginx Ingress、Traefik、Kong Gateway、Envoy Gateway
  • Ingress API 已冻结,Gateway API 是社区重点演进方向
Service Mesh
  • mTLS、熔断、重试、灰度、镜像流量
  • Istio 功能最全,Linkerd 更轻,Cilium 强调 eBPF 数据面
  • 适合大规模微服务,不适合一上来就全量引入
CNI / eBPF
  • Calico 依赖传统网络模型,Cilium 走 eBPF 路线
  • eBPF 在网络、可观测性、安全策略上都很有优势
  • 云原生网络性能优化越来越偏向内核层能力
API Gateway
  • 认证鉴权、限流、协议转换、审计追踪
  • 适合 BFF、多租户平台、对外开放平台
  • 不要把所有业务逻辑都塞进网关
4.3 交付与平台工程
CI/CD
  • GitHub Actions / GitLab CI / Jenkins / Tekton
  • 从“自动构建”进化到“自动验证 + 自动发布 + 自动回滚”
  • 关键不在工具,而在标准流水线模板和治理
GitOps
  • Argo CD 在同步和可视化上体验很强,Flux 更轻量,也更偏平台工程团队常用风格
  • 适合多环境一致性要求高的团队
  • 和 Helm/Kustomize 通常组合使用
Internal Developer Platform
  • 开发者不直接面对底层 YAML,而是面对标准模板和自助服务入口
  • Backstage 用于门户,Crossplane 用于云资源抽象
  • 核心目标是降低认知负担,而不是再造一个门户网站
Policy as Code
  • OPA Gatekeeper / Kyverno / Kubewarden
  • 把安全、合规、资源限制写成策略自动执行
  • 避免靠“口头规范”管理生产环境
五、关键技术选型对比
5.1 容器编排与平台形态
方案复杂度灵活性运维成本适合谁
Docker Compose本地开发、小型单机部署
Kubernetes 自建最高对平台控制力要求高的团队
托管 Kubernetes (EKS/GKE/ACK/AKS)中高大多数企业团队的现实选择
PaaS / Serverless追求交付速度、平台团队薄弱的组织
5.2 服务治理路线

应用内治理 (SDK / 框架)

  • 优点: 简单直观,研发上手快
  • 优点: 单体或少量服务阶段投入小
  • 缺点: 多语言难统一,升级成本高
  • 缺点: 观测与安全能力分散在各服务中
  • 适合: 早期团队、服务规模较小

基础设施治理 (Mesh / Gateway)

  • 优点: 跨语言统一治理,能力平台化
  • 优点: 更适合灰度、mTLS、复杂路由
  • 缺点: 引入代理、证书、控制面复杂度
  • 缺点: 排障门槛明显提高
  • 适合: 中大型微服务组织
5.3 观测体系组合
组合优点短板建议
Prometheus + Grafana开源主流组合、生态成熟日志和链路需额外拼装多数团队都值得优先考虑
Loki + Tempo + Grafana统一体验好,成本相对可控大规模日志检索能力不如成熟 ELK平台一体化优先时很好用
ELK / OpenSearch日志检索和分析能力强资源开销大,维护成本高日志中心化需求强时采用
商业 APM开箱即用、产品体验成熟成本高、厂商绑定预算充足且要求快速落地时可选
六、生产级云原生实践
6.1 从能跑到可运营
资源治理
  • 必须设置 requests / limits,否则调度和扩缩容都不可信
  • 命名空间配额、优先级类、PDB 是基础动作
  • 空谈高可用而不做资源规划,最后通常会倒在 noisy neighbor
发布策略
  • Rolling Update 只是起点,生产常见 Blue-Green、Canary、Progressive Delivery
  • Argo Rollouts / Flagger 可以把发布和指标联动起来
  • 没有自动回滚条件的灰度,风险并没有真正变小
弹性与容量
  • HPA 管 Pod,VPA 调建议,Cluster Autoscaler / Karpenter 管节点
  • 扩容前提是指标可靠,否则只是在放大浪费
  • 高峰容量评估要考虑冷启动、镜像拉取和依赖服务瓶颈
故障演练
  • Chaos Mesh / Litmus 可做网络抖动、节点故障、Pod Kill 等演练
  • 没有演练过的高可用,通常只存在于架构图里
  • 演练要绑定回滚、告警和响应流程,而不只是“制造故障”
6.2 安全与供应链

镜像安全

镜像构建后至少要做漏洞扫描、依赖清单生成 (SBOM)、签名验证,再决定是否允许进入仓库和集群。

运行时安全

Pod Security、Seccomp、AppArmor、只读根文件系统、非 root 用户、网络策略,是基础而不是高级选项。

供应链安全

CI/CD 本身已经是重要攻击面。代码仓库、依赖仓库、构建节点、制品仓库、发布控制器都需要纳入安全边界。

七、云原生学习路线
1
路线一: 云原生应用工程师
适合: 后端开发、运维转型工程师,想把应用真正跑稳的人
Linux + 网络基础
Docker
Kubernetes 对象模型
Helm/GitOps
观测 + 发布
生产排障
周期: 4-8 个月
前置: 一门后端语言 + 基础运维认知
输出: 能独立部署并运营一个微服务系统
前景: 岗位稳定,和业务结合紧
2
路线二: 平台工程师 / DevOps 平台
适合: 希望做内部开发者平台、提升组织交付效率的工程师
K8s 深入
CI/CD
GitOps
Backstage / 模板体系
Policy / 权限 / 配额
平台产品化
周期: 8-18 个月
前置: 有发布、运维、自动化经验更佳
输出: 建一条组织级 golden path
前景: 中大型组织需求持续增长
3
路线三: 云原生 SRE / 可靠性工程师
适合: 对稳定性、容量、观测和故障治理感兴趣的人
系统与网络
K8s 集群运维
Prometheus / OTel
SLI/SLO
容量与成本治理
故障演练与应急
周期: 1-2 年
前置: 运维或平台经验越多越占优势
输出: 让系统真正可测、可控、可恢复
前景: 高压但稀缺,成长性强
八、常用工具链推荐
类别推荐工具说明
容器构建Docker / BuildKit / Podman镜像构建、缓存优化、多平台输出
本地集群kind / k3d / minikube / Rancher Desktop学习 K8s、验证 Helm Chart、做 CI 集群测试
集群管理kubectl / k9s / Lens / Aptakube集群日常管理与可视化
配置管理Helm / Kustomize / Jsonnet管理环境差异与模板复用
GitOpsArgo CD / Flux声明式持续交付与环境收敛
观测Prometheus / Grafana / Loki / Tempo / OpenTelemetry指标、日志、链路统一观测
安全Trivy / Cosign / Kyverno / Falco镜像扫描、签名验证、策略控制、运行时安全
网络Cilium / Calico / Istio / LinkerdCNI 与服务治理能力
基础设施即代码Terraform / OpenTofu / Pulumi管理云资源、集群和网络
平台门户Backstage / Port内部开发者平台入口与服务目录
九、高频认知误区
误区: 上了 Kubernetes 就是云原生
  • K8s 只是底座,不等于交付体系、观测体系和组织协作方式都升级了
  • 很多团队只是把虚拟机上的复杂度原样搬进了 YAML
误区: 微服务一定比单体先进
  • 拆分不当会把本地调用问题变成分布式问题
  • 模块化单体在很多业务阶段更便宜、更稳定、更易演进
误区: 可观测性就是装一套监控
  • 没有统一标签、指标语义、告警策略和排障流程,监控面板只会越堆越多
  • 真正的目标是缩短定位和恢复时间
误区: 平台工程就是做个门户
  • 平台工程的价值在于标准化和降低认知负担,不在于 UI 漂亮
  • 没有模板、权限、自动化、资源模型的门户只是“文档聚合页”
十、2025-2026 趋势与展望
确定性趋势:

平台工程继续上升: 企业开始从“人人学 K8s”转向“平台团队抽象 K8s,业务团队消费平台”。

eBPF 深入基础设施: 网络、可观测性、安全都会继续向 eBPF 靠拢,Sidecarless 路线会更热。

GPU / AI 工作负载进入云原生主战场: K8s 将继续成为统一调度 CPU、GPU、推理与批处理任务的平台。

值得关注:

Gateway API 持续演进: Ingress API 已冻结,Gateway API 的路由抽象更清晰,生态正在加速跟进。

Wasm / 沙箱运行时: 还没全面爆发,但在边缘、插件化和安全隔离方向值得持续看。

FinOps 与绿色计算: 成本优化会从“削峰填谷”升级到组织级资源治理和资源利用率文化。

需要警惕:

复杂度失控: 云原生不是功能越多越先进,越成熟的团队越懂得克制。

人才错配: 给业务团队过多基础设施自由度,常常会导致治理崩盘;给平台团队过少产品思维,又会把平台做成“管控系统”。

安全后置: 把镜像扫描、权限治理、密钥管理放到最后补,代价通常成倍增加。

总结:
云原生不是“Kubernetes 技术栈”的同义词,而是一整套围绕弹性、自动化、可观测、可恢复和高频交付展开的工程体系。

给不同角色的建议:
- 开发者: 先学会把应用容器化、观测化、可发布,再谈复杂平台能力
- 运维 / SRE: 重点放在标准化、容量、故障模型和自动化,别只盯着工具安装
- 架构师 / 平台负责人: 优先建设 golden path,让 80% 的应用用最简单的路径跑起来

核心判断:
真正优秀的云原生平台,不是让团队看到更多 YAML,而是让团队更少思考底层细节、更快交付稳定业务。