推荐一款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设计:提供更友好的用户界面,包括进度条、日…...

网络六边形受到攻击
大家读完觉得有帮助记得关注和点赞!!! 抽象 现代智能交通系统 (ITS) 的一个关键要求是能够以安全、可靠和匿名的方式从互联车辆和移动设备收集地理参考数据。Nexagon 协议建立在 IETF 定位器/ID 分离协议 (…...
java 实现excel文件转pdf | 无水印 | 无限制
文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...
JVM垃圾回收机制全解析
Java虚拟机(JVM)中的垃圾收集器(Garbage Collector,简称GC)是用于自动管理内存的机制。它负责识别和清除不再被程序使用的对象,从而释放内存空间,避免内存泄漏和内存溢出等问题。垃圾收集器在Ja…...
数据链路层的主要功能是什么
数据链路层(OSI模型第2层)的核心功能是在相邻网络节点(如交换机、主机)间提供可靠的数据帧传输服务,主要职责包括: 🔑 核心功能详解: 帧封装与解封装 封装: 将网络层下发…...

ETLCloud可能遇到的问题有哪些?常见坑位解析
数据集成平台ETLCloud,主要用于支持数据的抽取(Extract)、转换(Transform)和加载(Load)过程。提供了一个简洁直观的界面,以便用户可以在不同的数据源之间轻松地进行数据迁移和转换。…...

vue3+vite项目中使用.env文件环境变量方法
vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量,这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...

Unity | AmplifyShaderEditor插件基础(第七集:平面波动shader)
目录 一、👋🏻前言 二、😈sinx波动的基本原理 三、😈波动起来 1.sinx节点介绍 2.vertexPosition 3.集成Vector3 a.节点Append b.连起来 4.波动起来 a.波动的原理 b.时间节点 c.sinx的处理 四、🌊波动优化…...
嵌入式常见 CPU 架构
架构类型架构厂商芯片厂商典型芯片特点与应用场景PICRISC (8/16 位)MicrochipMicrochipPIC16F877A、PIC18F4550简化指令集,单周期执行;低功耗、CIP 独立外设;用于家电、小电机控制、安防面板等嵌入式场景8051CISC (8 位)Intel(原始…...

抽象类和接口(全)
一、抽象类 1.概念:如果⼀个类中没有包含⾜够的信息来描绘⼀个具体的对象,这样的类就是抽象类。 像是没有实际⼯作的⽅法,我们可以把它设计成⼀个抽象⽅法,包含抽象⽅法的类我们称为抽象类。 2.语法 在Java中,⼀个类如果被 abs…...

【无标题】湖北理元理律师事务所:债务优化中的生活保障与法律平衡之道
文/法律实务观察组 在债务重组领域,专业机构的核心价值不仅在于减轻债务数字,更在于帮助债务人在履行义务的同时维持基本生活尊严。湖北理元理律师事务所的服务实践表明,合法债务优化需同步实现三重平衡: 法律刚性(债…...