KubeBYON 产品定位与路线图

最后更新:2026-05-11

本文档描述 当前产品定位、已落地范围与后续迭代方向。 它替代了仓库早期的 goal.md 角色,不再把项目仅仅定义为一个 MVP 验证仓库。

1. 产品定位

KubeBYON = Kubernetes Bring Your Own Nodes

KubeBYON 旨在提供一套开源、自托管的 BYON 平台:

  • 平台侧负责托管用户的虚拟 Kubernetes 控制面
  • 用户侧只需要提供自己的 Worker 节点
  • 用户通过平台生成的 Join Token / Join Script 接入自己的专属集群
  • 平台同时提供用户控制台、管理员后台、系统设置、通知与基础计费能力

当前目标不是只证明“技术上能 join”,而是继续把它做成一套可部署、可运营、可扩展的完整产品。

2. 当前已经落地的产品范围

2.1 平台与账号体系

  • 本地账号注册 / 登录
  • GitHub / Google OAuth 登录
  • 邮箱验证码注册
  • 密码重置
  • Session 鉴权
  • API Key
  • 用户级通知偏好

2.2 用户控制台

  • 集群列表 / 详情 / 创建 / 更新 / 删除
  • 托管业务流量入口开关、状态展示与错误回显
  • Join Token 创建与吊销
  • kubeconfig 下载
  • 节点列表 / 节点详情
  • 节点运维操作(cordon / uncordon / drain / delete)
  • 控制面指标历史查看
  • 用户资料与头像更新

2.3 管理后台

  • 用户管理
  • 套餐管理
  • 订单管理
  • 系统设置
  • 通知投递配置
  • 活动审计 / Activity Stream
  • 默认集群公网模式配置

2.4 集群运行时与编排

  • vcluster 后端创建 / 更新 / 删除集群
  • vCluster Private Nodes 接入
  • Join Script / Join URL 分发
  • public_access_mode=nodeport | loadbalancer
  • HAProxy 稳定公网入口方案
  • 托管业务流量入口的 cluster 级开关与控制器 reconcile
  • Admission Webhook(可选)
  • 控制面指标采集
  • PostgreSQL 持久化
  • 多机模式下 RabbitMQ + kubebyon-worker 异步执行集群生命周期任务
  • Gateway API workload edge 可选 routeagent 模式,通过 kubebyon-route-agent DaemonSet 在宿主节点收敛 PodCIDR 路由

3. 当前推荐的产品形态

3.1 推荐依赖

  • 集群后端:vcluster
  • 持久化存储:PostgreSQL
  • 多机任务队列:RabbitMQ
  • 前端:Next.js 控制台

3.2 推荐部署拓扑

  1. 单机模式
    • 适合个人自托管、PoC、轻量环境
    • 使用 deployments/single-node/*
  2. 多机模式
    • 适合把 API 与 worker 拆分
    • 使用 deployments/multi-node/*
    • API 负责接收请求、写库、投递 cluster job
    • Worker 负责真正执行集群生命周期动作

3.3 当前约束

  • 仍以 Linux Worker 为主
  • 仍以用户自带节点为前提,不负责节点自动 provisioning
  • 仍以自托管宿主 Kubernetes / k3s 为平台基础
  • 仍以 vcluster 为唯一推荐真实集群后端
  • 托管业务流量入口已经具备 cluster 级开关、状态回写、hostname binding、cluster 级 CNAME target、平台 base domain 内 CNAME best-effort 自动维护、workload edge shared Gateway,以及最小版 TLS / cert-manager 接线
  • 外部用户 DNS Zone 托管、证书可视化、策略配额与更完整的平台边缘网关产品化仍待完善
  • 当前内置托管 ingress controller 仅支持 ingress-nginx

字段级语义、状态机和运行时同步细节请以 docs/architecture/managed-workload-ingress-plan.md 为准。

4. 下一阶段优先级

4.1 产品化优先项

  • 更完整的多租户 RBAC / 配额策略
  • 更清晰的产品级部署矩阵与环境依赖说明
  • 更完善的系统设置校验与敏感配置管理
  • 更稳定的多机部署与 worker 观测能力
  • 在已有 DNS 托管范围实时预览、平台 DNS 自动化 Recovered 历史提示基础上,继续完善前端引导、空态与错误诊断体验
  • 托管业务流量入口的产品说明、用户引导与运维 runbook

4.2 集群与运维优先项

  • 托管业务流量入口的 DNS 下发 / CNAME 生效校验 / TLS 自动化的更完整可观测与失败恢复
  • 平台级边缘网关与统一流量入口的进一步产品化
  • 节点健康监控与告警
  • 更完善的 e2e 自动化验证
  • 更清晰的回收、重试、失败恢复策略
  • 更完整的发布流程与版本化迁移能力

4.3 商业化与平台优先项

  • 更完整的支付 / 订阅域模型
  • 权益与套餐变更的更细粒度规则
  • 更完整的管理员运营工具

5. 当前不做的事(Non-Goals)

  • 暂不做节点自动供应(provisioning)
  • 暂不做 Windows Worker 支持
  • 暂不把 KubeBYON 设计成通用 Kubernetes 发行版
  • 暂不把数据库抽象成多种正式持久化后端

6. 建议阅读顺序

  1. README.md
  2. docs/architecture/current-architecture.md
  3. docs/api/http-api.md
  4. 对应部署 runbook