周末闲逛 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. git did not exit cleanly (exit code 1) 的解决办法

    问题描述: 关于Git的使用,在通常情况下,习惯于先在本地创建一个本地仓库,然后将项目提交到本地master,再将本地master中的项目Push 到远程仓库中,这样问题就来了. 具体错误信息如下: ...

  2. 消息服务dubbo接口性能压测性能优化案例

    最近项目中的消息服务做了运营商的改动,导致这个服务做了重新开发 压测脚本如下: 开启200线程压测: tps只有200-300之间,平均耗时在700ms左右 开启500线程压测 500并发压测,发现平 ...

  3. python 树与二叉树的实现

    1.树的基本概念 1.树的定义 树的定义是递归的,树是一种递归的数据结构. 1)树的根结点没有前驱结点,除根结点之外所有结点有且只有一个前驱结点 2)树中所有结点可以有零个或多个后继结点 2.树的术语 ...

  4. Windows 10 Java开发环境配置

    一.JDK下载 安装java开发环境,第一步就是下载jdk安装包.打开浏览器进入oracle官网下载.这里注意jdk和jre的区别,jdk(java develop environment)是java ...

  5. sqlmap 注入的方法及技巧

    sqlmap 注入的方法及技巧 当给 sqlmap 这么一个 url 的时候,它会: 1.判断可注入的参数 2.判断可以用那种 SQL 注入技术来注入 3.识别出哪种数据库 4.根据用户选择,读取哪些 ...

  6. 3.2 Spark运行架构

    一.基本概念 1.RDD Resillient Distributed Dataset 弹性分布式数据集 2.DAG 反映RDD之间的依赖关系 3.Executor 进程驻守在机器上面,由进程派生出很 ...

  7. os模块补充以及序列化模块

    os模块补充以及序列化模块   一.os模块的补充 1.os.path.abspath 能把存在的相对路径的绝对路径显示出来 path = os.path.abspath("连达day19. ...

  8. zookeper分布式搭建1

    1.zookeper的下载与安装,见:https://www.cnblogs.com/wanerhu/p/11144815.html 2.准备三台centos,进入etc/hosts 3.编辑内容 映 ...

  9. Java高级-反射

    1.如何创建Class的实例 1.1过程:源文件经过编译(javac.exe)以后,得到一个或者多个.class文件..class文件经过运行(java.exe)这步,就需要进行类的加载(通过JVM的 ...

  10. 安装禅道提示:ERROR: 您访问的域名 192.168.110.128 没有对应的公司

    您访问的域名 192.168.110.128 没有对应的公司. in /usr/local/nginx/html/zentaopms/module/common/model.php on line 8 ...