项目简介
KubeRDE 是一个 Kubernetes 原生的远程开发环境管理平台。它通过 WebSocket 隧道安全地将 NAT/防火墙后的开发工作区暴露出来,用户只需浏览器即可访问,无需 VPN 。
GitHub: https://github.com/xsoloking/kube-rde
5 分钟产品概览: https://youtu.be/qeA03UCNYoQ
本地部署 Demo: https://youtu.be/aeXvcPuDAYQ
核心功能
- 基于 OIDC/Keycloak 的认证授权,支持多租户团队隔离
- WebSocket + Yamux 多路复用,穿透 NAT 和企业防火墙
- 支持多种 IDE:VS Code Server 、JupyterLab 、SSH 终端、Web 文件管理器
- GPU 资源管理,支持 NVIDIA/AMD 等多种 GPU 类型配置
- TTL 自动休眠/唤醒,闲置自动缩容到零,节省成本
- Kubernetes Operator 管理 Agent 生命周期,声明式 CRD
- React Web 管理控制台,Helm Chart 一键部署
- 完整的审计日志、资源配额管理
技术栈
- 后端: Go 1.24+
- 前端: React 18 + TypeScript + Tailwind CSS + Vite
- 数据库: PostgreSQL
- 认证: Keycloak (OIDC/OAuth2)
- 部署: Kubernetes, Helm, Terraform (支持 GCP/AWS/Azure)
Vibe Coding 开发过程
这个项目是一次比较完整的 Vibe Coding 实践,几乎所有代码都是通过 AI 工具生成和迭代的,这里分享一下整个过程。
UI 设计阶段
用 Google Stitch 进行 UI 原型设计。Stitch 可以根据自然语言描述生成 UI 界面,把大致的布局、配色、交互流程先确定下来,作为前端开发的参考基准。
前端第一版
第一版前端代码直接在 Google AI Studio 里生成。把 Stitch 出的 UI 设计作为参考,描述页面功能和交互逻辑,AI Studio 生成了包含 15 个页面的 React + TypeScript 前端代码,包括 Dashboard 、Workspace 管理、Service 管理、用户管理、审计日志等完整的管理控制台。
后端与核心组件
Operator 、Server 、CLI 这些后端核心组件使用 Gemini 和 Claude Code 配合实现:
- Server 约 6500 行 Go 代码,包含 50+ REST API 端点、WebSocket 会话管理、OIDC 认证、数据库集成
- Operator 约 2500 行,负责 CRD 监听、Deployment 生命周期、PVC 管理、TTL 自动缩容
- Agent 和 CLI 的 WebSocket 隧道、Yamux 多路复用、OAuth2 认证
Claude Code 作为开发主力
整个项目开发过程中 Claude Code 是绝对主力:
- 架构设计和代码实现:从连接模型到数据库 Schema ,大量核心逻辑由 CC 生成和迭代
- 功能测试和 Debug:使用 Claude Code + Chrome 插件 (Claude in Chrome) 直接在浏览器中进行端到端测试,发现 bug 后直接在 CC 中修复,形成"测试-发现-修复"的闭环
- 文档生成:README 、架构文档、部署指南等也由 CC 完成
- Kubernetes 部署清单、Helm Chart 、Terraform 模块的编写和调试
快速体验
5 分钟本地部署(需要 Linux 机器或 VM ):
安装 k3s
curl -sfL https://get.k3s.io | sh -
获取 IP 地址
IP=$(hostname -I | awk '{print $1}')
安装 Helm
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-4 | bash
部署 KubeRDE
cat /etc/rancher/k3s/k3s.yaml > ~/.kube/config
helm upgrade --install kuberde oci://ghcr.io/xsoloking/charts/kuberde
-f https://raw.githubusercontent.com/xsoloking/kube-rde/main/charts/kuberde/values-http.yaml
--namespace kuberde --create-namespace
--set global.domain=$IP.nip.io
--set global.keycloakDomain=sso.$IP.nip.io
--set global.agentDomain=$IP.nip.io
--set global.protocol=http
访问 http://$IP.nip.io
默认账号: admin / password
详细部署视频: https://youtu.be/aeXvcPuDAYQ
一些体会
- Vibe Coding 适合原型到产品的路径:从 UI 设计 (Stitch) -> 前端生成 (AI Studio) -> 后端实现 (Gemini + Claude Code),这个流程走通后,独立开发者也能快速搭出一个功能完整的平台
- Claude Code + Chrome 插件的组合很强:可以直接在终端里操作浏览器做功能测试,发现问题立刻修代码,省去了大量在浏览器和编辑器之间切换的时间
- AI 生成的代码需要人工把关架构:AI 擅长实现具体功能,但整体架构、安全模型、错误处理的边界情况仍然需要人来把控
- Kubernetes Operator 这类复杂逻辑适合 AI 辅助:CRD 监听、Reconcile 循环、状态管理这些模式化的代码,AI 生成的质量相当不错
项目完全开源 (MIT),欢迎 Star 、Issue 、PR 。