平台概览 (Platform Overview)
Cyberun Cloud 不仅仅是一堆服务器的集合,它是一套用于全球基础设施的、内聚的软件定义操作系统。我们将来自不同裸金属提供商的复杂硬件资源,抽象为一个统一、高韧性且完全自主的主权云平台。
本文档概述了支撑我们平台运行的架构哲学与物理拓扑。
Cyberun 设计哲学
传统的多云策略往往依赖于“最小公分母”(例如只使用最基础的虚拟机),从而失去了各个提供商的高级特性。Cyberun 采取了完全不同的路径:我们自带云技术栈 (BYO-Stack)。
- 通用硬件,核心软件: 我们将物理服务器视为可互换的通用商品。所有的智能——路由、存储、身份认证与安全——都严格地在软件层定义。
- 原生联邦 (Federation by Default): 我们不构建需要手动同步的独立集群。我们构建的是一个单一的“联邦控制面”,将整个世界视为一个统一的资源池。
- GitOps 一切: 如果它不在 Git 里,它就不存在。从底层的操作系统配置 (Ansible) 到上层的应用部署 (FluxCD),每一个状态都受到版本控制。
架构拓扑 (Topology)
为了在 性能、成本 与 韧性 之间取得完美平衡,我们将基础设施划分为三个战略层级。这就是我们所谓的 “大脑-肌肉-金库”拓扑。
架构全景图
我们的架构包含从边缘 GeoDNS 到底层 NVMe 存储的完整技术栈。为了提供最佳的阅读体验,我们将高分辨率的全景拓扑图移至独立页面展示。
1. 大脑:控制面 (Carrier)
- 位置: 东京 (Tokyo)
- 角色: 全局管理、调度、身份认证。
- 设计:
- 该集群运行 Karmada 联邦引擎、Rancher 管理面板以及 Keycloak 身份提供商。
- 为什么要分离? 通过将“大脑”与繁重的应用工作负载隔离,我们确保即使计算节点处于 100% 负载下,管理界面也始终响应迅速,不会卡顿。
- 存储: 使用本地 Longhorn 存储,以确保存储元数据的高速访问和系统状态的绝对稳定。
2. 肌肉:计算面 (Destroyer & Aegis)
- 位置: 纽约 (Destroyer) & 纽伦堡 (Aegis)
- 角色: 应用工作负载、AI 训练、数据处理。
- 设计:
- 这些是高性能的裸金属或专用核心实例。
- 无状态特性: 计算节点被设计为“可丢弃的”。如果一个节点发生故障,工作负载会立即被重新调度。它们本地不保存持久化数据。
- 专业分工:
- Destroyer: 运行通用微服务和 Web 应用程序。
- Aegis: 专门用于 AI 推理和训练任务的 GPU 节点。
3. 金库:存储面 (Auxiliary)
- 位置: 纽约 (与 Destroyer 之间有低延迟链路)
- 角色: 持久化数据、对象存储、灾难恢复。
- 设计:
- 运行高冗余配置的 Rook-Ceph 集群。
- 存算分离: 我们利用高速低延迟链路连接“计算层 (Destroyer)”和“存储层 (Auxiliary)”。这种架构实现了计算 (CPU/RAM) 与存储 (Disk) 的独立扩展,在大幅降低 总体拥有成本 (TCO) 的同时,提供 PB 级 的弹性容量与 ~1.0ms 的稳定读写性能。
- 优势: 您可以独立扩展计算资源 (CPU/RAM) 和存储资源 (Disk)。繁重的数据库 I/O 操作不会抢占您应用程序的 CPU 时间片。
核心技术栈
我们站在开源巨人的肩膀上交付这一架构。
| 组件 | 技术选型 | 选择理由 |
|---|---|---|
| 编排调度 | Karmada | 允许我们将应用程序调度到跨区域的集群,就像它们是一个集群一样。 |
| 网络层 | Cilium (eBPF) | 提供高性能网络、安全策略和可观测性,无需繁重的 Sidecar。 |
| 连通性 | WireGuard | 在全球所有节点之间建立安全、全网格 (Full-Mesh) 的加密隧道。 |
| 存储层 | Rook-Ceph | 软件定义存储的行业标准。具备自愈能力且可无限扩展。 |
| 边缘路由 | HAProxy + Keepalived | 经过实战考验的、坚不可摧的流量入口前门。 |
| 自动化 | FluxCD | 确保我们的集群状态始终与 Git 仓库保持同步。 |
流量是如何流动的
graph TD
%% 样式定义:高对比度 (High Contrast Pastel)
classDef user fill:#ffffff,stroke:#333333,stroke-width:2px,color:#000000;
classDef edge fill:#e0f2f1,stroke:#00695c,stroke-width:2px,color:#000000;
classDef core fill:#e3f2fd,stroke:#1565c0,stroke-width:2px,color:#000000;
classDef data fill:#fff8e1,stroke:#fbc02d,stroke-width:2px,color:#000000;
User((用户请求)):::user
DNS[GeoDNS 智能解析]:::edge
subgraph EdgeLayer [边缘接入层]
direction TB
LB[HAProxy 负载均衡器]:::edge
WG[WireGuard 加密隧道]:::edge
end
subgraph ClusterLayer [Kubernetes 集群内部]
direction TB
Ingress[Cilium Ingress eBPF]:::core
Svc[Service Mesh]:::core
Pod[业务 Pod]:::core
end
subgraph StorageLayer [持久化存储]
direction TB
RBD[Ceph RBD 卷]:::data
end
%% 主流量路径 (使用粗线强调)
User ==>|1. 请求 api.cyberun.cloud| DNS
DNS ==>|2. 解析至最近节点 Anycast| LB
LB ==>|3. 流量清洗 & 转发| Ingress
Ingress ==>|4. L7 路由 & 策略| Svc
Svc ==>|5. 负载均衡| Pod
Pod <==>|6. 极速读写| RBD
%% 跨区域/备用路径 (使用虚线表示)
LB -.->|跨区域流量| WG
WG -.->|加密传输| LB
- 入口 (Ingress): 用户请求到达我们的 HAProxy 负载均衡器 (结合 Anycast/GeoDNS)。
- 路由 (Routing): HAProxy 将请求转发到最近集群内的 Cilium Ingress 控制器。
- 服务网格 (Service Mesh): 如果服务需要与另一个区域的数据库对话,流量会通过 WireGuard 网格安全传输,并由 Cilium 的原生路由进行优化。
- 持久化 (Persistence): 如果需要写入数据,数据会通过高速链路传输到 Ceph 存储集群,并在那里被复制以确保安全。
卓越运营 (Operational Excellence)
架构不仅关于构建,更关于运行。我们将 Day-2 运营能力视为平台的一等公民:
- 全栈可观测性: 每一个 Pod、每一条 WireGuard 隧道都已被仪表化。详见 全栈可观测性。
- 零停机维护: 从内核修补到 K8s 升级,我们的架构保证业务始终在线。详见 零停机维护策略。
- 为故障而设计: 我们不假设硬件可靠,而是假设它会坏。详见 灾难恢复演练手册。
请前往 基础设施架构 章节,深入了解各组件的技术细节。