推荐一款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设计:提供更友好的用户界面,包括进度条、日…...
旧设备优化与系统兼容性提升:OpenCore Legacy Patcher全流程指南
旧设备优化与系统兼容性提升:OpenCore Legacy Patcher全流程指南 【免费下载链接】OpenCore-Legacy-Patcher Experience macOS just like before 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher OpenCore Legacy Patcher是一款专…...
从‘它怎么又挂了’到‘服务稳如狗’:我是如何用Prometheus+Grafana搭建业务监控看板的
从被动救火到主动防御:PrometheusGrafana构建业务监控实战手册 凌晨三点,手机突然响起刺耳的警报声——这已经是本周第三次了。揉着惺忪的睡眼查看日志,却发现关键线索早已被淹没在海量的调试信息中。这样的场景对于中小技术团队来说再熟悉不…...
smart-mqtt v1.5.4发布,认证能力大升级
smart-mqtt v1.5.4正式发布,此次版本聚焦企业级连接认证能力升级,推出全新高级认证插件,在高性能底座上补齐企业级接入能力,还公布了获取方式与未来规划。版本核心亮点v1.5.4重点通过advanced-auth-plugin让连接认证更适配企业真实…...
Qwen3-14B私有化效果闭环:从部署→使用→反馈→迭代的完整链路
Qwen3-14B私有化效果闭环:从部署→使用→反馈→迭代的完整链路 1. 开箱即用的私有化部署方案 Qwen3-14B作为通义千问系列的最新大语言模型,在14B参数规模下展现出惊人的理解与生成能力。但对于企业用户而言,如何在自有环境中实现稳定、高效…...
如何用ScanNetv2复现Stratified和SWIN3D论文实验?完整数据集配置指南
如何用ScanNetv2复现Stratified和SWIN3D论文实验?完整数据集配置指南 在3D点云分割领域,ScanNetv2数据集已成为评估算法性能的黄金标准。对于想要复现Stratified Transformer或SWIN3D这类前沿论文的研究者来说,数据集的正确配置往往是第一个…...
ASP.NET MVC 1.0 (五) ViewEngine 深入解析与应用实例
一.摘要 本文讲解ViewEngine的作用, 并且深入解析了实现ViewEngine相关的所有接口和类, 最后演示了如何开发一个自定义的ViewEngine. 本系列文章已经全部更新为ASP.NET MVC 1.0版本.希望大家多多支持! 二.承上启下 首先注意: 我会将大家在MVC之前一直使用的ASP.NET页面编程模…...
从“Hello World”到区域赛银牌:我的ACM算法打怪升级全记录(附各阶段工具包)
从“Hello World”到区域赛银牌:我的ACM算法打怪升级全记录 记得大一刚接触编程时,连最简单的冒泡排序都要调试半天。三年后站在领奖台上,回想这段旅程,最珍贵的不是奖牌,而是那些深夜debug的坚持和突破自我的瞬间。这…...
保姆级教程:用mintar版imu_utils搞定ZED2/Realsense相机内置IMU标定(避坑kalibr_allan)
保姆级教程:用mintar版imu_utils完成ZED2/Realsense相机IMU标定实战指南 当你在视觉惯性里程计(VIO)项目中遇到定位漂移问题时,很可能是因为IMU参数配置不当。与网上普遍推荐的kalibr_allan方法不同,本文将带你体验min…...
基于H5的初学开发
目标: 1.能搭出页面 2.能看懂基本标签 3.能做表单 4.能放图片、音频、视频 5.能做简单画布效果 6.能做一个 AI Photo Booth 静态演示页 7.每个实验做完都能看到结果,不容易卡死 开发工具:VS Cod 本实验覆盖哪些 H5 内容 1.h…...
Qt Network 模块中的 TCP/IP 网络编程详解
Qt 是一个功能强大的跨平台 C 框架,其 Qt Network 模块为应用程序提供了丰富的网络通信能力,极大地简化了网络编程的复杂性。在众多网络协议中,TCP/IP 协议栈是互联网通信的基础,Qt Network 提供了 QTcpSocket 和 QTcpServer 等类…...
