Kubectl 的替代品:kubeman
周末闲逛 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的更多相关文章
- Atitit rss没落以及替代品在线阅读器
Atitit rss没落以及替代品在线阅读器 1.1. 对RSS的疯狂追逐,在2005年达到了一个高峰.1 1.2. Rss的问题,支持支rss,不支持url1 1.3. ,博客受到社交网络的冲击.s ...
- 安卓v7支持包下的ListView替代品————RecyclerView
RecyclerView这个控件也出来很久了,相信大家也学习的差不多了,如果还没学习的,或许我可以带领大家体验一把这个艺术般的控件. 项目已经同步至github:https://github.com/ ...
- nancy中视图呈现 Html.Partial(RenderPage的替代品)
在mvc中有RenderPage 用来呈现其他视图的内容,而在nancy中没有RenderPage.怎么办呢? mvc中RenderPage的替代品,就是 Html.Partial. 使用方式 @Ht ...
- 寻找Fragment的替代品的尝试
自从Android在3.0推出Fragment之后,现在很多应用的设计都是建立在Fragment的基础上,像是多个tab切换这种需求,就可以使用Fragment,并且Fragment提供了一系列生命周 ...
- Google Reader的另一个开源的替代品Go Read
Google Reader到7月1号退休了,于是出现了一批Google Reader的替代品,比如Google Reader Is Shutting Down; Here Are the Best A ...
- android listview 替代品recyclerview详解
安卓v7支持包下的ListView替代品————RecyclerView RecyclerView这个控件也出来很久了,相信大家也学习的差不多了,如果还没学习的,或许我可以带领大家体验一把这个艺术 ...
- Slack 开源替代品 Rocket.Chat(聊天,文件上传等等)
Rocket.Chat 是特性最丰富的 Slack 开源替代品之一. 主要功能:群组聊天,直接通信,私聊群,桌面通知,媒体嵌入,链接预览,文件上传,语音/视频 聊天,截图等等. Rocket.Chat ...
- Microsoft Message Analyzer (微软消息分析器,“网络抓包工具 - Network Monitor”的替代品)官方正式版现已发布
Microsoft Message Analyzer (微软消息分析器,“网络抓包工具 - Network Monitor”的替代品)官方正式版现已发布 来自官方日志的喜悦 被誉为全新开始的消息分析器 ...
- div的替代品
人们在标签使用中最常见到的错误之一就是随意将HTML5的<section>等价于<div>--具体地说,就是直接用作替代品(用于样式).在XHTML或者HTML4中,我们常看到 ...
随机推荐
- STP:生成树协议解决网络冗余问题
STP(Spanning Tree Protocol)是生成树协议的英文缩写,可应用于计算机网络中树形拓扑结构建立,主要作用是防止网桥网络中的冗余链路形成环路工作.但某些特定因素会导致STP失败,要排 ...
- Nginx02(环境配置以及基本使用)
一:Nginx环境配置 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet ...
- springboot项目打成jar包后台运行在linux上
背景:springboot2为为主体搭建的项目,直接打成jar包,上传到linux上面 启动项目:java -jar xx.jar 这样很方便,但是不能关闭窗口,否则项目就停了 后台启动: nohup ...
- 如何在docker镜像里安装pycuda和numba?
其实,安装numba还好,直接pip install numba就可以. 但pycuda就不那么友好了. 默认安装时,可能会报如下错误: src/:: fatal error: curand.h: N ...
- lf 前后端分离 (1) auth,token认证
一.关于登录验证 用户在登录的时候会通过验证以及滑动解锁,注意的是需要后端if verify(request.data): 来判断是否发送了那三个验证数据 通过 random_str=str(uuid ...
- 201871010136-赵艳强《面向对象程序设计(java)》第十四周学习总结
201871010136-赵艳强<面向对象程序设计(java)>第十四周学习总结 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh ...
- HTML与CSS学习笔记(2)
1.CSS背景样式? background-color 背景色 background-image 背景图 url(背景地址) 默认:会水平垂直铺满背景图 background-repeat 平铺方式 ...
- Linux简单命令的使用
1.linux上怎么快速删除一个目录在linux中删除一个目录很简单,很多人还是习惯用rmdir,不过一旦目录非空,就陷入深深的苦恼之中,现在使用rm -rf命令即可解决.直接rm就可以了,不过要加两 ...
- 论文阅读笔记五十八:FoveaBox: Beyond Anchor-based Object Detector(CVPR2019)
论文原址:https://arxiv.org/abs/1904.03797 摘要 FoveaBox属于anchor-free的目标检测网络,FoveaBox直接学习可能存在的图片种可能存在的目标,这期 ...
- Aliyun STS Java SDK示例
package com.aliyun.oss.demo; import com.aliyuncs.DefaultAcsClient; import com.aliyuncs.exceptions.Cl ...