系统架构总览
平台以 HashiCorp 全栈(Nomad + Consul + Vault)为云原生控制平面,在其上构建算力交易、计费结算与多角色门户。 我们不重写调度、服务网格与密钥体系这些已被业界大规模验证的基础设施,而是站在 HashiCorp 之上,把工程重心投入到真正创造差异的算力市场与交互式实例体验——这让一套部署在自有机房的系统,具备了媲美公有云的调度可靠性、服务治理与零信任安全。
整体架构
平台自上而下分为五层:接入层面向用户,平台层承载业务,HashiCorp 控制平面统一调度·治理·安全,数据层持久化状态,算力层聚合全球供应商 GPU。
为什么是 HashiCorp 全栈
三件产品各司其职,组合起来构成一个自洽的零信任调度底座——这正是把"一堆分散的供应商机器"凝聚成"一朵可信算力云"的关键。
| 产品 | 在本平台的角色 | 战略价值 |
|---|---|---|
| Nomad | 调度编排引擎:把交互式实例 / 批处理作业放置到用户选定的节点,按卡分配 GPU,管理动态端口、健康检查与重启 | 复用经 PB 级生产验证的调度内核,无需自研调度器,天然支持异构、跨地域、弹性伸缩 |
| Consul | 服务网格与健康中枢:节点与实例的服务注册、健康检查、KV 配置下发,是节点"在线/离线"判定与市场可用性的事实来源 | 把成百上千台分散节点变成一张可观测、可治理的服务网格,故障秒级感知 |
| Vault | 零信任密钥中枢:签发节点接入凭证、mTLS PKI 证书、私有镜像仓库等动态短期凭证,统一审计 | 凭证短期、动态、可吊销,杜绝长期密钥散落,满足合规与安全审计 |
设计哲学:不重复造轮子,把复杂度沉到经过验证的基础设施里。 调度交给 Nomad、服务治理交给 Consul、安全信任交给 Vault,平台得以把全部工程力量投入到算力交易与交互式实例这些真正的差异化价值上。详见 HashiCorp 集成。
组件职责
| 层 | 组件 | 职责 |
|---|---|---|
| 接入 | 官网 / 控制台 / 文档站 | 用户、供应商、管理员的 Web 入口与开发者文档 |
| 平台 | ark-api(Go/Gin) | 用户体系、算力市场、模板、租用/实例编排、计费结算、任务代理 |
| 控制平面 | Nomad | 调度与放置(直接调用 HTTP API,不修改 Nomad 本身) |
| 控制平面 | Consul | 服务发现、健康检查、KV 配置,驱动节点在线状态与市场可用性 |
| 控制平面 | Vault | 密钥管理、mTLS PKI、私有仓库/接入凭证的动态签发与审计 |
| 数据 | PostgreSQL / Redis / S3·MinIO | 业务数据 / 缓存限流 / 对象存储 |
| 算力 | 供应商节点 | Nomad Client + Docker + GPU 插件 + Consul Agent + cloudflared |
| 边缘 | Cloudflare Tunnel | 交互式实例的浏览器零安装可达性 |
两类作业
| 类型 | Nomad 作业类型 | 形态 |
|---|---|---|
| 交互式实例 | service | 长驻容器,开放 Jupyter / 终端 / SSH;停止/重启/销毁生命周期;动态端口 + 隧道 |
| 批处理任务 | batch | 一次性执行到结束,查看日志(保留接口,非文档站主线) |
实例编排时序
从"用户选机器"到"浏览器打开 Jupyter",请求在控制平面里的流转:
实例生命周期状态机
详见 实例生命周期、HashiCorp 集成 与 网络与隧道。
设计原则
- 不改基础设施:直接调用 Nomad / Consul / Vault,复用其可靠性与生态,平台层保持轻量。
- 交易与调度解耦:平台只管交易、计费、可达性;放置、治理、信任沉到 HashiCorp 控制平面。
- 零信任安全:每一次节点接入、每一个私有凭证都由 Vault 动态签发、短期有效、全程可审计。
- 零安装可达:交互式实例经出站隧道暴露,节点无需公网 IP 与入站端口。
- 存储与计算分离计费:计算停则停,存储独立计量;卷与镜像可跨实例存活。
