推荐一款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,也可以直接联系这个客户端的作者。

相关文章:
推荐一款ETCD桌面客户端——Etcd Workbench
Etcd Workbench 我相信很多人在开始管理ETCD的时候都去搜了Etcd客户端工具,然后找到了官方的Etcd Manager,但用完之后发现它并不好用,还不支持多连接和代码格式化,并且已经好几年不更新了,于是市面上就有了好多其他客…...
01 Oracle 数据库存储结构深度解析:从数据文件到性能优化的全链路探究
文章目录 Oracle 数据库存储结构深度解析:从数据文件到性能优化的全链路探究一、Oracle存储结构的物理层次1.1 控制文件(Control File)1.2 联机重做日志文件(Online Redo Log File)1.3 数据文件(Data File&…...
AI教育革命:个性化学习的新篇章
内容概要 在 教育 领域,人工智能 的崭露头角带来了前所未有的变化。如今,个性化学习 已不再是一个遥不可及的梦想,而是通过 AI 技术真正实现的可能。借助先进的数据分析能力,教师可以实时跟踪和评估每位学生的学习进度࿰…...
【网络原理】万字详解 UDP 和 TCP
🥰🥰🥰来都来了,不妨点个关注叭! 👉博客主页:欢迎各位大佬!👈 文章目录 1. UDP1.1 UDP 报文格式1.1.1 源端口/目的端口1.1.2 报文长度1.1.3 校验和 2. TCP2.1 TCP 报文结构2.2 TCP 特…...
从零开始搭建Halo个人博客
前言 老话说得好,好记性不如烂笔头。对于程序员来说,学无止境,需要学习的东西很多,而如果不记录下来可能过不了多久就忘记了,而记录下来这一步也能很好地贯彻费曼学习法。 其实网上有很多博客平台,但是自…...
AMD显卡低负载看视频掉驱动(chrome edge浏览器) 高负载玩游戏却稳定 解决方法——关闭MPO
2024.11.9更新 开关mpo ulps 感觉有用但是还是掉驱动,现在确定是window顶驱动问题 按网上的改注册表和组策略会让自己也打不上驱动 目前感觉最好的办法就是,重置此电脑,然后你就摆着电脑挂个十分钟半小时别动,一开始他是不显示…...
数据结构——二叉树(续集)
♥♥♥~~~~~~欢迎光临知星小度博客空间~~~~~~♥♥♥ ♥♥♥零星地变得优秀~也能拼凑出星河~♥♥♥ ♥♥♥我们一起努力成为更好的自己~♥♥♥ ♥♥♥如果这一篇博客对你有帮助~别忘了点赞分享哦~♥♥♥ ♥♥♥如果有什么问题可以评论区留言或者私信我哦~♥♥♥ ✨✨✨✨✨✨个人…...
ElasticSearch学习篇16_《检索技术核心20讲》进阶篇之空间检索
背景 学习极客实践课程《检索技术核心20讲》https://time.geekbang.org/column/article/215243,文档形式记录笔记。 相关问题: 查询范围固定的需求 直接计算两点之间距离区域二进制编码GeoHash编码 查询范围不固定的需求 GeoHash编码索引结构设计 基于…...
uni-app跨域set-cookie
set-cookie的值是作为一个权限控制的 首先,无论什么接口都会返回一个set-cookie,但未登录时,set-cookie是没有任何权限的 其次,登录接口请求时会修改set-cookie,并且在后续其他接口发起请求时,会在请求头…...
移动应用开发:简易登录页
文章目录 简介一,创建新活动二,设计UI布局三,编写活动代码四,运行应用程序注意 简介 使用Android Studio编写的简单Android 登录应用程序,该应用程序包含一个登录界面,具有账号和密码两个文本框࿰…...
C++_ C++11的override和final
文章目录 1. override 关键字2. final 关键字在虚函数上使用 final在类上使用 final 1. override 关键字 用于明确表示派生类中的某个虚函数是用来重写基类中的虚函数的,这样编译器会检查基类,看看是否确实存在同样的虚函数,如果没有匹配&am…...
【MyBatis源码】SQL 语句构建器AbstractSQL
文章目录 介绍org.apache.ibatis.jdbc.SQLSQL类使用示例SelectProvider搭配动态SQLAbstractSQL类源码分析 介绍 当我们需要使用Statement对象执行SQL时,SQL语句会嵌入Java代码中。SQL语句比较复杂时,我们可能会在代码中对SQL语句进行拼接,查…...
C++OJ_二叉树的层序遍历
✨✨ 欢迎大家来到小伞的大讲堂✨✨ 🎈🎈养成好习惯,先赞后看哦~🎈🎈 所属专栏:C_OJ 小伞的主页:xiaosan_blog 二叉树的层序遍历 102. 二叉树的层序遍历 - 力扣(LeetCode࿰…...
什么是直方图算法
什么是直方图算法? 直方图算法是一种优化决策树分裂点搜索效率的算法,被广泛应用于像 LightGBM 和 XGBoost 这样的梯度提升决策树框架中。其核心思想是通过将连续特征的取值范围离散化为有限的区间(称为 bins),在这些…...
pg_dump -Fc 导出的自定义格式数据库文件 相关操作
实例 将 test.dmp 文件转换为普通SQL内容, 并打印到屏幕 pg_restore -U postgres -Fc -f - test.dump将 test.dmp 文件转换为普通SQL内容, 并输出到 test.sql 文件中 pg_restore -U postgres -Fc -f test.sql -v test.dump备份得到自定义格式的数据库文件(dmp) pg_dump -U…...
Oh My Posh安装
nullSet up your terminalhttps://ohmyposh.dev/docs/installation/windows Git ee oh-my-posh: Windows上的oh-my-zsh,源地址 https://github.com/JanDeDobbeleer/oh-my-posh.git (gitee.com)https://gitee.com/efluent/oh-my-posh...
Node.js——fs模块-文件夹操作
1、借助Node.js的能力,我们可以对文件夹进行创建、读取、删除等操作 2、方法 方法 说明 mkdir/mkdirSync 创建文件夹 readdir/readdirSync 读取文件夹 rmdir/rmdirSync 删除文件夹 3、语法 其余的方法语法类似 本文的分享到此结束,欢迎大家评论区…...
15分钟学 Go 实战项目三 : 实时聊天室(学习WebSocket并发处理)
实时聊天室:学习WebSocket并发处理 目标概述 在本项目中,我们将创建一个实时聊天室,使用Go语言和WebSocket来处理并发消息交流。这将帮助你深入理解WebSocket协议的工作原理以及如何在Go中实现并发处理。 1. 项目需求 功能需求 用户可以…...
架构评估的方法
三种评估方法※ 第一是基于问卷(检查表)的方式,通过问卷调查对系统比较熟悉的相关人员,这种方式主观性很强。 专家问卷评估、用户问卷评估、内部团队问卷评估 第二是基于度量的方式,对系统指标完全量化,基于量化指标评价系统,这种方式需要评估者对系统非常熟悉。 软件质…...
羲和数据集收集器1.0
为了提升问答对的提取能力并完善GUI,我们从以下几个方面进行改进: 增强文本清理和解析能力:确保能够更准确地识别问答对。 支持更多文件格式:除了现有的 .txt, .docx, 和 .pdf,可以考虑支持其他常见格式如 .xlsx 等。 优化GUI设计:提供更友好的用户界面,包括进度条、日…...
RestClient
什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端,它允许HTTP与Elasticsearch 集群通信,而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级ÿ…...
从WWDC看苹果产品发展的规律
WWDC 是苹果公司一年一度面向全球开发者的盛会,其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具,对过去十年 WWDC 主题演讲内容进行了系统化分析,形成了这份…...
Spring Boot 实现流式响应(兼容 2.7.x)
在实际开发中,我们可能会遇到一些流式数据处理的场景,比如接收来自上游接口的 Server-Sent Events(SSE) 或 流式 JSON 内容,并将其原样中转给前端页面或客户端。这种情况下,传统的 RestTemplate 缓存机制会…...
Swift 协议扩展精进之路:解决 CoreData 托管实体子类的类型不匹配问题(下)
概述 在 Swift 开发语言中,各位秃头小码农们可以充分利用语法本身所带来的便利去劈荆斩棘。我们还可以恣意利用泛型、协议关联类型和协议扩展来进一步简化和优化我们复杂的代码需求。 不过,在涉及到多个子类派生于基类进行多态模拟的场景下,…...
最新SpringBoot+SpringCloud+Nacos微服务框架分享
文章目录 前言一、服务规划二、架构核心1.cloud的pom2.gateway的异常handler3.gateway的filter4、admin的pom5、admin的登录核心 三、code-helper分享总结 前言 最近有个活蛮赶的,根据Excel列的需求预估的工时直接打骨折,不要问我为什么,主要…...
[ICLR 2022]How Much Can CLIP Benefit Vision-and-Language Tasks?
论文网址:pdf 英文是纯手打的!论文原文的summarizing and paraphrasing。可能会出现难以避免的拼写错误和语法错误,若有发现欢迎评论指正!文章偏向于笔记,谨慎食用 目录 1. 心得 2. 论文逐段精读 2.1. Abstract 2…...
Vue2 第一节_Vue2上手_插值表达式{{}}_访问数据和修改数据_Vue开发者工具
文章目录 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染2. 插值表达式{{}}3. 访问数据和修改数据4. vue响应式5. Vue开发者工具--方便调试 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染 准备容器引包创建Vue实例 new Vue()指定配置项 ->渲染数据 准备一个容器,例如: …...
让AI看见世界:MCP协议与服务器的工作原理
让AI看见世界:MCP协议与服务器的工作原理 MCP(Model Context Protocol)是一种创新的通信协议,旨在让大型语言模型能够安全、高效地与外部资源进行交互。在AI技术快速发展的今天,MCP正成为连接AI与现实世界的重要桥梁。…...
佰力博科技与您探讨热释电测量的几种方法
热释电的测量主要涉及热释电系数的测定,这是表征热释电材料性能的重要参数。热释电系数的测量方法主要包括静态法、动态法和积分电荷法。其中,积分电荷法最为常用,其原理是通过测量在电容器上积累的热释电电荷,从而确定热释电系数…...
【Android】Android 开发 ADB 常用指令
查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...
