# EtcdKeeperFyne **Repository Path**: andrewgithub/EtcdKeeperFyne ## Basic Information - **Project Name**: EtcdKeeperFyne - **Description**: 真正的 etcd 跨平台管理工具 - **Primary Language**: Go - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 1 - **Created**: 2023-03-09 - **Last Updated**: 2025-04-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # EtcdKeeperFyne ### 介绍 etcd 跨平台管理工具,用于连接etcd,对etcd进行增删改查等.... 目前常见的Etcd管理工具都是基于web的,使用时通常还需要自己搭建一个web服务器,而且操作起来很不方便,基于此诞生了这款使用方便,操作简单的Etcd管理工具。 **特点:安装简单,使用方便** 如果感觉该软件对你有用可以请开发人员喝杯咖啡!!! ![](image/2023-03-13-16-05-13-image.png) 后续有什么软件开发建议欢迎提交Issu或者关注公众号:码上有话!后台留言 ![](image/2023-03-13-16-06-07-b7ae3eac42c0988854e79505d44a0d2.jpg) ### 软件架构 采用go语言fyne库提供的模块化功能,将etcd中常用的增删改查进行UI化 ### 安装教程 本软件具有go语言的特点,所有程序都是单独的可执行程序,所见及所得,直接下载对应版本软件然后执行即可,如果出现以下界面说明软件启动成功。 ![img.png](image/img.png) ### 启动 1. 源码编译 先将源码下载过来 ```bash git clone https://gitee.com/andrewgithub/EtcdKeeperFyne.git ``` 然后进入源码目录 `EtcdKeeperFyne`,执行 `go build`,执行结束会得到一个EtcdKeeperFyne(linux)的binary可执行文件或者EtcdKeeperFyne.exe(windows)的可执行文件。 如果在windows上执行出现一下问题: ![img.png](image/opengl.png) 说明你的电脑里面缺少必要的opengl兼容库,可以去 https://fdossena.com/?p=mesa/index.frag 上下载对应版本的兼容dll,然后将下载的openglxx.dll和EtcdKeeperFyne.exe放到同一目录下执行即可 > 如果是64位windows电脑可以直接下载目录下的opengl32.dll使用 ### 使用说明 1. 连接etcd 点击etcd->Host ![img.png](image/connetcd.png) 在Index一栏选择当前连接使用的连接号,默认情况下先连接0号客户端再连接1号客户端,如果只需要连接一个客户端Index默认选0即可 然后填入连接etcd需要的用户名,密码以及host(地址和端口),其中用户名和密码默认情况下可以不填写。 ![img.png](image/Host.png) 填写完之后选择Log In按钮创建连接。 如果连接过程出错会在应用做下角提示最近的出错信息 ![](image/2023-03-13-14-38-12-image.png) 2. 更换主题 更换主题就不多说了,就是对软件进行常见的字体大小,颜色以及主题进行设置,根据个人喜好进行设置即可,设置好之后点击Apply设置的参数会立即生效。 ![](image/2023-03-13-14-41-13-image.png) 3. 全局刷新 点击左上角的刷新按钮,会对kye-value值进行刷新,如果有其它软件同步修改etcd的kv值,需要人工点击下刷新,获取新的kv值 ![](image/2023-03-13-14-43-55-image.png) 4. 创建LeaseId(租约ID)和使用租约 在刷新按钮的左侧提供了创建租约的工具,TTL(单位s)后面填写租约的时间,后面的曲别针按钮即创建租约的按钮,点击之后即可创建对应ttl的租约。 ![](image/2023-03-13-14-45-57-image.png) 5. 添加kv值 在key中填上对应的key值,value中输入value值,点击add按钮即实现了kv的设置 ![](image/2023-03-13-14-48-10-image.png) 6. 添加临时kv值(绑定租约的kv值) 如果创建kv时需要绑定租约,需要先创建租约,然后在菜单中点击Edit->Lease或者使用快捷键Alt+L调用出租约选择窗口 ![](image/2023-03-13-14-50-52-image.png) 选择对应的租约(确保当前etcd中存在租约),然后按确认键即可 ![](image/2023-03-13-14-51-46-image.png) 租约选择好之后,会在右下角提供当前使用的租约 ![](image/2023-03-13-14-52-39-image.png) 以上操作完之后,再添加kv值就是绑定租约之后的kv值了,如果想创建永久变量,需要重新在租约选择界面 Edit->Lease界面将租约选择为0,然后在添加KV值 7. 删除key-value值 点击值列表左侧对应的Delete按钮即可 ![](image/2023-03-13-14-57-25-image.png) 8. 查看对应Key值的详细信息 点击对应key值,并在右侧详细信息列表中选中Value Edit即可查看对应值信息 ![](image/2023-03-13-14-58-13-image.png) 9. 更新Value值信息 选中对应的key值,之后在详细信息界面修改对应value值然后点击下方的长条更新按钮即可更新对应的Value值 ![](image/2023-03-13-15-00-00-image.png) 10. 租约的续租和查看 详细信息中部是租约查看列表,KeeperAlive用来对对应的LeaseID进行续租,Refresh会刷新对应LeaseId的租约信息,主要的是最右侧的剩余时间 ![](image/2023-03-13-15-15-07-image.png) 11. 大Value值查看 如果value中存储的Value值很大,在详细信息界面查看value值查看不全,可以点击ValueShow界面单独查看对应的value值信息 ![](image/2023-03-13-15-34-24-image.png) 12. 查看租约绑定的key值 切换到Lease界面,点击对应的租约信息节课即可查看对应Lease租约绑定的key值信息 ![](image/2023-03-13-15-38-09-image.png) 13. 执行Etcd镜像功能 **确保连接两个Etcd服务器** 镜像需要在两个Etcd之间进行,如果先前没有连接过Etcd这时需要在菜单中Etcd->Host->Index中从0开始连接,然后在Index选择1连接,两个都连接成功之后,可以在详细信息页面选择切换查看是否两个Host都连接成功 ![](image/2023-03-13-15-42-39-image.png) 另外,选择按钮下方两个颜色块,正常情况下是灰显的,只有对应客户端连接成功之后才会变成彩色呼吸样式,颜色一直呼吸,说明两个客户端都处于连接成功状态 注:必须保证连接的两个Etcd不是同一个,否则一个Etcd往自己身上镜像时会导致死循环,因为A->A,镜像,那么A->A镜像的过程又会通知A,比如你向A写入一个值,A会通知A(执行镜像的一端)有新值来了,你要不要镜像过去,A说来吧。然后执行镜像,但是执行镜像还是会向A中写入一个值,这个时候A又通知A(执行镜像的一段)又有新值来了,你要不要镜像噻?A说来吧...........,就这样陷入了死循环,导致机器要么性能耗尽要么内存耗尽。 **调整镜像方向** 通过点击呼吸方块上的In/Out按钮,可以调整那个Etcd读那个Etcd写入,Out代表从该Etcd中读入数据,In代表往该Etcd中写入数据 **开始镜像** 如果以上过程都执行成功,那么就可以开启镜像了,开启镜像比较简单,只需要店家Make Mirror按钮即可,开启镜像之后会有代表镜像运行过程的按钮一直在来回运动,说明镜像在一直执行 ![](image/2023-03-13-15-54-24-image.png) ![](image/2023-03-13-15-54-41-image.png) 开启镜像功能之后数据会从Out->In的方向进行自动复制,你只需向Out的Etcd中写入数据,对应的数据会自动同步到In的Etcd中 ### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request ### 特技 1. 菜单中选择Etcd->CopyImage, 会将当前界面的信息按照Png编码的图片复制到剪贴板上 2. 菜单中选择Etcd->CopyJson,会将当前界面的详细信息格式化成json放到剪贴板上 3. 菜单中Help->ShortCutInfo,可以查看软件中支持的快捷键信息