跳转至

平台概览 (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
  1. 入口 (Ingress): 用户请求到达我们的 HAProxy 负载均衡器 (结合 Anycast/GeoDNS)。
  2. 路由 (Routing): HAProxy 将请求转发到最近集群内的 Cilium Ingress 控制器。
  3. 服务网格 (Service Mesh): 如果服务需要与另一个区域的数据库对话,流量会通过 WireGuard 网格安全传输,并由 Cilium 的原生路由进行优化。
  4. 持久化 (Persistence): 如果需要写入数据,数据会通过高速链路传输到 Ceph 存储集群,并在那里被复制以确保安全。

卓越运营 (Operational Excellence)

架构不仅关于构建,更关于运行。我们将 Day-2 运营能力视为平台的一等公民:

  • 全栈可观测性: 每一个 Pod、每一条 WireGuard 隧道都已被仪表化。详见 全栈可观测性
  • 零停机维护: 从内核修补到 K8s 升级,我们的架构保证业务始终在线。详见 零停机维护策略
  • 为故障而设计: 我们不假设硬件可靠,而是假设它会坏。详见 灾难恢复演练手册

请前往 基础设施架构 章节,深入了解各组件的技术细节。