装置及启动
在Mac上,举荐应用brew装置
brew install etcd
能够应用etcd
启动服务,但更举荐应用 brew services
来治理应用brew装置的利用~
# 启动某个利用,这里用 etcd 做演示brew services start etcd# 进行某个利用brew services stop etcd# 查看以后利用列表# 能够看到相干利用的情况brew services list
相干操作
验证是否胜利启动:
etcdctl endpoint health
或
curl -L http://172.16.101.55:2379/health
查看版本:
curl http://127.0.0.1:2379/version
V3.4版本之后默认是V3接口,不再反对V2:
etcd v3应用gRPC作为其消息传递协定。 etcd我的项目包含一个基于gRPC的Go客户端和一个命令行实用程序etcdctl,用于通过gRPC与etcd集群进行通信。 对于不反对gRPC的语言,etcd提供了JSON gRPC网关。 该网关提供一个RESTful代理,该代理将HTTP/JSON申请转换为gRPC音讯
ETCD v3 restful api 应用详解
v2和v3接口差别较大, 如果想持续应用v2, 须要在启动时指定 --enable-v2=true,否则间接申请v2的api会报404
etcd --enable-v2=true
:
(上面持续应用v2接口)
- 查看key:
curl 127.0.0.1:2379/v2/keys
- 新建key:
(如果key之前存在,则默认会先删除,再新建一个key。如果想要间接update,则需追加 -d prevExist=true,但若加该参数,如果key之前不存在会报错)
curl 127.0.0.1:2379/v2/keys/ckl -XPUT -d value="shuang"
- 创立目录:
curl 127.0.0.1:2379/v2/keys/mulu666 -XPUT -d dir=true
- 创立带ttl的键值(单位为秒):
curl 127.0.0.1:2379/v2/keys/key_with_expired_time -XPUT -d value='这是key的值,这个key生命周期是5s' -d ttl=5
- 创立有序键值:
curl 127.0.0.1:2379/v2/keys/beauty -XPOST -d value="西施"curl 127.0.0.1:2379/v2/keys/beauty -XPOST -d value="昭君"curl 127.0.0.1:2379/v2/keys/beauty -XPOST -d value="貂蝉"curl 127.0.0.1:2379/v2/keys/beauty -XPOST -d value="杨玉环"
- 删除指定的键:
curl 127.0.0.1:2379/v2/keys/ckl -XDELETE
- 列出所有的集群成员:
curl 127.0.0.1:2379/v2/members
- 查看leader:
curl 127.0.0.1:2379/v2/stats/leader
- 查看集群运行状态:
curl 127.0.0.1:2379/v2/stats/store
除去restful Api,etcdctl命令行也反对相干操作,如:
- 放入一个 键值对:
etcdctl put "myname" "fliter"
- 取出一个 键值对
etcdctl get "myname"
- 删除一个 键值对
etcdctl del "myname"
命令行操作和resuful Api操作应该是互通的。但看起来数据竟然没有共通,有点奇怪...
不错的GUI
有一些还不错的第三方开源UI,能够界面化查看和操作
比方 etcd-manage
例如,能够在界面新增key,或批改内容等
看起来和etcdctl是通的,神奇的是和restful Api不通...
本文由mdnice多平台公布