推荐一款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芯片都支持)。

两种方式下载:

  1. 前往 官网 下载最新版
  2. 前往 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之后再使用它你会喜欢上这个功能,特别是对管理一些存储JsonShell等格式的内容时,可视化编辑管理在日常使用中是很有用的。

添加新的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提供了两种解决方案

  1. 连接时使用Namespace ,其实就是前缀,即连接后只管理某个前缀之后的Keys

  2. 读取Key时设置分页大小,每次拉取至多拉取一定数量的Keys,默认分页大小为5000

当Etcd Server存储的Keys数量超过分页大小时就会在这个界面出现一个 Load More 按钮,点击这个按钮就可以继续加载下一页,直到将所有Keys加载完

Lease管理

在Lease管理界面可以查看所有当前生效的租约ID,在这里可以创建和删除租约ID

如果某个Key绑定了租约ID,在查看Key时也会显示倒计时和对应租约的ID

用户管理

如果你连接的Etcd Server账号拥有相应的权限,可以打开用户管理界面,否则是打不开的,进入界面后会就可以新增用户、删除用户、授权角色、改用户密码

在这里也可以控制身份验证的开关,分别对应 Auth EnableAuth Disable 两个按钮。

角色权限管理

和用户管理一样,如果你的账号拥有相应权限就可以打开这个界面,进入后可以新增角色、删除角色、授予权限、回收权限


设置

在App的设置里面可以控制一些连接相关的参数,这个根据自己的情况修改就好了,一般默认即可。如果你有一些连接信息需要迁移到别的设备的Etcd Workbench,可以在这里导出连接配置为一个文件,到另一台电脑里面打开Etcd Workbench同样在这里选择导入配置即可完成配置迁移。

另外就是Keys管理和主题的一些设置,前面Keys管理有讲到这里就不再赘述了。

有什么需求或者Bug可以在GitHub提交issue,也可以直接联系这个客户端的作者。

相关推荐
gma99914 小时前
brpc 与 Etcd 二次封装
数据库·c++·rpc·etcd
Clown953 天前
go-zero(七) RPC服务和ETCD
rpc·golang·etcd
稻草人ZZ4 天前
etcd部署(基于v3.5.15)
数据库·etcd
风霜不见闲沉月7 天前
golang使用etcd版本问题
开发语言·golang·etcd
低调沉稳7 天前
k8s1.21.1 etcd服务备份恢复
容器·kubernetes·etcd
xserver210 天前
Openstack9--安装etcd分布式键-值对存储系统
数据库·分布式·openstack·etcd
ZHOU西口15 天前
微服务实战系列之玩转Docker(十八)
分布式·docker·云原生·架构·数据安全·etcd·rbac
ZHOU西口20 天前
微服务实战系列之玩转Docker(十六)
分布式·docker·云原生·架构·etcd·配置中心
forestqq23 天前
构建后端为etcd的CoreDNS的容器集群(七)、编写适合阅读的域名管理脚本
运维·数据库·etcd