1. 课程导入与全景认知
在传统数据中心时代,一个应用上线通常意味着:运维人员手工编译、打包、上传到固定几台服务器,再通过堡垒机执行部署脚本。整个链路的“物料”来源相对封闭,变更频率低,出问题时排查范围也有限。而进入云原生时代后,一次生产发布背后可能涉及:基础镜像来自公共仓库、依赖包来自多个上游、构建由 CI 流水线自动触发、镜像被推送到私有 Registry、再由 Kubernetes 从 Registry 拉取并调度到某个节点运行。链路上的每一个环节都可能成为攻击面或故障源,这就是云原生供应链要解决的问题域。
本课程讨论的“云原生供应链”,指的是从源代码、依赖、构建、镜像、制品仓库,一直到运行时工作负载的完整物料流转链路,以及这条链路上所有参与方、工具和信任关系。它不等同于传统意义上的“采购与物流供应链”,而是软件物料在云原生环境中的生产、分发与消费过程。与之紧密配合的策略治理,则是在这条链路上定义“什么可以做、什么必须被拦截、什么需要留痕”的规则体系,典型载体包括 Kubernetes 的准入控制、OPA/Gatekeeper、Kyverno、镜像签名验证(如 Cosign)以及策略即代码(Policy as Code)。
为了更直观地理解这条链路的边界与关键控制点,下面用一张信号链式的全景图展示从代码到运行时的流转,以及各环节对应的治理手段。
从图中可以看到,供应链治理与策略治理并不是两个独立话题,而是同一条链路上“来源可信”与“准入可控”的两面。理解这一点,是后续所有实践的前提。
生产环境中的核心挑战
把这条链路放到真实生产环境,会立刻遇到几个绕不开的挑战。第一是信任边界模糊:公共镜像仓库中的基础镜像可能随时被上游更新,而团队往往直接使用 latest 标签,导致同一份 Deployment 在不同时间拉取到不同内容。第二是策略与效率的冲突:如果准入策略过严,开发迭代会被频繁阻断;过松则形同虚设。第三是可观测性不足:很多团队能说清“集群里跑了什么”,却说不清“这些镜像从哪来、经过哪些构建、是否被签名”。第四是多集群与多环境一致性:开发、预发、生产三套集群若策略不一致,就会出现“预发能过、生产被拦”或更危险的“生产放行了预发拦截的镜像”。
这些挑战最终都会落到可靠性上。可靠性治理在生产环境中的价值,不是追求“零风险”,而是让风险可发现、可拦截、可追溯、可回滚。具体来说:可发现意味着有 SBOM 和扫描报告;可拦截意味着准入策略能在镜像进入集群前拒绝不合规制品;可追溯意味着从运行中的 Pod 能反查到源码提交和构建记录;可回滚意味着当某个镜像被确认有问题时,能快速定位影响范围并切回上一个可信版本。
整体学习路径
本课程后续章节将沿着这条链路逐步展开。前期先建立概念与边界,理解供应链与策略治理各自解决什么问题;中期进入工具与实践,覆盖镜像签名与验证、SBOM 生成与消费、准入控制策略编写与测试、策略即代码的版本管理与灰度;后期聚焦生产可靠性,包括多集群策略分发、策略失效的排障、供应链事件的应急响应,以及如何用指标衡量治理效果。每一部分都会尽量给出可执行的配置片段、参数示例和判断依据,而不是停留在概念层面。
最后需要明确本课程的边界:我们讨论的是云原生环境下软件物料与运行策略的治理,不展开传统 ITIL 变更管理流程,也不深入具体漏洞的利用与修复细节。重点在于让读者能够识别链路中的关键控制点,理解每个控制点的作用与局限,并能在自己的生产环境中落地一套可运行、可维护、可演进的治理方案。