V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
SoloKing

KubeRDE - 用 Vibe Coding 从零构建的 Kubernetes 远程开发环境平台

  •  
  •   SoloKing · 2 月 24 日 · 950 次点击
    这是一个创建于 51 天前的主题,其中的信息可能已经有所发展或是发生改变。

    项目简介

    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

    一些体会

    1. Vibe Coding 适合原型到产品的路径:从 UI 设计 (Stitch) -> 前端生成 (AI Studio) -> 后端实现 (Gemini + Claude Code),这个流程走通后,独立开发者也能快速搭出一个功能完整的平台
    2. Claude Code + Chrome 插件的组合很强:可以直接在终端里操作浏览器做功能测试,发现问题立刻修代码,省去了大量在浏览器和编辑器之间切换的时间
    3. AI 生成的代码需要人工把关架构:AI 擅长实现具体功能,但整体架构、安全模型、错误处理的边界情况仍然需要人来把控
    4. Kubernetes Operator 这类复杂逻辑适合 AI 辅助:CRD 监听、Reconcile 循环、状态管理这些模式化的代码,AI 生成的质量相当不错

    项目完全开源 (MIT),欢迎 Star 、Issue 、PR 。

    GitHub: https://github.com/xsoloking/kube-rde

    目前尚无回复
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   4363 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 71ms · UTC 00:10 · PVG 08:10 · LAX 17:10 · JFK 20:10
    ♥ Do have faith in what you're doing.