ku 是一个用 Go 编写的快速、键盘驱动的 Kubernetes 终端 TUI 工具,类似 k9s、Lens 和 lazygit。它允许开发者和 DevOps 工程师在不离开终端的情况下浏览 Kubernetes 资源、查看 YAML、跟踪日志、编辑对象、执行 kubectl 命令预览、进入 Pod/Node Shell、扩缩容、重启工作负载和触发 CronJob。项目采用 MIT 许可证,目前 GitHub 约 341 stars,适合偏好终端工作流的 Kubernetes 用户。
适用领域
Kubernetes / DevOps / 云原生 / 终端工具 / TUI / 集群运维 / 容器平台 / 开发者效率工具
配置难度
中等。对于已经熟悉 kubectl 和 Kubernetes 基础概念的开发者,上手较快;但要安全使用编辑、删除、Shell、节点操作等功能,需要理解 RBAC、命名空间、资源类型和集群操作风险。自定义 CRD 侧边栏需要一定 Kubernetes API 资源命名知识。
商业价值
未知
01
技术亮点
- 默认只读模式,编辑、删除、重启、扩缩容、Shell 等危险操作默认禁用,适合生产环境查看
- 支持一键切换编辑模式,Shift+E 可在只读与编辑模式之间切换
- 提供开发者模式 --dev,可隐藏集群管理员资源,适合只管理业务应用的开发者
- 启动时提供 Cockpit 概览,包括集群健康、节点资源、Pod/Deployment 状态和近期告警
- 支持服务端渲染资源表格,展示与 kubectl get 类似的列,包括 CRD
- 界面布局类似 lazygit,左侧资源导航,Tab 在面板间切换,底部状态栏显示当前可用快捷键
- 可在 TUI 内完成 YAML 查看、日志查看、编辑、删除、扩缩容、重启、CronJob 触发等常见操作
- 支持打开 Pod 或 Node Shell,便于现场调试
- 支持自定义侧边栏,可添加常用 CRD
- C 键可显示等价 kubectl 命令,有助于学习、审计和复制命令
- O 键可打开已知 Kubernetes 资源的官方文档
- 可记住上一次使用的 context 和 namespace
- MIT 许可证,商业使用限制较少
02
目标用户
- Kubernetes 应用开发者
- DevOps 工程师
- SRE 工程师
- 平台工程师
- 云原生运维人员
- 习惯使用 kubectl 的终端用户
- 希望替代或补充 k9s/Lens 的用户
03
配置要求
- 构建源码需要 Go 1.26.3 或更高版本
- 运行 ku 需要本机 kubeconfig 配置正确,并能访问目标 Kubernetes 集群
- 默认读取 Kubernetes 当前 context
- 可选配置文件路径为 ~/.config/ku/config.yaml
- 会话状态保存在 ~/.config/ku/state.json
- 如需自定义侧边栏,执行 ku config init 生成默认配置
- 使用 ku config path 可查看配置文件路径
- CRD 默认不会显示在侧边栏,需要手动添加到 sidebar 配置中
- CRD resource 字段支持 plural、singular、kind、short name 或 group-qualified key,推荐使用 <plural>.<group> 避免歧义
- 修改配置后需要重启 ku 生效
04
适用场景
- 在终端中快速浏览 Pod、Deployment、Service、ConfigMap、Secret 等 Kubernetes 资源
- 查看集群健康状况、节点 CPU/内存、Pod 和 Deployment 状态、近期 Warning 事件
- 跟踪 Pod 日志并排查应用问题
- 查看或编辑 Kubernetes 对象 YAML
- 进入 Pod 或 Node Shell 进行调试
- 执行 Deployment 重启、扩缩容、删除资源、触发 CronJob 等操作
- 以只读模式安全查看生产集群,避免误操作
- 通过开发者模式隐藏节点、PV、StorageClass、Namespace 等集群管理员资源
- 通过自定义配置将 CRD 添加到侧边栏,例如 KEDA ScaledObject、cert-manager Certificate、OpenTelemetry 资源
- 查看当前操作对应的 kubectl 命令,帮助学习或审计操作
05
部署与配置
- 方式一:使用官方安装脚本安装最新版本:curl -fsSL https://raw.githubusercontent.com/bjarneo/ku/main/install.sh | sh
- 方式二:使用 Go 安装:go install github.com/bjarneo/ku@latest
- 方式三:从源码构建:克隆仓库后执行 make install,或执行 go build -o ku .
- 运行前确保本机已有可访问的 Kubernetes 集群,并已配置 kubeconfig
- 启动当前上下文:ku
- 指定命名空间启动:ku -n kube-system
- 指定资源类型启动:ku --resource deploy
- 使用 Tokyo Night 主题启动:ku --theme tokyonight
- 默认只读模式启动,如需编辑模式可使用:ku --edit
- 开发者视图启动:ku --dev
- 升级当前二进制文件:ku upgrade
06
风险与注意事项
- 项目 star 数约 341,社区规模相对 k9s 等成熟工具较小,生态和长期维护能力需要观察
- README 中声明构建需要 Go 1.26.3+,该版本要求较新,可能影响部分开发环境
- 通过 curl | sh 安装脚本存在供应链风险,企业环境建议审查脚本或使用源码构建
- 进入编辑模式后可执行删除、扩缩容、重启、Shell 等高风险操作,需要严格控制 Kubernetes RBAC 权限
- CRD 需要手动配置到侧边栏,开箱即用程度不如部分自动发现工具
- 生产环境中使用 Shell into pod/node、drain、cordon 等操作时可能引发业务中断
- 终端 TUI 工具对键盘操作依赖较强,新用户需要熟悉快捷键
- 与 k9s 功能存在重叠,是否迁移取决于团队现有工作流和稳定性要求
2026-06-19
第26名
新收录 · github_search