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

47 天前
 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 协议

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

1287 次点击
所在节点    程序员
7 条回复
gyms
47 天前
已 star😀
hongyexiaoqing
47 天前
没感觉有什么提高效率的
DefoliationM
47 天前
同楼上,感觉不如 k9s,反而还要多学一套命令。
GeekGao
47 天前
没有学习它的欲望,不如使用 Lens ,点鼠标就能搞定大部分事
wunonglin
47 天前
lens 好用很多
corvofeng
46 天前
@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
46 天前
Web 和终端又不会冲突,Web 也可以通过 ws 实现类终端的体验。而且统一的界面和后端也有利于集群管管理( yaml 编辑器、证书,缓存,事件)、鉴权和审计,一些常见的错误在表单检验时可以排除掉,可能命令行角度来讲,上限更高,但是从公司层面(大中厂应该都有自研的,或魔改 rancher ),Web 拉低 k8s 入门的门槛,尽量使得每个人的经验内化成代码(比如批量下线 pod 的 Shell 脚本变成 client-go 代码,kube config 拉取改成点击按钮,提供批量 pod 执行临时脚本的能力,提供类似 postman 的界面用于调试微服务接口,跟已有的 CI/CD ,工单,监控系统集成联动),这样长期来说操作风险更低,服务更稳定。

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

https://tanronggui.xyz/t/1095814

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

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

© 2021 V2EX