你是否想学习 Kubernetes,却被复杂的环境搭建劝退?是否想为技术文档或培训课件嵌入一个可交互的集群演示,却苦于维护真实集群的成本太高?Webernetes 正是为此而生——它把 Kubernetes 的核心逻辑“搬进”了浏览器,不依赖任何后端服务,打开网页就能启动一个可操作、可调试的迷你集群。它不是远程连接真实集群,也不是 Docker 桌面版的简化界面,而是一个完全运行在前端的、用 TypeScript 实现的 Kubernetes 运行时模拟器。
核心功能
- 纯前端运行:整个 Kubernetes 控制平面(包括 API Server、Scheduler、Controller Manager)均在浏览器中通过 WebAssembly 和 JS 模拟执行,无需安装 k3s、minikube 或云资源
- 真实 API 兼容体验:支持标准 kubectl 命令(通过内置 CLI 模拟器),能创建 Pod、Deployment、Service 等常见资源,返回符合 Kubernetes OpenAPI 规范的响应结构
- 可视化状态反馈:实时渲染集群拓扑图、Pod 生命周期状态(Pending → Running → Succeeded)、事件日志和资源调度过程,让抽象概念一目了然
- 自定义镜像模拟:开发者可通过继承
BaseImage类,用 TypeScript 编写“虚拟容器”的启动逻辑(如模拟 HTTP 服务、定时任务或失败重试),无需构建真实 Docker 镜像 - 零配置快速演示:官方提供在线 Demo(webernetes-demo.ngrok.app),3 秒加载即用,适合教学、分享和文档嵌入
- 轻量可集成:作为 npm 包发布(
@ngrok/webernetes),可轻松嵌入 React/Vue 项目或静态网站,打造专属的交互式 Kubernetes 教程
适合哪些人用
如果你是 Kubernetes 初学者、技术文档作者、培训讲师、开源布道师,或是需要向非技术人员解释容器编排原理的产品/售前工程师——Webernetes 就是为你准备的“沙盒黑板”。它不追求生产级能力,而是专注降低认知门槛:学生可以反复删改 Deployment 观察扩缩容效果;讲师能在 PPT 中嵌入一个可点击的集群视图;技术博客作者能用几行代码生成带实时日志的交互示例。它尤其适合那些“只想讲清楚概念,不想花 2 小时配环境”的场景。
快速上手
最简单的方式:直接访问 在线 Demo,无需安装,开箱即用。
若需集成到自己的项目中,只需两步:
- 安装依赖:
npm install @ngrok/webernetes - 在 TypeScript 文件中初始化集群并部署一个模拟应用:
import { Cluster } from "@ngrok/webernetes"; const cluster = new Cluster(); cluster.start(); // 启动浏览器内集群 // 定义一个会每秒打印日志的“虚拟容器” class CounterImage extends BaseImage { async run(ctx: ProcessContext) { let count = 0; while (ctx.isRunning()) { ctx.log(`Count: ${++count}`); await new Promise(r => setTimeout(r, 1000)); } } } // 创建 Pod 并加入集群 cluster.createPod({ containers: [{ image: "counter:1.0" }] });
项目信息
Kubernetes in the browser.
360
Stars
22
Forks
TypeScript
Apache-2.0
编程语言:TypeScript|Star 数:360|开源协议:Apache-2.0|GitHub 项目地址
它虽小,却把 Kubernetes 最迷人的“声明式控制循环”和“控制器模式”浓缩成了一段可触摸、可调试、可分享的前端代码——这才是云原生教育该有的样子。


