Etcd集群部署小结

etcd集群模式


这里的集群模式是指完全集群模式,当然也可以在单机上通过不同的端口,部署伪集群模式,只是那样做只适合测试环境,生产环境考虑到可用性的话需要将etcd实例分布到不同的主机上,这里集群搭建有三种方式,分布是静态配置,etcd发现,dns发现
下面将在以下三台主机上搭建etcd集群,
etcd0 192.168.115.136
etcd1 192.168.115.137
etcd2 192.168.115.138

在每个节点上:

yum install etcd -y
ssh-keygen -t rsa
yum -y install openssh-clients
ssh-copy-id -i ~/.ssh/id_rsa.pub node1
ssh-copy-id -i ~/.ssh/id_rsa.pub node2
ssh-copy-id -i ~/.ssh/id_rsa.pub node3


2.1 配置项说明
--name
#etcd集群中的节点名,这里可以随意,可区分且不重复就行  
--listen-peer-urls
#监听的用于节点之间通信的url,可监听多个,集群内部将通过这些url进行数据交互(如选举,数据同步等)
--initial-advertise-peer-urls 
#建议用于节点之间通信的url,节点间将以该值进行通信。
--listen-client-urls
#监听的用于客户端通信的url,同样可以监听多个。
--advertise-client-urls
#建议使用的客户端通信url,该值用于etcd代理或etcd成员与etcd节点通信。
--initial-cluster-token etcd-cluster-1
#节点的token值,设置该值后集群将生成唯一id,并为每个节点也生成唯一id,当使用相同配置文件再启动一个集群时,只要该token值不一样,etcd集群就不会相互影响。
--initial-cluster
#集群中所有的initial-advertise-peer-urls 的合集
--initial-cluster-state new
#新建集群的标志

2.2 静态配置
静态配置主要预先将集群的配置信息分配好,然后将集群分布启动,集群将根据配置信息组成集群。这里按如下的配置信息分别启动三个etcd。
tee /etc/etcd/etcd.conf <<-'EOF'
ETCD_NAME=etcd01
ETCD_DATA_DIR="/var/lib/etcd/etcd01"
ETCD_LISTEN_PEER_URLS="http://192.168.115.136:2380"
ETCD_LISTEN_CLIENT_URLS="http://192.168.115.136:2379,http://127.0.0.1:2379"
ETCD_INITIAL_ADVERTISE_PEER_URLS="http://192.168.115.136:2380"
ETCD_ADVERTISE_CLIENT_URLS="http://192.168.115.136:2379"
ETCD_INITIAL_CLUSTER_STATE="new"
ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster-1"
ETCD_INITIAL_CLUSTER="etcd01=http://192.168.115.136:2380,etcd02=http://192.168.115.137:2380,etcd03=http://192.168.115.138:2380"
EOF

tee /etc/etcd/etcd.conf <<-'EOF'
ETCD_NAME=etcd02
ETCD_DATA_DIR="/var/lib/etcd/etcd02"
ETCD_LISTEN_PEER_URLS="http://192.168.115.137:2380"
ETCD_LISTEN_CLIENT_URLS="http://192.168.115.137:2379,http://127.0.0.1:2379"
ETCD_INITIAL_ADVERTISE_PEER_URLS="http://192.168.115.137:2380"
ETCD_ADVERTISE_CLIENT_URLS="http://192.168.115.137:2379"
ETCD_INITIAL_CLUSTER_STATE="new"
ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster-1"
ETCD_INITIAL_CLUSTER="etcd01=http://192.168.115.136:2380,etcd02=http://192.168.115.137:2380,etcd03=http://192.168.115.138:2380"
EOF

tee /etc/etcd/etcd.conf <<-'EOF'
ETCD_NAME=etcd03
ETCD_DATA_DIR="/var/lib/etcd/etcd03"
ETCD_LISTEN_PEER_URLS="http://192.168.115.138:2380"
ETCD_LISTEN_CLIENT_URLS="http://192.168.115.138:2379,http://127.0.0.1:2379"
ETCD_INITIAL_ADVERTISE_PEER_URLS="http://192.168.115.138:2380"
ETCD_ADVERTISE_CLIENT_URLS="http://192.168.115.138:2379"
ETCD_INITIAL_CLUSTER_STATE="new"
ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster-1"
ETCD_INITIAL_CLUSTER="etcd01=http://192.168.115.136:2380,etcd02=http://192.168.115.137:2380,etcd03=http://192.168.115.138:2380"
EOF
按如上配置分别启动集群,启动集群后,将会进入集群选举状态,若出现大量超时,则需要检查主机的防火墙是否关闭,或主机之间是否能通过2380端口通信,集群建立后通过以下命令检查集群状态。

查看集群成员
[root@node1]# etcdctl  member list
4c6e3cdbe11da35: name=etcd03 peerURLs=http://192.168.115.138:2380 clientURLs=http://192.168.115.138:2379 isLeader=false
165e1d628eb37488: name=etcd02 peerURLs=http://192.168.115.137:2380 clientURLs=http://192.168.115.137:2379 isLeader=true
904e760d8f0aa918: name=etcd01 peerURLs=http://192.168.115.136:2380 clientURLs=http://192.168.115.136:2379 isLeader=false

检查集群健康状态
[root@node1]# etcdctl cluster-health
member 4c6e3cdbe11da35 is healthy: got healthy result from http://192.168.115.138:2379
member 165e1d628eb37488 is healthy: got healthy result from http://192.168.115.137:2379
member 904e760d8f0aa918 is healthy: got healthy result from http://192.168.115.136:2379
cluster is healthy
如上集群搭建成功。


 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值