Kong 网关基础架构:组件与数据/控制平面分离原理

Kong Gateway 是业界领先的云原生 API 网关,其架构设计围绕高性能代理与集中化管理两大核心目标展开。理解 Kong 的组件构成以及数据平面与控制平面分离的原理,是设计回滚护栏与权限分级体系的基础。

2.1 核心组件概览

Kong 的运行时体系由三个关键组件构成,它们各司其职,共同支撑网关的流量代理、策略执行与管理配置能力。

组件名称 核心职责 部署位置 关键特征
Kong Gateway 运行时代理、插件执行、流量转发 数据平面(边缘节点) 高性能、无状态、水平扩展
Kong Manager 图形化管理界面、RBAC 管理、工作区 控制平面(管理网络) Web UI、用户友好、操作审计
Kong Admin API 声明式配置接口、CRUD 操作、自动化 控制平面(管理网络) RESTful、幂等、可编程
架构提示:在回滚护栏设计中,Admin API 是权限管控的第一道防线。所有配置变更(包括回滚操作)最终都通过 Admin API 执行,因此对 Admin API 的端点级权限分级是回滚安全的核心。

2.2 数据平面与控制平面分离原理

Kong 采用解耦架构,将流量处理(数据平面)与配置管理(控制平面)分离。这种设计带来了高可用性、安全隔离与独立扩缩容能力。

  • 数据平面(Data Plane, DP):运行 Kong Gateway 实例,直接处理客户端请求。它从数据库(或声明式配置文件)中加载最新配置,在内存中构建路由、服务、上游与插件规则。数据平面无状态,故障时可快速替换。
  • 控制平面(Control Plane, CP):包含 Kong Manager、Admin API 以及后端数据库(PostgreSQL/Cassandra)。所有配置变更、用户管理、审计日志均在此平面完成。控制平面不直接处理业务流量。
  • 同步机制:数据平面通过轮询或事件驱动方式从数据库拉取配置变更。在混合模式(Hybrid Mode)下,控制平面节点主动将配置推送到数据平面节点,实现更高效的配置分发。
分离架构优势:
  • 安全隔离:管理接口不暴露在公网,降低攻击面。
  • 弹性伸缩:数据平面可按流量独立扩缩,不影响管理面。
  • 故障域隔离:控制平面故障不影响已加载配置的数据平面继续运行。
  • 权限分级:控制平面可实施细粒度 RBAC,数据平面仅需最小权限。
Kong 数据平面与控制平面分离架构 控制平面(Control Plane) Kong Manager Admin API 数据库(PostgreSQL) RBAC / 审计日志 数据平面(Data Plane) Kong Node 1 Kong Node 2 Kong Node N 客户端请求 → 路由 → 上游服务 配置同步 🔒 安全边界: Admin API 与 Manager 仅暴露在管理网络;数据平面节点无需开放管理端口,仅通过只读方式获取配置。

2.3 混合模式下的配置分发流程

在生产环境中,Kong 推荐使用混合模式(Hybrid Mode)来强化控制平面与数据平面的分离。该模式下,控制平面节点(CP Node)主动将配置变更推送到数据平面节点(DP Node),数据平面无需直接访问数据库。

  1. 配置变更:运维人员通过 Kong Manager 或 Admin API 修改路由、服务或插件配置。
  2. 持久化:控制平面将变更写入后端数据库,并更新本地缓存。
  3. 推送通知:控制平面通过 WebSocket 或 gRPC 流将配置变更事件推送给所有已连接的数据平面节点。
  4. 热加载:数据平面节点接收增量配置,在内存中热更新路由表与插件链,无需重启进程。
  5. 确认回执:数据平面节点向控制平面返回配置应用状态,控制平面记录审计日志。
回滚护栏关键点:在混合模式下,回滚操作必须同时考虑控制平面与数据平面的状态一致性。如果仅回滚数据库配置而未触发推送,数据平面可能仍运行旧配置。权限分级设计应确保回滚操作能触发完整的配置同步流程。

2.4 组件交互与权限触点

从权限分级设计的视角,Kong 各组件之间存在明确的交互边界,这些边界正是实施访问控制的关键触点。

交互路径 源组件 目标组件 协议/端口 权限控制点
管理配置 Kong Manager Admin API HTTP(S) / 8001 RBAC 角色、工作区隔离
配置推送 CP Node DP Node WebSocket / 8005 TLS 双向认证、集群证书
数据查询 Admin API 数据库 PostgreSQL / 5432 数据库用户权限、网络策略
流量代理 客户端 Kong Gateway HTTP(S) / 8000, 8443 消费者认证、IP 白名单
组件交互与权限触点 Kong Manager Admin API 数据库 Kong Gateway (DP) 客户端 RBAC 管控 CRUD 配置推送 流量代理 🔑 权限触点总结: Admin API 是配置变更的唯一入口,Kong Manager 通过 Admin API 间接操作。回滚护栏应重点管控 Admin API 的 PATCH/DELETE 端点。

2.5 架构对权限分级设计的启示

基于上述组件与分离架构,可以提炼出以下与权限分级设计直接相关的架构特征:

  • 单一配置入口:所有配置变更(包括回滚)均通过 Admin API 完成,这为权限管控提供了集中化策略点。
  • 工作区隔离:Kong Manager 支持工作区(Workspaces),不同团队或环境(开发/测试/生产)可隔离管理,权限分级可基于工作区维度实施。
  • 操作审计:控制平面可记录所有 Admin API 调用日志,回滚操作应被标记为高风险事件,触发额外审批流程。
  • 数据平面无状态:数据平面不存储持久化配置,回滚操作只需在控制平面执行配置还原并触发同步,无需逐个操作数据平面节点。