mac etcd

2020-11-03  本文已影响0人  Darker_坤

一、使用 brew 安装

1、 确定 brew 是否有 etcd 包:

brew search etcd

当然肯定有这个包,这样做的好处是养成一个好的习惯,避免盲目使用 brew install balabala

2、安装

brew install etcd

3、运行 etcd

安装完后,会有相关提示,告知我们怎么使用,推荐使用 brew services 来管理这些应用。
运行 brew services list, 可以看到相关应用的状况,很方便。哎,真香!

brew services 常用的操作

# 启动某个应用,这里用 etcd 做演示
brew services start etcd

# 停止某个应用
brew services stop etcd

# 查看当前应用列表
brew services list

从执行结果中可以看出:

好了, etcd 已经启动了,现在验证下,是否正确的启动:

etcdctl endpoint health

正常情况会输出:

至此,etcd 已经安装完毕。

二、安装etcd webui

在安装etcd webui之前,请确保已安装node工具。使用brew search node命令,可以查看候选安装包;使用brew install node命令,即可安装node工具。

使用git命令下载etcd webui代码,并修改配置文件:

$ git clone https://github.com/henszey/etcd-browser.git
$ cd etcd-browser/
$ vim server.js  

编辑server.js,修改内容如下:

var etcdHost = process.env.ETCD_HOST || '127.0.0.1'; // || '172.17.42.1';
var etcdPort = process.env.ETCD_PORT || 2379; // 4001
var serverPort = process.env.SERVER_PORT || 8000;

将etcd host修改为本机,将etcd port修改为2379(对于旧版etcd,修改为4001)。

在安装etcd webui之前,务必先启动etcd。

启动etcd webui,执行命令:

node server.js

执行结果如下所示:

proxy /api requests to etcd on 127.0.0.1:2379etc-browser listening on port 8000

在浏览器中,直接访问:http://127.0.0.1:8000/,响应页面如下:

image

至此,mac下安装etcd成功,配置etcd可视化页面etcd webui成功。

三、操作

最常见的就是put、get和del命令。

# 放入一个 键值对
~  etcdctl put "name" "zyq1"
OK
#取出一个 键值对
~  etcdctl get  "name"
name
zyq1
# 删除一个 键值对
~  etcdctl del  "name"
1
# 放入一个 键值对

watch
watch命令用来监测key的变化,会建立长连接,一直监听。

 ~  etcdctl watch "name"
PUT
name
zyq1
DELETE
name

四、租约

租约是一段时间,可以为etcd的key授予租约。当key被附加到租约时,它的生存时间被绑定到租约的生存时间,一旦租约的TTL到期,租约就过期并且所有附带的key都将被删除。

一个租约可以绑定不止一个key。

# 创建一个20s的租约
$ ./etcdctl lease grant 20
lease 694d673115905e37 granted with TTL(20s)

# 使用租约的 id 进行 put 操作
$ ./etcdctl put --lease=694d673115905e37 "name" "zyq"

# 20s后get发现 key被删除了
$ ./etcdctl get "name"
# 空应答

租约可以被删除

# 创建一个20s的租约
$ ./etcdctl lease grant 1000
lease 694d673115905e49 granted with TTL(1000s)

# 使用租约的 id 进行 put 操作
$ ./etcdctl put --lease=694d673115905e49 "name" "zyq"
OK
# 删除租约
$ ./etcdctl lease revoke 694d673115905e49
lease 694d673115905e49 revoked
# 发现key也被删除了
$ ./etcdctl get "name"
# 空应答

租约可以自动续租

# 创建一个20s的租约
$ ./etcdctl lease grant 20
lease 694d673115905e4f granted with TTL(20s)
# 自动续租
$ ./etcdctl lease keep-alive 694d673115905e4f
lease 694d673115905e4f keepalived with TTL(20)
lease 694d673115905e4f keepalived with TTL(20)

————————————————
转自链接:
https://learnku.com/articles/42515
https://blog.csdn.net/chinawangfei/article/details/94555155

上一篇 下一篇

猜你喜欢

热点阅读