最近我开发了一款轻量级的 Kubernetes 多集群管理工具,叫 kubemux。这是一款专为 Kubernetes 管理优化的终端复用器封装工具,支持 tmux
和 zellij
,帮助开发者高效管理多集群环境。
tmux
和 zellij
brew install corvofeng/tap/kubemux
通过 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)
mkdir ~/.tmuxinator
echo '
name: kubemux
root: "~/"
windows:
- p1:
- ls
- pwd
- p2:
- pwd
- echo "hello world"
- p3: htop
' > ~/.tmuxinator/kubemux.yml
kubemux -p kubemux
欢迎大家提 PR !有任何改进建议,也可以通过 Issues 讨论。
项目使用 MIT 协议。
希望大家喜欢这个工具,欢迎试用并反馈意见! 🎉
1
gyms 17 天前
已 star😀
|
2
hongyexiaoqing 17 天前
没感觉有什么提高效率的
|
3
DefoliationM 17 天前 1
同楼上,感觉不如 k9s,反而还要多学一套命令。
|
4
GeekGao 17 天前
没有学习它的欲望,不如使用 Lens ,点鼠标就能搞定大部分事
|
5
wunonglin 17 天前 via iPhone 1
lens 好用很多
|
6
corvofeng OP @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 的功能 |
7
gerorim 17 天前 via iPhone
Web 和终端又不会冲突,Web 也可以通过 ws 实现类终端的体验。而且统一的界面和后端也有利于集群管管理( yaml 编辑器、证书,缓存,事件)、鉴权和审计,一些常见的错误在表单检验时可以排除掉,可能命令行角度来讲,上限更高,但是从公司层面(大中厂应该都有自研的,或魔改 rancher ),Web 拉低 k8s 入门的门槛,尽量使得每个人的经验内化成代码(比如批量下线 pod 的 Shell 脚本变成 client-go 代码,kube config 拉取改成点击按钮,提供批量 pod 执行临时脚本的能力,提供类似 postman 的界面用于调试微服务接口,跟已有的 CI/CD ,工单,监控系统集成联动),这样长期来说操作风险更低,服务更稳定。
|