推荐一款ETCD桌面客户端——Etcd Workbench
Etcd Workbench
我相信很多人在开始管理ETCD的时候都去搜了Etcd客户端工具,然后找到了官方的Etcd Manager,但用完之后发现它并不好用,还不支持多连接和代码格式化,并且已经好几年不更新了,于是市面上就有了好多其他客户端工具,Etcd Workbench就是其中为数不多好用且免费的一个,下面来介绍一下。
前面一篇文章介绍了这个工具的Web版部署方式和使用方法,前段时间这个工具新出了PC端的App,App版有更全的功能(部分功能在Web版没有),使用体验也更好。同时App版是使用以主打安全的编程语言Rust开发,意味着它将更安全、性能更好、资源消耗更少,今天就来介绍一下App版的使用。
下载
App版下载也是免费的,并且包体积非常小,只有4~5M,目前支持了Windows版和Mac版(英特尔芯片和Arm芯片都支持)。
两种方式下载:
- 前往 官网 下载最新版
- 前往 GitHub 下载,注意需要下载标签为App前缀的才是PC版
安装
安装的时候注意一下,如果你的电脑是Windows,并且没有装Edge或者Webview2,那建议你先去微软官方下载安装Webview2(传送门:Webview2官方下载),桌面版程序依赖Webview2这个系统组件,通常Win10/11都是有的,除非你是低版本的Windows或者你主动卸载了Edge和Webview2。
当然如果你在没有Webview2的情况下直接安装Etcd Workbench也是可以的,安装程序在检测到你的系统缺少这个组件会自动到官方下载并安装,但这个方式体验有点不好,如果你的网络出现波动在下载过程中可能会出现“卡死”的现象,所以还是建议你自己去安装一下。
如果你的系统自带这个组件在安装的过程中会直接跳过,一分钟就安装完了。
连接Etcd Server
安装好之后直接打开就会进入这个界面,如果你的系统主题是亮色那打开的界面就是白色的,应用主题默认是跟随系统主题的,可以在设置里面自行设置。
App版支持了常规的身份认证和SSL连接,这个没什么说的,你按照提示添加相应证书就好了,这里需要提一下它同时还支持SSH Tunnel功能,这个是很多其他Etcd客户端没有的。
你可以将编辑好的连接信息加到Favorites列表里,下次连点击左侧存储的选项卡就可以直接连接了。
集群管理
连接进去就是集群管理界面,里面会显示整个Cluster的信息以及节点信息。在这个界面点击 Defragment 按钮执行碎片整理
点 Snapshot 按钮可以备份数据到本地
Key管理
点左侧的Key导航菜单进入键值管理界面,在这个界面可以查看并编辑Key的值,而且支持代码高亮,如果你使用过Etcd Manager之后再使用它你会喜欢上这个功能,特别是对管理一些存储Json、Shell等格式的内容时,可视化编辑管理在日常使用中是很有用的。
添加新的Key时可指定过期规则,支持设置TTL时间和绑定到指定Lease ID上。
常规删除(批量删除)Key、更新Key的功能都是有的,还提供了一个Copy And Save的快捷功能,可以让你快速从一个Key复制到另一个Key。
代码高亮&格式化
点右下角可以根据值内容选择代码高亮,但并不是所有格式的内容都可以高亮显示,比如你在连接kubernates的etcd的时候,有一些key存储的value格式是protobuf,二进制内容只能用Blob格式打开,如果用其他格式会出现乱码。
这个编辑器也支持一键格式化,快捷键是 Ctrl + Alt + L
,也可以在选择高亮语言的地方点击 Format 按钮进行格式化,提示一下并不是所有的语言都支持格式化,如果你的格式不正确,格式化时还会提示哪个位置不正确,使用还是很方便的,你可以去试一下。
编辑器主题
编辑器的主题也可以根据自己喜好选择,每个主题都提供了几种编辑器主题
历史版本对比
Etcd Workbench支持查看并对比历史版本的修改,就和你平时Git提交时查看Diff一样,选择一个有修改记录的Key然后点Version Diff按钮即可打开。
提示:如果你的Key没有修改过,或者修改过但是历史版本已经被压缩,就会提示这个无法查看
分页读取
如果你的Etcd存储的Key非常多,一次性拉取会导致Etcd Server压力过大,同时页面也会变卡,面对这个问题Etcd Workbench提供了两种解决方案
-
连接时使用Namespace,其实就是前缀,即连接后只管理某个前缀之后的Keys
-
读取Key时设置分页大小,每次拉取至多拉取一定数量的Keys,默认分页大小为5000
当Etcd Server存储的Keys数量超过分页大小时就会在这个界面出现一个 Load More 按钮,点击这个按钮就可以继续加载下一页,直到将所有Keys加载完
Lease管理
在Lease管理界面可以查看所有当前生效的租约ID,在这里可以创建和删除租约ID
如果某个Key绑定了租约ID,在查看Key时也会显示倒计时和对应租约的ID
用户管理
如果你连接的Etcd Server账号拥有相应的权限,可以打开用户管理界面,否则是打不开的,进入界面后会就可以新增用户、删除用户、授权角色、改用户密码
在这里也可以控制身份验证的开关,分别对应 Auth Enable 和 Auth Disable 两个按钮。
角色权限管理
和用户管理一样,如果你的账号拥有相应权限就可以打开这个界面,进入后可以新增角色、删除角色、授予权限、回收权限
设置
在App的设置里面可以控制一些连接相关的参数,这个根据自己的情况修改就好了,一般默认即可。如果你有一些连接信息需要迁移到别的设备的Etcd Workbench,可以在这里导出连接配置为一个文件,到另一台电脑里面打开Etcd Workbench同样在这里选择导入配置即可完成配置迁移。
另外就是Keys管理和主题的一些设置,前面Keys管理有讲到这里就不再赘述了。
有什么需求或者Bug可以在GitHub提交issue,也可以直接联系这个客户端的作者。