内容提要
本文探讨云原生平台如何通过多平面拓扑实现数字主权,以应对欧盟数据法案等监管要求。OpenChoreo将平台划分为控制、数据、观测、工作流和体验五个平面,各平面通过出站mTLS连接,确保数据驻留与隔离。该设计支持区域边界、无供应商依赖、安全访问控制及可移植性,并可与租户集群模式结合,将主权作为声明式配置进行管理。
延伸解读
多平面架构的审计优势
文章指出,审计人员关注的不只是数据存储位置,更关心控制平面、状态和密钥的分布。多平面拓扑通过将控制平面与数据平面分离,并采用出站mTLS连接,使敏感集群不暴露于互联网,从而在架构层面直接回应了“谁能访问密钥和状态”的问题。这种设计让合规性验证从依赖文档转向可检查的架构事实。
与租户集群模式的互补性
多平面架构与租户集群模式解决不同层面的问题:虚拟集群提供基础设施层的租户隔离,而平台层则管理数据驻留、遥测路由和推广路径。两者结合,既能以较低成本实现租户隔离,又能通过声明式配置确保跨区域的数据主权,使合规性成为可审计的配置而非口头承诺。
主权作为声明式配置的实践
文章强调,将数据平面、环境和部署管道定义为Kubernetes自定义资源,并纳入Git版本控制,可以将主权要求转化为可审查的代码。新增司法管辖区只需提交拉取请求,回答“为何数据在此”时,可追溯至提交历史。这使主权从合同条款变为可操作、可审计的工程实践。
多平面架构的局限与成本
文章明确指出,多平面拓扑不改变运营者的法律管辖,也不自动提供策略执行、供应链证明等安全控制。此外,每个平面都是独立集群,增加了运维负担。该模式仅在边界具有法律或风险权重时值得采用,且可通过虚拟集群组合控制物理集群数量,使其与司法辖区数而非租户数挂钩。
Q&A
什么是多平面架构?它如何帮助实现云原生平台的主权?
多平面架构将平台划分为控制、数据、观测、工作流和体验五个平面,每个平面独立运行,拥有自己的生命周期和安全边界。这种设计通过将控制平面与数据平面分离,确保数据驻留和隔离,从而帮助满足欧盟数据法案等监管要求,实现数字主权。
OpenChoreo 的多平面拓扑中,各平面之间如何连接?为什么这种连接方式对主权很重要?
数据、观测和工作流平面各自通过出站 mTLS 连接与控制平面网关通信,控制平面从不主动连接它们。这种出站-only 连接确保承载受监管工作负载的集群 API 服务器不暴露于互联网,同时控制平面只持有期望状态而非运行时状态,因此数据平面即使与控制平面断开也能继续服务。这对主权至关重要,因为它增强了安全性和数据驻留。
多平面架构如何帮助回答审计员关于司法管辖区的提问?
通过采用“一个司法管辖区,一个数据平面”的模式,每个数据平面及其观测平面都位于特定区域,工作负载和遥测数据都留在该区域内。这样,平台团队可以明确说明每个组件运行的法律管辖区,从而在审计中提供清晰的架构边界。
如果供应商消失,多平面架构如何保证平台的可操作性?
每个数据平面都是完整的、符合 Kubernetes 标准的集群,即使与控制平面断开也能独立运行。底层技术栈是开源的,基于 CNCF 项目,如 Argo Workflows、Prometheus 等,没有单一托管服务处于关键路径上。因此,团队可以继续操作工作负载,甚至迁移到其他环境。
多平面架构如何确保外部人员无法访问密钥、集群状态或管理员凭据?
出站-only mTLS 模型使敏感集群无法从互联网访问。密钥和凭据存储在团队选择的 External Secrets Operator 兼容的存储或保险库中,授权细粒度到命名空间、项目和组件,并支持从 OAuth2/OIDC 身份提供商映射组。这种模型适用于开发者、CLI 和 AI 代理。
多平面架构如何支持跨提供商或地域的工作负载迁移,而无需重写?
工作负载表示为标准 Kubernetes 资源,运行在符合标准的集群上,无论底层是公有云、本地还是裸金属。平台支持提升(promotion)作为一等概念,允许通过管道将组件从开发环境提升到生产环境,并应用环境特定配置。因此,更换基础设施提供商或地域只是拓扑变更,而非迁移项目。
多平面架构与租户集群模式如何结合?它们各自解决什么问题?
租户集群模式在基础设施层提供每个租户的虚拟控制平面,实现租户间隔离;多平面架构在平台层决定数据放置、遥测路由和提升策略。两者结合,基础设施层回答“谁与谁隔离”,平台层回答“什么可以跨边界移动,且能否证明”。这种组合以司法辖区数量而非租户数量扩展成本,全面覆盖主权问题。
多平面架构有哪些局限性?
多平面架构不改变运营基础设施的组织的法律管辖区,也不能强制边界内的策略执行。它需要额外的监控、升级和备份工作,因此仅在边界具有法律或风险权重时才值得。此外,如果威胁模型要求硬件级隔离,虚拟集群可能不够,需要物理数据平面。
如何将主权作为声明式配置进行管理?
通过将数据平面、环境和部署管道表示为 Kubernetes 自定义资源,整个拓扑可以存储在 Git 中,包括区域、数据平面、观测接收器和允许的提升路径。添加新司法辖区只需审查拉取请求,回答“为什么数据在此管辖区”时,答案是提交历史而非控制台截图。