轻松管理多 Kubernetes 集群:试试 kubemux 吧

2024 年 12 月 7 日
 corvofeng

最近我开发了一款轻量级的 Kubernetes 多集群管理工具,叫 kubemux。这是一款专为 Kubernetes 管理优化的终端复用器封装工具,支持 tmuxzellij,帮助开发者高效管理多集群环境。


功能亮点


安装方法

MacOS

brew install corvofeng/tap/kubemux

Linux

通过 https://github.com/marcosnils/bin:

bin install https://github.com/corvofeng/kubemux ~/usr/bin

或者直接使用二进制文件:

cd /tmp
wget https://github.com/corvofeng/kubemux/releases/latest/download/kubemux_linux_amd64.tar.gz
tar -zxvf kubemux_linux_amd64.tar.gz
sudo install -v kubemux /usr/local/bin

快速上手

配置集群

ls ~/.kube
# pve-kube.config xxx

kubemux kube --kube pve-kube.config

# 建议启用自动补全功能:
source <(kubemux completion bash)
source <(kubemux completion zsh)

配置 tmuxinator

mkdir ~/.tmuxinator

echo '
name: kubemux
root: "~/"
windows:
  - p1:
    - ls
    - pwd
  - p2:
    - pwd
    - echo "hello world"
  - p3: htop
' > ~/.tmuxinator/kubemux.yml

kubemux -p kubemux

文档与博客


Demo 演示

管理 Kubernetes 配置

支持 tmuxinator

支持 zellij


开源与贡献

欢迎大家提 PR !有任何改进建议,也可以通过 Issues 讨论。

项目使用 MIT 协议

希望大家喜欢这个工具,欢迎试用并反馈意见! 🎉

2112 次点击
所在节点    程序员
7 条回复
gyms
2024 年 12 月 7 日
已 star😀
hongyexiaoqing
2024 年 12 月 7 日
没感觉有什么提高效率的
DefoliationM
2024 年 12 月 7 日
同楼上,感觉不如 k9s,反而还要多学一套命令。
R4rvZ6agNVWr56V0
2024 年 12 月 8 日
没有学习它的欲望,不如使用 Lens ,点鼠标就能搞定大部分事
shakaraka
2024 年 12 月 8 日
lens 好用很多
corvofeng
2024 年 12 月 8 日
@hongyexiaoqing @DefoliationM @GeekGao @wunonglin

谢谢你们反馈, 找到适合自己的工具就可以. 我补充下开发的背景:

它的出现是因为我是 tmux 的重度用户, 也因为工作需要用了一段时间 tmuxinator, 后来没法很好的满足要求, 所以去年才编写了这个工具.

https://corvo.myseu.cn/2023/12/27/2023-12-26-kubemux%E7%9A%84%E5%BC%80%E5%8F%91%E4%B8%8E%E4%BD%BF%E7%94%A8/#Kuberentes-%E5%A4%9A%E9%9B%86%E7%BE%A4%E7%AE%A1%E7%90%86%E6%96%B9%E6%A1%88

如果没有深度的命令行需求, 的确 UI 工具就足够了, 这是我平时会有的使用场景:

> 使用 tmux 是为了能够并发的在同一个集群执行多个任务, 比如我开一个窗口跑 k9s, 另一个窗口 exec 到其中一个 pod, 再来一个窗口 port-forward, 这样不仅能同时执行多种任务, 而且可以保留在后台中, 方便 attach

> 使用 tmuxinator/kubmux 是为了能够安全方便的切换多个集群, 我们平时管理的正式集群就有十几个, 在我看来使用 KUBECONFIG 提供的 context 切换风险太高了. 这两个工具能提供完全独立的环境, attach 进去, 可以方便的创建相同环境的终端

其实管理 K8s 集群只是它的一个特性, 包括使用模板快速初始化自己的命令行环境, 还有针对 aws 云环境自动 pull kubeconfig 的功能
gerorim
2024 年 12 月 8 日
Web 和终端又不会冲突,Web 也可以通过 ws 实现类终端的体验。而且统一的界面和后端也有利于集群管管理( yaml 编辑器、证书,缓存,事件)、鉴权和审计,一些常见的错误在表单检验时可以排除掉,可能命令行角度来讲,上限更高,但是从公司层面(大中厂应该都有自研的,或魔改 rancher ),Web 拉低 k8s 入门的门槛,尽量使得每个人的经验内化成代码(比如批量下线 pod 的 Shell 脚本变成 client-go 代码,kube config 拉取改成点击按钮,提供批量 pod 执行临时脚本的能力,提供类似 postman 的界面用于调试微服务接口,跟已有的 CI/CD ,工单,监控系统集成联动),这样长期来说操作风险更低,服务更稳定。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1095814

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX