周末闲逛 Twitter 时,发现一个很有意思的小工具叫 kubeman,野心倒是不小,励志成为 kubectl 的替代品,用于实时监控和管理 kubernetes 集群,还可以调试与 Istio 相关的问题。

如果只使用 kubectl,当网格中的服务出现问题时,可能需要运行很多命令,而且要交叉引用来自多个命令的输出信息,这就会导致问题分析的过程很复杂。kubeman 将这些交叉引用和相关信息分析的复杂逻辑隐藏起来,只暴露一个 UI 界面,针对每一种资源对象封装了一些常用的操作项,这样可以简化很多操作流程。

安装很简单,到 release 页面下载相应的二进制,然后直接运行就好了。下面通过一个完整的示例来演示它的工作流程:

1、运行 kubeman 二进制文件。

2、点击 Select Cluster 菜单选择集群,还可以在 NAMESPACES 对话框中选择一个或多个 namespace,将后面操作项的会话限制在某些 namespace 中。

3、之前选择的集群 context 现在会显示在顶部。

4、左边一栏是菜单面板,操作项被按照不同的资源类型进行分组,你可以从菜单组中选择一个要执行的操作项。

5、由于操作项的数量很庞大,从中寻找我们想要的操作项可能会很费劲,还好顶部有一个搜索框,你可以通过搜索来找到你想要的操作项,搜索结果会显示在 Matching Recipes 菜单中。

6、某些操作项会做更进一步的筛选,例如 namesapce,service,pod 等。

7、右边是输出面板,用来捕获并显示所有操作项的输出。还提供了一些额外的操作:

  • 一旦操作项运行并输出了结果,你就可以在输出面板顶部的搜索框里通过关键词搜索相应的文本。如果想删除搜索的关键词,可以按下键盘上的 esc 键。

  • 每个操作项的输出会按层级进行分组。最顶部的输出行(深蓝色)显示的是输出结果的标题,单击这一行会将整个输出折叠起来,只显示组和子组,这样就可以看到整个输出的概要。再次单击这一行就会显示整个输出。

  • 同理,你可以单击某一个组来折叠这个组的输出,只显示子组。同理适用于子组。
  • 不同的子组下的输出都可以展开和折叠,你可以上下滚动来选择感兴趣的子组,然后单击展开输出。

8、有些操作项需要你在搜索框中输入关键词,然后才会显示输出。例如,操作项 Find component by IP 会等待你输入一个或多个 IP 地址,然后输出结果。此时搜索框扮演了两个角色,既作为输出结果的搜索框,也作为操作项的输入框。如果一个操作项支持输入,需要在输入的字符串前面加上 / 以表明这是操作项的输入。多个输入关键词可以用 , 隔开。

9、有些操作项支持重复运行,一旦这些操作项执行完成,你就能在输出面板的顶部看到一个 ReRun 菜单,单击它就可以重新运行。你也可以在搜索框中输入命令 /r 来重新运行。

10、有些操作项支持情况输出结果,一旦这些操作项执行完成,你就能在输出面板的顶部看到一个 Clear 菜单,单击它就可以清理输出结果。你也可以在搜索框中输入命令 /clear 或者 /c 来清理输出结果。

11、有些操作项支持自动定期执行,这些操作项的菜单栏中有一个 Auto Refresh 选项,还可以自定义执行周期,默认的周期是 15s。

12、搜索框支持更高级的搜索语法,例如操作符 or 表示或,! 表示非。

总的来说,kubeman 还是很强大的,简直是个 k8s 集群调试神器,除了上面提到的功能之外,它支持窗口多开,窗口最大化,还可以选择暗黑主题,赶快试试吧!

Kubectl 的替代品:kubeman的更多相关文章

  1. Atitit rss没落以及替代品在线阅读器

    Atitit rss没落以及替代品在线阅读器 1.1. 对RSS的疯狂追逐,在2005年达到了一个高峰.1 1.2. Rss的问题,支持支rss,不支持url1 1.3. ,博客受到社交网络的冲击.s ...

  2. 安卓v7支持包下的ListView替代品————RecyclerView

    RecyclerView这个控件也出来很久了,相信大家也学习的差不多了,如果还没学习的,或许我可以带领大家体验一把这个艺术般的控件. 项目已经同步至github:https://github.com/ ...

  3. nancy中视图呈现 Html.Partial(RenderPage的替代品)

    在mvc中有RenderPage 用来呈现其他视图的内容,而在nancy中没有RenderPage.怎么办呢? mvc中RenderPage的替代品,就是 Html.Partial. 使用方式 @Ht ...

  4. 寻找Fragment的替代品的尝试

    自从Android在3.0推出Fragment之后,现在很多应用的设计都是建立在Fragment的基础上,像是多个tab切换这种需求,就可以使用Fragment,并且Fragment提供了一系列生命周 ...

  5. Google Reader的另一个开源的替代品Go Read

    Google Reader到7月1号退休了,于是出现了一批Google Reader的替代品,比如Google Reader Is Shutting Down; Here Are the Best A ...

  6. android listview 替代品recyclerview详解

    安卓v7支持包下的ListView替代品————RecyclerView   RecyclerView这个控件也出来很久了,相信大家也学习的差不多了,如果还没学习的,或许我可以带领大家体验一把这个艺术 ...

  7. Slack 开源替代品 Rocket.Chat(聊天,文件上传等等)

    Rocket.Chat 是特性最丰富的 Slack 开源替代品之一. 主要功能:群组聊天,直接通信,私聊群,桌面通知,媒体嵌入,链接预览,文件上传,语音/视频 聊天,截图等等. Rocket.Chat ...

  8. Microsoft Message Analyzer (微软消息分析器,“网络抓包工具 - Network Monitor”的替代品)官方正式版现已发布

    Microsoft Message Analyzer (微软消息分析器,“网络抓包工具 - Network Monitor”的替代品)官方正式版现已发布 来自官方日志的喜悦 被誉为全新开始的消息分析器 ...

  9. div的替代品

    人们在标签使用中最常见到的错误之一就是随意将HTML5的<section>等价于<div>--具体地说,就是直接用作替代品(用于样式).在XHTML或者HTML4中,我们常看到 ...

随机推荐

  1. VS2010 报错该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失

    尤其代码是从linux平台复制过来: 报错如图: 更有甚者基本函数都报错: 当下检查发现if else break case等基本函数并无问题时,报错行数明显不一致等一定要注意文档编码格式, 最简单的 ...

  2. c# Hashtable Synchronized vs SyncRoot

    Synchronized vs SyncRoot 我们知道,在.net的一些集合类型中,譬如Hashtable和ArrayList,都有Synchronized静态方法和SyncRoot实例方法,他们 ...

  3. 数据库系统(五)---MySQL基础

    一.SQL基本概念: SQL 已经成为关系数据库的标准语言,是一种数据库查询和程序设计语言,用 于存取数据以及查询.更新和管理关系数据库系统. 功能不仅仅是查询,还包括数据定义.数据操纵和数据控制等于 ...

  4. Dubbo启动,调用方法失败【问题:调用超时】

    今天,启动dubbo,开始写项目. 在一个调用dubbo里面的一个方法时,程序一直调用,每次显示报红. 很难搞. 问题代码 com.alibaba.dubbo.rpc.RpcException: Fa ...

  5. linux下c语言实现多线程文件复制【转】

    转自:https://www.cnblogs.com/zxl0715/articles/5365989.html .具体思路 把一个文件分成N份,分别用N个线程copy, 每个线程只读取指定长度字节大 ...

  6. Jquery ajax 同步阻塞引起的UI线程阻塞的坑(loading图片显示不出来,layer.load延迟)

    今天想做一个点击地市用ajax重新获取数据刷新页面功能,因为ajax属于耗时操作,想在获取数据且加载页面时显示加载遮罩层,结果发现了ajax的好多坑. 例如如上栗子,我想点击按钮让遮罩层显示,ajax ...

  7. 201871010111-刘佳华《面向对象程序设计(java)》第二周学习总结

    201871010111-刘佳华<面向对象程序设计(java)>第二周学习总结 项目 内容 这个作业属于哪个课程 <https://www.cnblogs.com/nwnu-daiz ...

  8. day13_7.15 迭代器和生成器

    1.迭代器 迭代就是一个更新换代的过程,每次迭代都必须基于上一次的结果. 迭代器就是迭代取值的工具.举个例子: while True: print('循环输出') 此代码会无限循环输出文字,是个死循环 ...

  9. 【转】前后端分离的项目如何部署发布到Linux

    前后端分离的项目如何部署发布到Linux 前期准备 1.服务器的基本配置信息2.本机远程连接服务器的工具(xshell.xftp或者mobaXterm等等,看你自己喜欢) 第一步:部署环境 1.安装j ...

  10. Java8——Optional

    /* * 一.Optional 容器类:用于尽量避免空指针异常 * Optional.of(T t) : 创建一个 Optional 实例 * Optional.empty() : 创建一个空的 Op ...