一、以http方式搭建etcd集群
1、准备好三台机器,三台机器如下:
IP地址 主机名称 安装服务
172.31.72.142 master1 Etcd、Maser节点
172.31.82.187 master2 Etcd、Node节点
172.31.11.86 master3 Etcd、Node节点
在172.31.72.142机器,执行hostnamectl set-hostname master1
在172.31.82.187 机器,执行hostnamectl set-hostname master2
在172.31.82.187 机器,执行hostnamectl set-hostname master3
在三台机器,vim /etc/hosts 添加master1,master2,master3
[root@master1 ssl]# cat /etc/hosts
172.31.72.142 master1
172.31.82.187 master2
172.31.11.86 master3
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
2、防火墙打开端口2380,2379。
在3台主机都执行以下命令:
# cat /etc/sysconfig/iptables
Generated by iptables-save v1.4.21 on Thu Jul 5 07:05:39 2018
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [1654:201815]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 2379 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 2380 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
# systemctl reload iptables
# systemctl restart iptables
工作中,由于etcd都是内网访问,所以都是关闭防火墙,关闭iptables,利用AWS安全组,控制对外访问端口。
停掉iptables :
systemctl stop iptables
systemctl disable iptables
3、在三台机器上,分别安装etcd,分别执行yum install -y etcd。我这里安装的版本etcd-3.2.18
4、centos7安装etcd的,默认配置文件路径。/etc/etcd/etcd.conf。在三台主机分别执行 vim /etc/etcd/etcd.conf,配置文件修改点如下:
master1(72.31.72.142):
#[Member]
ETCD_DATA_DIR=“/app/etcd"
ETCD_LISTEN_PEER_URLS="http://172.31.72.142:2380,http://127.0.0.1:2380”
ETCD_LISTEN_CLIENT_URLS="http://172.31.72.142:2379,http://127.0.0.1:2379”
ETCD_NAME="etcd1"
#[Clustering]
ETCD_INITIAL_ADVERTISE_PEER_URLS="http://172.31.72.142:2380"
ETCD_ADVERTISE_CLIENT_URLS="http://172.31.72.142:2379”
ETCD_INITIA