ETCD 安装、简介、使用REST API

ETCD

分布式键值存储系统,可用于服务注册发现

下载etcd安装包

访问git下载安装包,地址https://github.com/coreos/etcd/releases
使用wget命令加上资源url下载文件

解压

tar -zxvf etcd-v3.3.2-linux-amd64.tar.gz # z参数对应.gz压缩格式

查看etcd信息

[root@localhost etcd]# ./etcd -version
etcd Version: 3.3.2
Git SHA: c9d46ab37
Go Version: go1.9.4
Go OS/Arch: linux/amd64

启动etcd(后台进程启动)

nohup ./etcd >/tmp/etcd.log 2>&1 & # 日志文件输出到/tmp/etcd.log目录 

./etcd 可以直接前台运行etcd

添加key

[root@localhost etcd]# ./etcdctl put mykey "this is awesome"
No help topic for 'put' # etcdctl 需要设置环境变量 ETCDCTL_API=3,使用第三版的api,默认的api是2
[root@localhost etcd]# ETCDCTL_API=3 ./etcdctl put mykey "this is awesome"
OK

设置环境变量

root@localhost etcd]# echo 'export ETCDCTL_API=3' >> /etc/profile ## 环境变量添加 ETCDCTL_API=3
[root@localhost etcd]# source /etc/profile # 是profile中修改的文件生效
[root@localhost etcd]# ./etcdctl get mykey # 可以直接使用./etcdctl get key 命令了
mykey
this is awesome # 刚添加的内容 

etcd的README.md文件中有etcd的介绍和命令
使用 ETCDCTL_API=2 ./etcdctl 可以查看 api2的命令
使用 ETCDCTL_API=3 ./etcdctl 可以查看 api3的命令

REST API

  • 查看版本信息
[root@localhost etcd]# curl http://127.0.0.1:2379/version 
{"etcdserver":"3.3.2","etcdcluster":"3.3.0"}

默认2379和2380端口只在127.0.0.1机器上监听,即本机

[root@localhost etcd]# ss -tnl
State      Recv-Q Send-Q                       Local Address:Port                                      Peer Address:Port              
LISTEN     0      128                              127.0.0.1:2379                                                 *:*                  
LISTEN     0      128                              127.0.0.1:2380                                                 *:*                  
LISTEN     0      128                                      *:22                                                   *:*                  
LISTEN     0      100                              127.0.0.1:25                                                   *:*                  
LISTEN     0      128                                     :::80                                                  :::*                  
LISTEN     0      128                                     :::22                                                  :::*                  
LISTEN     0      100                                    ::1:25                                                  :::* 

若想通过机器IP访问则需要启动时指定IP

./etcd --listen-client-urls http://0.0.0.0:2379 --advertise-client-urls http://0.0.0.0:2379 --listen-peer-urls http://0.0.0.0:2380
# 后台启动
nohup ./etcd --listen-client-urls http://0.0.0.0:2379 --advertise-client-urls http://0.0.0.0:2379 --listen-peer-urls http://0.0.0.0:2380 > /tmp/etcd.log 2>&1 &

0.0.0.0:2379 表示任何ip都可以访问

[root@localhost etcd]# curl http://192.168.72.31:2379/version # 通过机器IP访问 
{"etcdserver":"3.3.2","etcdcluster":"3.3.0"}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • from http://www.infoq.com/cn/articles/etcd-interpretation...
    小树苗苗阅读 13,998评论 3 38
  • 因为工作需求,公司需要使用ETCD来做gRPC服务的负载均衡,以及集群管理,所以对etcd做了一些研究,希望能给大...
    Jay_Guo阅读 46,715评论 8 47
  • Kubernetes作为容器应用的管理中心,通过对Pod的数量进行监控,并且根据主机或容器失效的状态将新的Pod调...
    辉耀辉耀阅读 4,634评论 0 13
  • docker实现了更便捷的单机容器虚拟化的管理, docker的位置处于操作系统层与应用层之间; 相对传统虚拟化(...
    Harvey_L阅读 19,966评论 3 44
  • 今天结束了家教,最大的感受就是再也不用很心疼的面对那几个懂事的小孩,可能知道我不会再去了,便拿来了很多写完但是还没...
    高清清阅读 286评论 0 1