Ubicloud/ubicloud(自托管开源云 IaaS)入土笔记

46次阅读
没有评论

共计 2576 个字符,预计需要花费 7 分钟才能阅读完成。

一、Ubicloud 是什么

Ubicloud 是面向开发者的开源 IaaS:把虚拟机、块存储、虚拟网络(含防火墙 / 负载均衡)、托管 PostgreSQL、GitHub Actions Runner 等“常用 20% 的云功能”打包为可自托管的软件栈,可在 Hetzner、Leaseweb、Latitude.sh、AWS Bare Metal 等 裸金属 上快速拉起,也可直接使用其 托管版(声称可较主流公有云降本 3–10 倍)。(Ubicloud)

Ubicloud/ubicloud(自托管开源云 IaaS)入土笔记

二、核心能力一览

  • 弹性计算(VM):控制面通过 SSH 下发指令,数据面采用 Cloud Hypervisor 作为 VMM,结合 Linux namespaces 做进程级隔离。支持公私网与双栈 IPv4/IPv6。(GitHub)
  • 虚拟网络 :节点间通过 IPsec 建立加密隧道; 防火墙与负载均衡 基于 Linux nftables 实现,支持健康探测,不健康 VM 会被摘除后再自动恢复路由。(GitHub)
  • 块存储(本地、未复刻):以 SPDK 提供虚拟化块设备,强调未来可演进快照与复制;对数据加密密钥再加密(DEK 包装)。(GitHub)
  • 托管 PostgreSQL:覆盖备份、健康监控与高可用等日常运维工作;面向分析负载可利用本地 NVMe 提升吞吐(PG17 可用)。(Ubicloud)
  • 命令行与控制台:图形化控制台 +ubi CLI 双路线;CLI 支持下载、初始化与常见资源操作。(Ubicloud)

上述能力既可用 自托管 的方式在你的裸金属上运行,也可开箱即用 Ubicloud 的 托管服务。(Ubicloud)


三、架构与技术选型(为何说“基于 Ruby”)

Ubicloud 采用“控制面 / 数据面”经典云架构:

  • 控制面(Control Plane)Ruby 编写,持久化存储用 PostgreSQL;Web 侧用 Roda 框架、Sequel 访问数据库、Rodauth 处理认证;与数据面通过 SSH 通信。前端样式基于 Tailwind。(GitHub)
  • 数据面(Data Plane):在租用的裸金属服务器上运行 VMM、网络与存储服务(Cloud Hypervisor / IPsec / nftables / SPDK)。(GitHub)
  • 权限模型(IAM):采用 ABAC(属性基访问控制) 设计,便于多租户 / 细粒度授权。(GitHub)
  • 许可证:主仓库以 AGPL-3.0 开源。(GitHub)

这套选择的意义在于:控制面保持简单可审计(Ruby + PG),数据面尽量借力成熟组件(Linux/Cloud Hypervisor/SPDK),同时把多租户、安全与可运维性作为默认值而非“可选项”。


四、如何“自建一朵云”(Quick Start 思路)

目标:在一家裸金属服务商(如 Hetzner)上,用 Ubicloud 把几台物理机“云化”,然后像公有云一样开 VM、挂盘、配网络。

  1. 拉起控制面
  • clone 仓库并使用示例 docker-compose 启动控制面与内置数据库:
    docker-compose -f demo/docker-compose.yml up,访问 localhost:3000。(GitHub)
  1. 准备数据面机器
  • 在供应商处租几台裸金属主机(建议 NVMe + 至少 2×10GbE);按文档配置 HETZNER_USER/PASSWORD/SSH_KEYS 等环境变量,执行 cloudify 脚本把物理机纳管。(GitHub)
  1. 开通资源
  • 在控制台或 ubi CLI 中创建网络、子网、负载均衡、卷与 VM;如需外网,仅开白名单端口并配健康检查;数据库可直接选 托管 PostgreSQL 规格。(Ubicloud)

文档还提示:若链路不支持 IPv6,可用隧道服务或自带 IPv4 资源进行补位。(GitHub)


五、典型落地场景与优势

  • 降本增效 / 避免锁定 :在欧洲等地区直接跑在 Hetzner 等裸金属之上, 按需自建 IaaS,对计算密集 /CI 流水线等“可短时弹性”场景尤其划算;Ubicloud 官方宣称相较头部公有云可 3–10× 降本(视地区 / 机型而定)。(Ubicloud)
  • 合规与数据主权 :金融、医疗或游戏等对本地化有强要求的业务,可把控制面放在自有机房 / 专属区域, 资源完全可见可控。(Ubicloud)
  • 数据库优先:如果你只想先把 PG 托管好(备份 /HA/ 监控),可先用 Ubicloud 托管 PG,再逐步把计算与网络迁到同一控制面。(Ubicloud)
  • 开发者友好:Web 控制台 + ubi CLI;默认支持防火墙 / 负载均衡 / 块存储等“刚需”资源,学习曲线比大型云栈平缓。(Ubicloud)

六、与 OpenStack 的差异

Ubicloud 并非“组件拼装商店”,而是 更“主观”的最小可用云 :定位开发者、内置多租户安全(静 / 传输加密、密钥轮换、虚拟网络隔离等),并提供 托管版 以分钟级启动;官方也直言其目标是“用 10% 的服务覆盖 80% 的消耗”,追求 简单可运维 而非“全家桶”。(GitHub)


七、当前状态与路线图

  • 已公开的组件与文档:弹性计算、虚拟网络(nftables 防火墙 / 负载均衡、健康探测)、本地块存储(SPDK,尚未做复制层)、托管 PostgreSQL、CLI 与控制台。(GitHub)
  • Roadmap(示例):进一步的托管 K8s/ 监控能力、更多企业特性。请以仓库 README 与官网更新为准。(GitHub)


八、落地建议(给工程团队)

  1. 先托管、后自建:用托管版做功能与 SLO 评估,再决定是否迁至自托管(降低一次性投入)。(Ubicloud)
  2. 从数据库或 CI 入口切入:PG17 + 本地 NVMe 的性价比高;或先把 GitHub Actions Runner 等“短时算力”放上去验证 ROI。(Ubicloud)
  3. 网络与安全基线:按零信任做安全域分层;健康探测 + LB 的灰度与故障转移策略务必先演练。(Ubicloud)
  4. 性能 / 可用性预期管理:块存储当前为“未复制”的本地卷,涉及数据冗余 / 快照 / 跨主机迁移的需求,应在上层引入副本 / 定时备份策略或等待官方后续能力。(GitHub)

九、快速链接

  • GitHub 仓库(AGPL-3.0):功能、架构、开发脚手架与示例 compose。(GitHub)
  • 快速自建指南:控制面 + 数据面与“cloudify”流程。(Ubicloud)
  • 负载均衡与健康探测:架构与工作流。(Ubicloud)
  • 托管 PostgreSQL:概览与能力边界。(Ubicloud)
  • CLI ubi:下载与使用。(Ubicloud)
正文完
 0
一诺
版权声明:本站原创文章,由 一诺 于2025-09-30发表,共计2576字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)
验证码