4、架构分层模型概述:基础设施层、集群管理层、租户控制层、应用负载层、安全策略层

多租户隔离集群的架构并非单一平面,而是通过清晰的分层模型将不同职责的组件解耦,从而在共享资源与严格隔离之间取得平衡。本章将自上而下解析五层核心架构:基础设施层、集群管理层、租户控制层、应用负载层和安全策略层。每一层都承担特定的隔离职责,并向上层提供标准化接口。

核心原则:分层模型遵循“下层提供资源与能力,上层定义策略与边界”的设计哲学。任何一层都不应越权访问下层内部状态,从而保证故障域与安全域的独立。

4.1 五层架构总览

下表概括了每一层的核心职责、关键组件及隔离粒度,帮助建立全局认知:

层级 核心职责 关键组件 隔离粒度
基础设施层 提供计算、存储、网络物理/虚拟资源 物理机、VM、SDN、分布式存储 物理/虚拟节点
集群管理层 Kubernetes 集群自身运维与资源调度 kube-apiserver、scheduler、controller-manager 集群级 Namespace
租户控制层 多租户身份、配额、策略的集中管控 租户 CRD、配额管理、RBAC 模板 租户级
应用负载层 业务应用的部署、服务发现与流量治理 Deployment、Service、Ingress、Service Mesh 应用/工作负载
安全策略层 跨层安全边界、网络策略、审计与合规 NetworkPolicy、OPA/Gatekeeper、Pod Security Admission 策略级

4.2 分层架构关系图

下图展示了五层之间的依赖与交互关系。箭头方向表示“上层依赖下层提供的服务”,同时安全策略层以横切方式作用于所有层级。

多租户隔离集群五层架构关系图 多租户隔离集群五层架构关系图 安全策略层(横切所有层级) 应用负载层 Deployment · Service · Ingress · Service Mesh 租户控制层 租户 CRD · 配额管理 · RBAC 模板 · 租户命名空间 集群管理层 kube-apiserver · Scheduler · Controller Manager · 集群 Namespace 基础设施层 物理机 · 虚拟机 · SDN 网络 · 分布式存储 策略横切 策略横切

4.3 各层详细解析

4.3.1 基础设施层

作为整个集群的物理与虚拟化底座,基础设施层负责提供可伸缩的计算、网络和存储资源。在多租户场景下,该层通常通过节点标签、拓扑域和资源池实现物理隔离或超售隔离。

  • 计算隔离:使用节点亲和性将敏感租户绑定到专属节点池,避免 CPU/内存争抢。
  • 网络隔离:通过 VPC、Calico 网络策略或 Cilium 的 eBPF 实现租户级网络微分段。
  • 存储隔离:为每个租户分配独立的 StorageClass 或 PV,支持加密卷。

4.3.2 集群管理层

该层是 Kubernetes 控制面的核心,负责集群自身的运维与资源调度。在多租户架构中,集群管理层需要支持分层 Namespace 和资源配额分层,防止租户资源滥用影响控制面稳定性。

最佳实践:在集群管理层启用 ResourceQuota 和 LimitRange,并配合 PriorityClass 保障系统组件优先级高于租户负载。

4.3.3 租户控制层

这是多租户架构的策略中枢。租户控制层通过自定义资源(CRD)定义租户模型,并管理租户的生命周期、配额模板、RBAC 角色绑定以及网络策略模板。该层通常由租户控制器或平台工程团队维护。

  • 租户 CRD:定义租户标识、管理员列表、配额预设、允许的集群特性。
  • 配额模板:为不同 tier(如金/银/铜)租户预设 CPU、内存、存储上限。
  • RBAC 模板:自动为租户管理员绑定 admin 角色,为开发者绑定 edit 角色。

4.3.4 应用负载层

该层承载实际业务应用,包括 Deployment、StatefulSet、Service、Ingress 等标准 Kubernetes 资源。在多租户环境下,应用负载层必须遵循租户控制层下发的命名空间边界和网络策略,不能跨租户访问。

常见陷阱:应用负载层中,如果 Service 或 Ingress 未显式绑定到租户命名空间,可能导致服务意外暴露给其他租户。务必使用 namespaceSelector 和 podSelector 严格限定流量范围。

4.3.5 安全策略层

安全策略层是横切关注点,贯穿所有层级。它通过声明式策略引擎(如 OPA/Gatekeeper、Kyverno)和原生安全机制(Pod Security Admission、NetworkPolicy)实现合规自动化和安全基线。

安全机制 作用层级 典型策略示例
NetworkPolicy 应用负载层 禁止租户 A 访问租户 B 的 Pod
Pod Security Admission 集群管理层 强制所有 Pod 以非 root 用户运行
OPA/Gatekeeper 租户控制层 禁止创建未绑定租户标签的 Namespace
审计日志 基础设施层 记录所有 API 操作并归档到外部存储

4.4 分层隔离的典型流程

以下流程展示了一个新租户从申请到应用部署的完整分层协作过程:

  1. 基础设施层预置节点池和存储类。
  2. 集群管理层创建集群并配置默认资源配额。
  3. 租户控制层接收租户申请,创建租户 CRD 实例,自动生成租户命名空间、RBAC 绑定和配额。
  4. 安全策略层验证新命名空间是否符合策略(如标签合规、禁止特权容器)。
  5. 应用负载层在租户命名空间内部署业务应用,通过 Service Mesh 实现东西向流量加密。
关键洞察:分层模型的核心价值在于职责分离——平台团队管理基础设施和集群,租户管理员控制租户策略,业务开发者只关注应用负载。每一层的变化都不应影响其他层的稳定性。