一台服务器,一个 sysadmin,一份 runbook。这是二十年前软件运营的基本单元。
现在呢?一个互联网服务可能有数百个微服务,跑在数千个容器里,分布在多个可用区,每天有数十次变更被推上生产——而负责运维的团队规模可能比服务数量少一个数量级。
传统运维的核心动作是”登录机器,执行命令,修改配置,验证状态”。这套方式的问题不是慢,是无法重复:同样的操作在第二台机器上的结果可能不同,因为这台机器有不同的历史——不同的人在不同时间做过不同的修改,没人记得清楚。配置漂移(configuration drift)不是事故,是时间的必然结果。
云原生的回答是:把”我做过什么”变成”系统应该是什么状态”。
这是声明式范式的核心转变。Dockerfile 声明环境,Kubernetes YAML 声明期望状态,Terraform 声明基础设施,GitOps 让 Git commit 成为运行时的真相之源。每个工具解决的具体问题不同,但底层哲学一致:描述意图,让系统自己收敛。
这个系列分两个层次:
核心技术(01-04):那些已经成为行业基础设施的技术——容器打包、Kubernetes 编排、IaC 代码化、GitOps 声明式交付。理解它们不只是为了用,是为了理解”为什么这样设计,不这样设计会怎样”。
演进范式(05-08):当云原生工具链本身变得足够复杂时,社区的下一个回答是什么——Platform Engineering 把平台当产品来建,eBPF 把策略下沉到内核,服务网格让流量治理从代码中解脱,Serverless 把无状态化推向极致。注意:这四项已经从”最新范式”沉淀为生产标配,真正仍在流动的 2026 前沿在第六节的雷达里。
两个常被技术叙事遮蔽的维度:第五节谈组织与经济——云原生项目的失败九成不在技术,在 Conway 定律、平台团队边界与成本不可见性;第六节是前沿雷达——AI 工作负载、WASM、平台收敛。
每篇文章不止讲”为什么这样设计”,还设了一个故障剧场:亲手把它弄坏,看系统如何收敛、或如何崩溃。声明式收敛你读十遍,不如亲手 kill 一个 pod、看着控制器把它拉回来一次——哲学只有在你看着控制循环跟你较劲时,才会变成肌肉记忆。
一、目录
本系列共 8 篇文章,分两层:核心技术(01-04)建立基础认知,演进范式(05-08)是已落地的演进。另有两节横切维度——组织与经济(第五节)、前沿雷达 2026(第六节)——不对应独立文章,贯穿全系列。
60-platform/
├── 00-platform-MOC.md ← 本文件
│
├── 01-Container-隔离是手段,交付是目的.md ← namespace / cgroups / OCI 标准
├── 02-Kubernetes-声明意图,控制器维持世界.md ← 控制循环 / 声明式 API / 调度器
├── 03-IaC-把基础设施变成可版本化的意图.md ← Terraform / Ansible / 状态漂移
├── 04-GitOps-Git 成为系统运行时的真相之源.md ← pull 模型 / operator / ArgoCD
│
├── 05-平台工程 - 把开发者体验当产品来建.md ← IDP / 黄金路径 / Backstage
├── 06-eBPF-内核变成可编程的基础设施.md ← verifier / Maps / Cilium / Tetragon
├── 07-服务网格 - 流量治理从应用代码中解脱.md ← Istio / Ambient Mesh / mTLS
└── 08-Serverless-无状态化的收益与代价.md ← FaaS / 冷启动 / Knative / WASM另有两节不对应独立文章,是贯穿全系列的横切维度: 第五节 组织与经济 —— Conway 定律 / Team Topologies / 平台边界 / FinOps。 第六节 前沿雷达 2026 —— AI 工作负载 / WASM / 平台收敛(未来可能各自成篇)。
二、概念线索
这是整套系列的核心:8 篇文章里反复出现的五条思想脉络。 读懂这五条线索,就抓住了云原生设计哲学的骨架。
mindmap root((云原生)) 核心技术 容器 隔离与交付标准 Kubernetes 声明式编排 IaC 基础设施代码化 GitOps Git成为运行时真相 演进范式 平台工程 开发者体验即产品 eBPF 内核可编程化 服务网格 流量治理解耦 Serverless 无状态极致抽象 共同主题 声明式收敛 控制面与数据面分离 不可变基础设施 可编程内核 抽象的代价 上层约束 组织 Conway定律 经济 FinOps成本可见性 前沿2026 AI工作负载与DRA WASM下一代隔离 平台收敛
线索一:「声明式收敛」——描述意图,让系统持续维持
命令式:依次执行这些步骤。声明式:这是系统应该处于的状态,你去实现并持续维持它。两者的区别不只是语法,是关于谁承担复杂性。
- Dockerfile(01-Container-隔离是手段,交付是目的):不描述”如何搭建环境”,描述”环境应该是什么”——FROM 指定起点,每一层指令声明需要的变更,镜像构建过程是幂等的。
- Kubernetes reconciliation loop(02-Kubernetes-声明意图,控制器维持世界):你提交 YAML 声明期望状态(“我要 3 个副本”),控制器持续观察现实状态,发现偏差就采取行动——pod 崩溃了,控制器重建它;节点下线了,控制器重新调度。“自愈”不是魔法,是收敛循环在运行。
- Terraform plan/apply(03-IaC-把基础设施变成可版本化的意图):先 plan 计算当前状态与期望状态的 diff,再 apply 执行变更。State 文件是当前现实的镜像;任何漂移都会在下一次 plan 中被发现。
- GitOps operator(04-GitOps-Git成为系统运行时的真相之源):ArgoCD / Flux 持续 watch Git 仓库,一旦仓库状态与集群状态不一致,operator 主动拉取并 sync——集群无法”独立”于 Git 之外演进。
- Platform golden paths(05-平台工程-把开发者体验当产品来建):开发者声明”我需要一个带数据库的 Python 服务”,Platform 自动配置好 Kubernetes 工作负载、Service Account、数据库连接、Secret 注入——意图声明,平台实现。
这条线索的终点:声明式的真正价值不是”代码更简洁”,是可审计、可重现、可自愈。声明即文档,文档即运行时。
线索二:「控制平面与数据平面」——分离决策与执行
一个系统如果把”做什么决策”和”执行决策”混在一起,扩展会变得困难。分离控制平面和数据平面,让两者可以独立演进、独立伸缩。
- Kubernetes 的分离(02-Kubernetes-声明意图,控制器维持世界):API Server + etcd + Controller Manager 是控制平面,存储期望状态、运行控制循环;kubelet + kube-proxy + 容器运行时是数据平面,在节点上执行实际工作。两者通过 watch/list API 解耦——控制平面挂了,已运行的 pod 不受影响。
- 服务网格的分离(07-服务网格-流量治理从应用代码中解脱):Istiod 是控制平面,管理证书、分发路由规则、收集遥测元数据;Envoy sidecar(或 ztunnel)是数据平面,实际处理每一个 TCP 包。控制平面负责”什么规则”,数据平面负责”每包执行”。
- eBPF 的角色(06-eBPF-内核变成可编程的基础设施):eBPF 程序是数据平面——在内核路径上高速执行;用户空间的 loader 和控制逻辑是控制平面——编译、验证、加载 eBPF 字节码,更新 Maps。Cilium 用这个模式替换了 kube-proxy:控制平面计算路由,eBPF 数据平面执行包转发。
- IDP 作为元控制平面(05-平台工程-把开发者体验当产品来建):Internal Developer Platform 是所有工程工具的控制平面——它不直接运行工作负载,而是协调 Kubernetes、数据库、CI/CD、Secret 管理等工具,对开发者暴露统一的意图接口。
这条线索的终点:控制平面和数据平面的分离是所有大规模分布式系统的架构共识——决策逻辑集中、执行逻辑下推。理解这个结构,就理解了为什么 K8s 可以管理数千个节点,为什么服务网格可以做到零代码侵入。
线索三:「不可变基础设施」——替换而不是修改
宠物(pets)与牛群(cattle)的比喻:宠物病了你要治好它,牛生病了你换一头新的。不可变基础设施是把所有服务器和容器都当成牛群来运营的系统性做法。
- 容器镜像的不可变层(01-Container-隔离是手段,交付是目的):镜像是只读的内容寻址对象——一旦构建,内容不变,hash 不变,任何机器上拉取到的是完全相同的东西。你不”修改”运行中的容器,你重建镜像、重新部署。
- Kubernetes 的 rolling update(02-Kubernetes-声明意图,控制器维持世界):更新不是 SSH 进每个 pod 修改配置,是提交新的 Deployment spec,控制器滚动替换——新 pod 起来通过 readiness probe,旧 pod 逐步销毁。
- IaC 的 replace 策略(03-IaC-把基础设施变成可版本化的意图):理想状态下,更新基础设施等于重建它——用新 AMI 重新创建 EC2 实例,而不是登录旧实例打补丁。配置漂移的解法不是检测后修复,是用声明状态重建。
- GitOps 的回滚语义(04-GitOps-Git成为系统运行时的真相之源):回滚不是”撤销操作”,是
git revert——用旧的声明状态替换现在的声明状态,operator 执行 sync。每次变更都有完整的 diff 和责任人。
这条线索的终点:不可变基础设施把”调试运行中的系统”变成”重建系统”。代价是需要强大的构建和部署流水线;收益是不再有隐性的历史状态,也不再有”我以为和之前一样”的事故。
线索四:「可编程内核」——策略下沉到基础设施
传统上,网络策略、访问控制、可观测性逻辑写在应用代码里,或者配置在用户空间的 iptables / 代理里。eBPF 打开了第三个选项:把这些逻辑安全地注入到内核路径上。
- eBPF 的本质(06-eBPF-内核变成可编程的基础设施):eBPF 是内核里的沙箱虚拟机——你写一小段 C,编译成 eBPF 字节码,verifier 在加载时证明它不会崩溃内核,然后挂载到内核路径上的钩子点(socket、tracepoint、kprobe、XDP……)执行。数据在内核里就被处理,不需要复制到用户空间。
- Cilium 替换 kube-proxy(06-eBPF-内核变成可编程的基础设施 / 02-Kubernetes-声明意图,控制器维持世界):kube-proxy 用 iptables 规则做 Service 的负载均衡——规则数量随 Service 数量线性增长,到数万条时性能下降明显。Cilium 用 eBPF Maps 存储路由表,每次包查找是 O(1) 的哈希查找,完全绕过 iptables。
- 服务网格的 Ambient 模式(07-服务网格-流量治理从应用代码中解脱):Sidecar 模式给每个 pod 注入 Envoy 代理,有资源开销也有 pod 数量倍增的复杂性。Istio Ambient 用每节点的 ztunnel 处理 L4 流量,eBPF 负责重定向——零 sidecar,但保留流量治理能力。eBPF 让数据平面从用户空间迁移回内核。
- Tetragon 的内核安全策略(06-eBPF-内核变成可编程的基础设施):传统 Linux 安全是 POSIX 权限 + seccomp 白名单。Tetragon 在内核层用 eBPF 追踪进程行为——哪个进程读了哪个文件,哪个进程建立了哪个网络连接——实时、精确、零误报,且策略违反可以在内核层直接终止进程。
这条线索的终点:eBPF 是过去十年 Linux 内核最重要的架构变化。它不只是一个工具,是一个平台——可观测性、网络、安全三个领域都在向 eBPF 收敛。理解 eBPF,就理解了云原生下一个五年的底层趋势。
线索五:「抽象的代价」——每一层便利都有税
每增加一层抽象,你获得便利,也支付代价。云原生的技术栈已经叠了好几层——理解每层的代价,才能做出正确的选择。
- 容器 vs VM(01-Container-隔离是手段,交付是目的):容器比 VM 轻,但共享内核——一个内核漏洞可能影响同机所有容器(容器逃逸)。镜像体积和扫描、Registry 管理、Layer 缓存失效是新的运营负担。
- Kubernetes 的复杂性税(02-Kubernetes-声明意图,控制器维持世界):K8s 解决了调度、自愈、滚动更新——但带来了 etcd、API server、scheduler、controller manager、CNI、CSI、CRI 的运维复杂性。“我只是想跑一个应用”的开发者面对的是数百个 YAML 字段。这就是 Platform Engineering 出现的根本原因。
- 服务网格的延迟与资源税(07-服务网格-流量治理从应用代码中解脱):Sidecar 模式给每个请求增加两次用户空间→内核往返(iptables redirect + Envoy 处理);每个 pod 多一个容器占资源;mTLS 握手有 CPU 开销。收益是零代码侵入的可观测性和流量控制——是否值得,取决于团队规模和流量模式。
- Serverless 的控制权交换(08-Serverless-无状态化的收益与代价):你不管理任何基础设施,代价是你也无法控制运行时——冷启动延迟、并发限制、执行时长上限、网络拓扑约束。每一项”不用管”背后,是云厂商替你做了决定,你只是不知道。
- Platform Engineering 的制度成本(05-平台工程-把开发者体验当产品来建):IDP 降低了应用开发者的认知负担,但谁来维护 IDP?黄金路径降低了自由度——如果你的需求超出了路径的边界,你会撞上更高的墙。平台化是以制度成本换取规模效率的取舍。
这条线索的终点:选择云原生技术栈不是”用了就更好”,是在不同维度的复杂性之间做权衡——把复杂性从运行时转移到构建时,从应用代码转移到基础设施,从个人技能转移到平台制度。每一次转移都有它的隐性成本。
三、核心系列(01-04)
云原生的四块基石——理解它们不只是为了使用,是为了理解”不这样设计会怎样”。
起点:容器——隔离与交付
核心问题:容器和虚拟机的根本区别是什么?Docker 解决的到底是运行问题还是分发问题? 读完之后:理解 namespace / cgroups / OCI 镜像格式,理解”隔离是手段,可重复交付才是目的”。 ★ 故障剧场:用
unshare -mnpuf手搓一个隔离环境,再给容器加--privileged看隔离边界如何崩塌;改 cgroup 的memory.limit,亲手触发一次 OOM kill——隔离不是绝对的,是一组可被撤销的内核约束。
- 01-Container-隔离是手段,交付是目的 — Linux namespace 提供隔离,cgroups 限制资源,OCI 规范统一打包格式
核心问题:
docker run nginx和systemd-run nginx有什么本质区别? 关联:→ 02-Kubernetes-声明意图,控制器维持世界(K8s 调度的单位是 pod,pod 是容器的封装)→ 06-eBPF-内核变成可编程的基础设施(容器网络和安全的底层是 Linux namespace 和 Netfilter)→ Linux 系统 MOC(namespace 和 cgroups 是 Linux 内核特性)
第一层:编排——Kubernetes 的设计哲学
核心问题:Kubernetes 的”声明式”和”控制循环”分别意味着什么?etcd 为什么是整个集群的单一真相? 读完之后:理解 desired state / observed state / reconciliation,理解 K8s 为什么”最终一致”而不是”事务性”。 ★ 故障剧场:
kubectl delete pod看控制器秒级重建;停掉 controller-manager——控制面瘫痪,但已运行的 pod 不受影响(控制面/数据面分离现形);再破坏 etcd quorum,观察”单一真相”消失时集群如何失明。
- 02-Kubernetes-声明意图,控制器维持世界 — 控制循环、声明式 API、调度器、自愈机制
核心问题:一个 Deployment 从
kubectl apply到 pod 运行,中间经过了哪些控制器、做了什么决策? 关联:→ 03-IaC-把基础设施变成可版本化的意图(K8s 集群本身也要用 IaC 管理)→ 04-GitOps-Git成为系统运行时的真相之源(GitOps operator 对接 K8s API)→ 07-服务网格-流量治理从应用代码中解脱(网格架构理解需要先有 K8s 基础)
第二层:代码化——基础设施的版本控制
核心问题:IaC 解决的是”可重现”还是”可审计”?Terraform state 文件存在的意义是什么?幂等性为什么是 IaC 工具的核心要求? 读完之后:理解声明式 IaC(Terraform)vs 命令式 IaC(Ansible)的根本差异,理解配置漂移的根因和防治。 ★ 故障剧场:在云控制台手动改一个 Terraform 管理的资源,跑
terraform plan看 drift 浮现;再删掉 state 文件,看工具如何瞬间”失忆”——state 不是缓存,是 IaC 的整个世界观。
- 03-IaC-把基础设施变成可版本化的意图 — 声明式 vs 命令式、状态文件与漂移、幂等性语义
核心问题:
terraform apply和ansible-playbook背后的执行模型有什么根本区别? 关联:→ 04-GitOps-Git成为系统运行时的真相之源(IaC 文件在 Git 里,GitOps 接管同步逻辑)→ 05-平台工程-把开发者体验当产品来建(IDP 后台通常调用 IaC 来配置资源)
第三层:声明式交付——GitOps
核心问题:GitOps 和”把部署脚本放在 Git 里”有什么区别?Pull 模型和 Push 模型分别在什么场景下更合适? 读完之后:理解 Git 作为 desired state store 的语义,理解 operator 模式(watch → diff → act)与 CI/CD pipeline 的根本区别。 ★ 故障剧场:绕过 Git 直接
kubectl edit改线上资源,看 ArgoCD 在几秒内把你改回去——self-heal 第一次具象化;再用git revert体验”回滚即提交”,对比手工”撤销操作”的不可追溯。
- 04-GitOps-Git成为系统运行时的真相之源 — pull 模型、operator 架构、drift detection、多环境管理 核心问题:为什么 GitOps 倡导 pull 而不是 push?当 Git 和集群状态出现分歧时,谁是真相? 关联:→ 02-Kubernetes-声明意图,控制器维持世界(operator 本身就是一个 K8s 控制器)→ 03-IaC-把基础设施变成可版本化的意图(应用层 GitOps + 基础设施层 IaC 是常见组合)
四、演进系列(05-08):曾经的前沿,如今的地基
当云原生工具链本身变成复杂度的来源,这四项是社区给出的回答。但要诚实:平台工程、eBPF、服务网格、Serverless 已从”最新范式”沉淀为生产标配(2018–2021 的前沿,今天的基础设施)——真正仍在流动的 2026 前沿,在第六节的雷达里。
平台层:开发者体验
核心问题:Platform Engineering 和 DevOps 的区别是什么?“黄金路径”(golden path)的边界在哪里?为什么说 IDP 是云原生复杂性税的解药? 读完之后:理解 Internal Developer Platform 的设计原则,理解 Backstage / Crossplane 等工具在 IDP 里扮演什么角色,理解平台团队和应用团队的职责边界。 ★ 故障剧场:提一个刚好顶出黄金路径边界的需求(比如非标准的网络拓扑或一个平台没预设的中间件),亲身撞上”便利的尽头是一堵更高的墙”——这正是平台化的制度成本。
- 05-平台工程-把开发者体验当产品来建 — IDP、黄金路径、self-service 基础设施、平台即产品 核心问题:一个应用开发者新建一个服务,平台应该自动化哪些步骤?在哪里保留开发者的选择权? 关联:→ 02-Kubernetes-声明意图,控制器维持世界(IDP 的底层通常是 K8s)→ 03-IaC-把基础设施变成可版本化的意图(IDP 调用 IaC 自动配置资源)→ 04-GitOps-Git成为系统运行时的真相之源(IDP 触发的变更通过 GitOps 同步到集群)
内核层:eBPF
核心问题:eBPF 和 kernel module 有什么区别?verifier 的本质是什么?为什么说 eBPF 统一了可观测性、网络、安全三个领域? 读完之后:理解 eBPF 程序的生命周期(编译→验证→加载→挂载),理解 Maps 作为内核/用户空间通信机制,理解 Cilium / Tetragon 在 K8s 里解决了什么问题。 ★ 故障剧场:关掉 Cilium 的 kube-proxy replacement,看 iptables 规则随 Service 数量线性膨胀;再用一行
bpftrace现场追踪某个 syscall,感受”内核可观测”的零侵入与即时性。
- 06-eBPF-内核变成可编程的基础设施 — verifier、Maps、XDP、kprobe、Cilium、Tetragon 核心问题:一个 eBPF 程序从 C 代码到在内核路径上运行,经过了哪些步骤?Maps 如何实现内核与用户空间的通信? 关联:→ 01-Container-隔离是手段,交付是目的(容器网络和安全的底层机制)→ 07-服务网格-流量治理从应用代码中解脱(Ambient 模式用 eBPF 替代 sidecar)→ Linux 系统 MOC(eBPF 建立在 Linux 内核特性之上)
网格层:服务网格演进
核心问题:服务网格的本质是什么——是代理技术还是控制平面技术?Sidecar 模式和 Ambient 模式各自的哲学取舍是什么?mTLS 到底在解决哪个问题? 读完之后:理解 service mesh 的控制平面 / 数据平面架构,理解 sidecar 模式的固有代价,理解 Ambient 模式如何用 eBPF + ztunnel 重新分层,理解为什么 WASM 是 Envoy 扩展的方向。 ★ 故障剧场:抓包数清 sidecar 给一个请求增加的两次内核往返;关掉 mTLS 看明文重现;对比 sidecar 与 ambient 模式下同一负载的资源占用——“零代码侵入”的账,落在了别处。
- 07-服务网格-流量治理从应用代码中解脱 — 控制平面 / 数据平面、mTLS、sidecar vs ambient、可观测性 核心问题:在没有服务网格的情况下,mTLS 和流量限速要写在哪里?服务网格把这个复杂性挪到了哪里? 关联:→ 02-Kubernetes-声明意图,控制器维持世界(服务网格在 K8s 上运行,deepens K8s 的控制平面概念)→ 06-eBPF-内核变成可编程的基础设施(Ambient 模式的数据平面依赖 eBPF)
无服务层:Serverless 的哲学
核心问题:Serverless 和容器化的根本区别不是”不用管服务器”——而是什么?冷启动为什么是 Serverless 的架构约束,而不只是性能问题?Knative 和 AWS Lambda 的设计差异说明了什么? 读完之后:理解 Serverless 的执行模型(event-driven、stateless、ephemeral),理解状态外置的必然性,理解边缘计算和 WASM 如何在 Serverless 的方向上继续演进。 ★ 故障剧场:压测画出冷启动延迟曲线,看它如何随并发抖动;再往函数里塞一份本地持久状态,看它在下一次调用中如何”背叛”你——无状态不是建议,是架构约束。
- 08-Serverless-无状态化的收益与代价 — 执行模型、冷启动、状态外置、Knative、WASM on edge 核心问题:一个请求到达 Serverless 函数时,从 0 到响应之间发生了什么?为什么这条路径天然排斥持久状态? 关联:→ 01-Container-隔离是手段,交付是目的(Serverless 的执行单元底层仍然是容器隔离机制)→ 05-平台工程-把开发者体验当产品来建(Serverless 是 IDP 提供的一种工作负载类型)
五、组织与经济:技术叙事遮蔽的上层约束
前五条线索讲”系统如何收敛”,这一维讲”组织如何收敛”。两者不匹配时,再好的技术也会被组织的重力拖垮。云原生项目的失败,绝大多数不在技术,在这里。
- Conway 定律:你的架构终将镜像你的沟通结构。微服务的拆分若不匹配团队边界,得到的不是松耦合,是一个跨团队协调成本爆炸的分布式单体。“先有组织设计,后有架构设计”不是口号,是因果顺序。
- Team Topologies:平台团队的本质是 enabling team——它存在的意义是降低流式对齐团队的认知负荷,而不是变成新一层审批官僚。关联 05-平台工程-把开发者体验当产品来建:黄金路径是平台团队对应用团队认知负荷的”封装”。
- 平台的边界与税:谁来维护 IDP?黄金路径降低自由度——它以制度成本换规模效率。路径越宽,平台越难维护;路径越窄,撞墙的人越多。这个取舍没有标准答案,只有团队规模的函数。
- FinOps:声明式的隐性代价是成本不可见。
replicas: 100是一行 YAML,背后是真金白银;一个忘了设resources.limits的 Deployment 能悄悄吃掉整个节点。GPU 工作负载把这个问题放大十倍——一张闲置的 A100 比一整个微服务集群还贵。声明式让”要多少”变得太容易,于是”花多少”变得太隐蔽。
这条线索的终点:云原生给了你用代码声明无限基础设施的能力,但没给你为它买单的纪律。技术线索的尽头是架构,组织与经济线索的尽头是——谁来为这套架构的复杂性和账单负责。
六、前沿雷达 2026:仍在流动的方向
第四节的 05-08 已是地基。以下是正在发生、尚未尘埃落定的方向——本系列”20% 最新范式”真正指向这里。它们未来可能各自成篇。
- AI/GPU 工作负载成为一等公民:Kubernetes 正从”跑微服务的编排器”固化为”AI 基础设施的内核”——DRA(Dynamic Resource Allocation,动态资源分配)让 GPU/加速器像 CPU 一样被声明式调度,KServe / vLLM 把推理服务标准化,拓扑感知与分时复用成为调度器的一等公民。这是这两年最大的变量。关联 02-Kubernetes-声明意图,控制器维持世界 / 08-Serverless-无状态化的收益与代价。
- WASM / WASI:下一代隔离单元:比容器更轻、毫秒级冷启动、跨架构可移植、沙箱边界更清晰。它可能重写 Serverless 与边缘的执行模型——容器解决了”分发一致性”,WASM 想解决”启动速度 + 强隔离”的双重难题。关联 01-Container-隔离是手段,交付是目的 / 08-Serverless-无状态化的收益与代价。
- 平台工程的收敛:从”自己拼装 IDP”走向标准——score.dev 标准化工作负载规范、Crossplane v2 把控制平面能力组件化、IDP 的设计模式开始固化。平台工程正在经历 Kubernetes 在 2017 年经历过的”事实标准化”。关联 05-平台工程-把开发者体验当产品来建。
- eBPF 的定局:Cilium 成为事实标准 CNI,Istio Ambient Mesh GA——数据平面从用户空间彻底迁回内核。线索四”可编程内核”不再是趋势判断,而是既成事实。关联 06-eBPF-内核变成可编程的基础设施 / 07-服务网格-流量治理从应用代码中解脱。
这条线索的终点:观察这四个方向有一个统一视角——它们都在回答同一个问题”Kubernetes 之后是什么”。答案不是”取代 K8s”,是 K8s 固化为”分布式系统的内核”,而创新发生在它的上层(平台收敛)、下层(eBPF、WASM)和它要承载的新负载(AI)。
七、按场景的阅读路径
不同目的的人,从不同的地方开始。
路径一:第一次系统学云原生
按核心系列的逻辑顺序,每篇建立在前一篇的基础上:
01(容器:为什么需要容器,它解决什么问题)
→ 02(Kubernetes:容器多了怎么编排)
→ 03(IaC:基础设施也要代码化)
→ 04(GitOps:代码化之后如何交付)
→ 05(Platform Engineering:工具链复杂了怎么办)路径二:DevOps / SRE 工程师
关注声明式交付和可观测性:
01(容器打包机制,理解镜像层和运行时)
→ 02(K8s 控制循环,理解自愈和滚动更新)
→ 04(GitOps,建立声明式交付流水线)
→ 03(IaC,把基础设施变更也纳入 GitOps)
→ 06(eBPF,深入可观测性工具链)路径三:平台工程师 / 架构师
关注平台设计和技术选型:
02(K8s 控制平面深入理解)
→ 05(Platform Engineering:IDP 设计原则)
→ 07(服务网格:流量治理方案选型)
→ 06(eBPF:数据平面的演进方向)
→ 08(Serverless:工作负载类型光谱)路径四:应用开发者(理解底层)
关注”我的代码跑在什么上面”:
01(容器化:我的 Dockerfile 里发生了什么)
→ 02(K8s:我的 pod 是怎么被调度和管理的)
→ 08(Serverless:什么时候用,代价是什么)
→ 05(Platform Engineering:平台给我提供了什么,边界在哪里)路径五:关注安全方向
01(容器安全基础:namespace 隔离的边界)
→ 06(eBPF:内核层安全策略,Tetragon)
→ 07(服务网格:mTLS 和零信任网络)
→ 02(K8s RBAC 和 Pod Security)八、延伸方向
这个系列聚焦于云原生和平台工程的核心概念。以下方向与本系列相关,但各自构成独立的学习领域:
-
可观测性工程:Prometheus、Grafana、OpenTelemetry 的完整栈——建立在第 06 篇(eBPF)的基础上,见 可观测性与运维工程 MOC。
-
云安全与供应链:容器镜像签名(Cosign/Sigstore)、SBOM、策略即代码(OPA/Kyverno)——建立在第 01、02 篇的基础上,见 安全工程 MOC。
-
分布式系统理论:一致性模型(etcd 背后的 Raft 协议)、CAP 定理在 K8s 里的体现——见 软件工程与架构 MOC。
-
网络深入:CNI 插件原理、BGP 在 K8s 里的使用(Calico/Cilium BGP)、云厂商网络的底层——建立在第 06 篇(eBPF)和 计算机网络 MOC 的基础上。
-
虚拟化基础:容器的 namespace/cgroups 来自 Linux 内核,更底层的 Hypervisor 隔离见 虚拟化系统 MOC。
-
多集群与混合云:Cluster Federation、Karmada、多集群 GitOps——是第 02、04 篇的规模化延伸,但涉及大量工程权衡,独立成专题更合适。