ETCD集群安装配置及简单应用

转载至:https://blog.csdn.net/god_wot/article/details/77854093

一、环境准备
CentOS Linux release 7.3.1611 (Core)
etcd-v3.2.6
二、ETCD下载
https://github.com/coreos/etcd/releases/download/v3.2.6/etcd-v3.2.6-linux-amd64.tar.gz

三、ETCD安装配置
1.部署架构

192.168.108.128 节点1
192.168.108.129 节点2
192.168.108.130 节点3
2.解压安装:

$ tar -zxvf etcd-v3.2.6-linux-amd64.tar.gz -C /opt/
$ cd /opt
$ mv etcd-v3.2.6-linux-amd64 etcd-v3.2.6

创建etcd配置文件目录

$ mkdir /etc/etcd
3.创建etcd配置文件:

$ vi /etc/etcd/conf.yml
节点1,添加如下内容:

name: etcd-1
data-dir: /opt/etcd-v3.2.6/data
listen-client-urls: http://192.168.108.128:2379,http://127.0.0.1:2379
advertise-client-urls: http://192.168.108.128:2379,http://127.0.0.1:2379
listen-peer-urls: http://192.168.108.128:2380
initial-advertise-peer-urls: http://192.168.108.128:2380
initial-cluster: etcd-1=http://192.168.108.128:2380,etcd-2=http://192.168.108.129:2380,etcd-3=http://192.168.108.130:2380
initial-cluster-token: etcd-cluster-token
initial-cluster-state: new
节点2,添加如下内容:

name: etcd-2
data-dir: /opt/etcd-v3.2.6/data
listen-client-urls: http://192.168.108.129:2379,http://127.0.0.1:2379
advertise-client-urls: http://192.168.108.129:2379,http://127.0.0.1:2379
listen-peer-urls: http://192.168.108.129:2380
initial-advertise-peer-urls: http://192.168.108.129:2380
initial-cluster: etcd-1=http://192.168.108.128:2380,etcd-2=http://192.168.108.129:2380,etcd-3=http://192.168.108.130:2380
initial-cluster-token: etcd-cluster-token
initial-cluster-state: new
节点3,添加如下内容:

name: etcd-3
data-dir: /opt/etcd-v3.2.6/data
listen-client-urls: http://192.168.108.130:2379,http://127.0.0.1:2379
advertise-client-urls: http://192.168.108.130:2379,http://127.0.0.1:2379
listen-peer-urls: http://192.168.108.130:2380
initial-advertise-peer-urls: http://192.168.108.130:2380
initial-cluster: etcd-1=http://192.168.108.128:2380,etcd-2=http://192.168.108.129:2380,etcd-3=http://192.168.108.130:2380
initial-cluster-token: etcd-cluster-token
initial-cluster-state: new
4.更新etcd系统默认配置:

当前使用的是etcd v3版本,系统默认的是v2,通过下面命令修改配置。

$ vi /etc/profile
在文件末尾追加:

export ETCDCTL_API=3
使文件生效:

$ source /etc/profile
四、ETCD命令
$ cd /opt/etcd-v3.2.6
1.查看版本信息:

$ ./etcdctl version

etcdctl version: 3.2.6
API version: 3.2
2.启动命令:

$ ./etcd --config-file=/etc/etcd/conf.yml
3.查看集群成员信息:

$ ./etcdctl member list

2618ce5cd761aa8e: name=etcd-3 peerURLs=http://192.168.108.130:2380 clientURLs=http://127.0.0.1:2379,http://192.168.108.130:2379 isLeader=false
9c359d48a2f34938: name=etcd-1 peerURLs=http://192.168.108.128:2380 clientURLs=http://127.0.0.1:2379,http://192.168.108.128:2379 isLeader=false
f3c45714407d68f3: name=etcd-2 peerURLs=http://192.168.108.129:2380 clientURLs=http://127.0.0.1:2379,http://192.168.108.129:2379 isLeader=true
4.查看集群状态(Leader节点):

$ ./etcdctl cluster-health

member 2618ce5cd761aa8e is healthy: got healthy result from http://127.0.0.1:2379
member 9c359d48a2f34938 is healthy: got healthy result from http://127.0.0.1:2379
member f3c45714407d68f3 is healthy: got healthy result from http://127.0.0.1:2379
cluster is healthy
5.HTTPS加密下使用etcdctl检查集群健康状况:

$ etcdctl --ca-file /etc/ssl/etcd/ca.pem --cert-file /etc/ssl/etcd/server1.pem --key-file /etc/ssl/etcd/server1-key.pem member list
$ etcdctl --ca-file /etc/ssl/etcd/ca.pem --cert-file /etc/ssl/etcd/server1.pem --key-file /etc/ssl/etcd/server1-key.pem cluster-health
五、ECTD读写操作
基于HTTP协议的API使用起来比较简单,这里主要通过etcdctl和curl两种方式来做简单介绍。

1.下面通过给message key设置Hello值示例:

$ ./etcdctl set /message Hello

Hello

$ curl -X PUT http://127.0.0.1:2379/v2/keys/message -d value=“Hello”
{“action”:“set”,“node”:{“key”:"/message",“value”:“Hello”,“modifiedIndex”:4,“createdIndex”:4}}
2.读取message的值:

$ ./etcdctl get /message
Hello

$ curl http://127.0.0.1:2379/v2/keys/message
{“action”:“get”,“node”:{“key”:"/message",“value”:“Hello”,“modifiedIndex”:9,“createdIndex”:9}}
3.删除message key:

$ ./etcdctl rm /message

$ curl -X DELETE http://127.0.0.1:2379/v2/keys/message
{“action”:“delete”,“node”:{“key”:"/message",“modifiedIndex”:10,“createdIndex”:9},“prevNode”:{“key”:"/message",“value”:“Hello”,“modifiedIndex”:9,“createdIndex”:9}}
说明:因为是集群,所以message在其中一个节点创建后,在集群中的任何节点都可以查询到。

4.查看所有key-value:

curl -s http://127.0.0.1:2379/v2/keys/?recursive=true
六、配置ETCD为启动服务
1.编辑/usr/lib/systemd/system/etcd.service,添加下面内容:

[Unit]
Description=Etcd Server
After=network.target
After=network-online.target
Wants=network-online.target

[Service]
Type=notify
WorkingDirectory=/opt/etcd-v3.2.6/

User=etcd

ExecStart=/opt/etcd-v3.2.6/etcd --config-file=/etc/etcd/conf.yml
Restart=on-failure
LimitNOFILE=65536

[Install]
WantedBy=multi-user.target
2.更新启动:

systemctl daemon-reload
systemctl enable etcd
systemctl start etcd
systemctl restart etcd

systemctl status etcd.service -l
参考资料:
https://coreos.com/etcd/docs/latest/getting-started-with-etcd.html

作者:god_wot
来源:CSDN
原文:https://blog.csdn.net/god_wot/article/details/77854093
版权声明:本文为博主原创文章,转载请附上博文链接!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值