架构
目录
简介
()提供了一个企业级的基于 Kubernetes 的平台,使组织能够在混合云和多云环境中一致地构建、部署和管理应用。 集成了核心 Kubernetes 能力,并增强了管理、可观测性和安全服务,提供统一的控制平面和灵活的业务集群。
该架构遵循中心辐射模型,由一个 global 集群和多个业务集群组成。此设计既提供了集中治理,又允许独立的工作负载执行和可扩展性。

核心架构组件
Global 集群
global 集群作为 的集中管理和控制中心。它提供平台范围的服务,如认证、策略管理、集群生命周期操作和可观测性。同时,它也是多集群管理的中心枢纽,提供跨集群功能。
关键组件包括:
- Gateway
作为平台的主要入口,管理来自 UI、CLI(kubectl)和自动化工具的 API 请求,并将其路由到相应的后端服务。
- 认证与授权(Auth)
集成外部 Identity Providers(IdPs),提供单点登录(SSO)和基于 RBAC 的访问控制。
- Web 控制台
提供 的基于网页的界面,通过 Gateway 调用平台 API。
- 集群管理
负责业务集群的注册、配置和生命周期管理。
- 服务
- Operator Lifecycle Manager (OLM) 和集群插件
管理 operator 和集群扩展的安装、更新及生命周期。
- 内部镜像仓库
提供开箱即用的集成容器镜像仓库,支持基于角色的访问控制。
- 可观测性
提供 global 集群和业务集群的集中日志、指标和追踪。
- 集群代理
实现 global 集群与业务集群之间的安全通信。
业务集群
业务集群是由 global 集群管理的基于 Kubernetes 的环境。每个业务集群运行隔离的应用工作负载,并继承来自中央控制平面的治理和配置。
外部集成
- Identity Provider (IdP)
支持通过标准协议(OIDC、SAML)的联合认证,实现统一的用户管理。
- API 和 CLI 访问
用户可以通过 RESTful API、Web 控制台或命令行工具如 kubectl 和 ac 与 交互。
- 负载均衡器(VIP/DNS/SLB)
为 Gateway 及 global 和业务集群的入口端点提供高可用性和流量分发。
可扩展性与高可用性
设计支持水平扩展和高可用性:
- 各组件可冗余部署,消除单点故障。
global 集群支持管理数十到数百个业务集群。
- 业务集群可根据工作负载需求独立扩展。
- 通过 VIP/DNS/Ingress 实现无缝路由和故障切换。
功能视角
()的完整功能由 Core 和基于两条技术栈的扩展组成:Operator 和 集群插件。
技术视角
平台组件运行时
所有平台组件均作为容器运行在 Kubernetes 管理集群(即 global 集群)内。
高可用架构
global 集群通常由至少三个控制平面节点和多个工作节点组成
- etcd 的高可用性是集群 HA 的核心;详情见关键组件高可用机制
- 负载均衡可由外部负载均衡器或集群内部自建 VIP 提供
请求路由
- 客户端请求首先经过负载均衡器或自建 VIP
- 请求转发至运行在指定入口节点(或配置为控制平面节点)的 ALB(平台默认 Kubernetes Ingress Gateway)
- ALB 根据配置规则将流量路由至目标组件 Pod
副本策略
- 核心组件至少运行两个副本
- 关键组件(如 registry、MinIO、ALB)运行三个副本
容错与自愈
- 通过 kubelet、kube-controller-manager、kube-scheduler、kube-proxy、ALB 等组件协作实现
- 包括健康检查、故障切换和流量重定向
数据存储与恢复
- 控制平面配置和平台状态以 Kubernetes 资源形式存储在 etcd 中
- 在灾难性故障时,可通过 etcd 快照进行恢复
主备灾备
- 两个独立的
global 集群:主集群 和 备集群
- 灾备机制基于主集群到备集群的 etcd 数据实时同步
- 主集群故障不可用时,服务可快速切换至备集群
关键组件高可用机制
etcd
- 部署在三个(或五个)控制平面节点上
- 使用 RAFT 协议进行领导选举和数据复制
- 三节点部署可容忍最多一个节点故障;五节点部署可容忍最多两个
- 支持本地和远程 S3 快照备份
监控组件
- Prometheus:多实例,结合 Thanos Query 去重,支持跨地域冗余
- VictoriaMetrics:集群模式,包含分布式 VMStorage、VMInsert 和 VMSelect 组件
日志组件
- Nevermore 负责收集日志和审计数据
- Kafka / Elasticsearch / Razor / Lanaya 以分布式和多副本模式部署
网络组件(CNI)
- Kube-OVN / Calico / Flannel 通过无状态 DaemonSet 或三副本控制平面组件实现 HA
ALB
- Operator 以三副本部署,启用领导选举
- 支持实例级健康检查和负载均衡
自建 VIP
- 基于 Keepalived 的高可用虚拟 IP
- 支持心跳检测和主备切换
Harbor
- 基于 ALB 的负载均衡
- PostgreSQL 使用 Patroni 实现 HA
- Redis 采用哨兵模式
- 无状态服务多副本部署
Registry 和 MinIO
- Registry 以三副本部署
- MinIO 采用分布式模式,支持纠删码、数据冗余和自动恢复