周末闲逛 Twitter 时,发现一个颇有意思的小工具叫 kubeman
,野心却是不小,励志成为 kubectl
的替代品,用于实时监控和管理 kubernetes 集群,还能够调试与 Istio 相关的问题。git
若是只使用 kubectl,当网格中的服务出现问题时,可能须要运行不少命令,并且要交叉引用来自多个命令的输出信息,这就会致使问题分析的过程很复杂。kubeman 将这些交叉引用和相关信息分析的复杂逻辑隐藏起来,只暴露一个 UI 界面,针对每一种资源对象封装了一些经常使用的操做项,这样能够简化不少操做流程。github
安装很简单,到 release 页面下载相应的二进制,而后直接运行就行了。下面经过一个完整的示例来演示它的工做流程:工具
一、运行 kubeman 二进制文件。spa
二、点击 Select Cluster
菜单选择集群,还能够在 NAMESPACES
对话框中选择一个或多个 namespace,将后面操做项的会话限制在某些 namespace 中。3d
三、以前选择的集群 context 如今会显示在顶部。调试
四、左边一栏是菜单面板,操做项被按照不一样的资源类型进行分组,你能够从菜单组中选择一个要执行的操做项。code
五、因为操做项的数量很庞大,从中寻找咱们想要的操做项可能会很费劲,还好顶部有一个搜索框,你能够经过搜索来找到你想要的操做项,搜索结果会显示在 Matching Recipes
菜单中。component
六、某些操做项会作更进一步的筛选,例如 namesapce,service,pod 等。对象
七、右边是输出面板,用来捕获并显示全部操做项的输出。还提供了一些额外的操做:blog
一旦操做项运行并输出告终果,你就能够在输出面板顶部的搜索框里经过关键词搜索相应的文本。若是想删除搜索的关键词,能够按下键盘上的 esc
键。
每一个操做项的输出会按层级进行分组。最顶部的输出行(深蓝色)显示的是输出结果的标题,单击这一行会将整个输出折叠起来,只显示组和子组,这样就能够看到整个输出的概要。再次单击这一行就会显示整个输出。
同理,你能够单击某一个组来折叠这个组的输出,只显示子组。同理适用于子组。
不一样的子组下的输出均可以展开和折叠,你能够上下滚动来选择感兴趣的子组,而后单击展开输出。
八、有些操做项须要你在搜索框中输入关键词,而后才会显示输出。例如,操做项 Find component by IP
会等待你输入一个或多个 IP 地址,而后输出结果。此时搜索框扮演了两个角色,既做为输出结果的搜索框,也做为操做项的输入框。若是一个操做项支持输入,须要在输入的字符串前面加上 /
以代表这是操做项的输入。多个输入关键词能够用 ,
隔开。
九、有些操做项支持重复运行,一旦这些操做项执行完成,你就能在输出面板的顶部看到一个 ReRun
菜单,单击它就能够从新运行。你也能够在搜索框中输入命令 /r
来从新运行。
十、有些操做项支持状况输出结果,一旦这些操做项执行完成,你就能在输出面板的顶部看到一个 Clear
菜单,单击它就能够清理输出结果。你也能够在搜索框中输入命令 /clear
或者 /c
来清理输出结果。
十一、有些操做项支持自动按期执行,这些操做项的菜单栏中有一个 Auto Refresh
选项,还能够自定义执行周期,默认的周期是 15s。
十二、搜索框支持更高级的搜索语法,例如操做符 or
表示或,!
表示非。
总的来讲,kubeman 仍是很强大的,简直是个 k8s 集群调试神器,除了上面提到的功能以外,它支持窗口多开,窗口最大化,还能够选择暗黑主题,赶快试试吧!