etcd学习
etcd 学习
1查看版本
etcdctl version(api version是2 命令为 etcdctl -v) 查看etcdctl version 和api version。目前默api version是2
通过命令修改api version:1 echo 'export ETCDCTL_API=3' >> /etc/profile 2 source /etc/profile 3 systemctl restart ectd
或者url ip+port+“/version” 查看版本
2查看集群成员信息
etcdctl member list
3查看集群状态(leader接点)
etcdctl cluster-health
4 查看leader状态
ip+port+"/v2/stats/leader“
5 查看自身状态
ip+port+"/v2/stats/self
命令 api version2 和api version3不兼容(https://blog.csdn.net/kozazyh/article/details/79586530)
etcdctl set key value 设置key
etcdctl set -ttl 10 key value 设置key过期时间(v3版本使用租约,废弃ttl)
etcdctl get key 获取key
etcdctl rm key 删除key
观察者
curl http://127.0.0.1:2379/v2/keys/foo?wait=true
curl http://127.0.0.1:2379/v2/keys/foo -XPUT -d value=bar
查询前传的key value
etcdctl get /aa --prefix
endpoints 指定哪个机器的那个port的etcd
etcdctl --endpoints=127.0.0.1:2379 -version
查询所有key
curl http://127.0.0.1:2379/v2/keys
租约
生成租约 etcdctl lease grant 300
租约绑定key etcdctl put test1 20 --lease=694d7018fea4676b
维持租约 etcdctl lease keep-alive 694d7018fea46773
取消租约 etcdctl lease revoke 694d7018fea46773
原子操作(只能curl操作)
prevIndex 如果索引(modifiedIndex)为
prevValue 如果值为
prevExist=true/flase 如果存在/不存在
事务,主要是做赋值后比较。比较成功一个操作 比较失败一个操作
etcdctl txn --interactive
锁 (有时间先后顺序)
etcdctl lock mutex
最后 看到有人做了笔记。fuck(https://www.jianshu.com/p/4aeff047aaba)
浙公网安备 33010602011771号