Docker 搭建 etcd 集群配置

#关闭selinux、防火墙

systemctl stop firewalld.service
systemctl disable firewalld.service
firewall-cmd --state
sed -i '/^SELINUX=.*/c SELINUX=disabled' /etc/selinux/config
sed -i 's/^SELINUXTYPE=.*/SELINUXTYPE=disabled/g' /etc/selinux/config
grep --color=auto '^SELINUX' /etc/selinux/config
setenforce 0

# 节点node1

docker run -d --name etcd --restart=always \
    -p 2379:2379 \
    -p 2380:2380 \
    kubernetes/etcd:v3.2.4 \
    /usr/local/bin/etcd \
    --name node1 \
    --initial-advertise-peer-urls http://172.19.15.92:2380 --listen-peer-urls http://0.0.0.0:2380 \
    --advertise-client-urls http://172.19.15.92:2379 --listen-client-urls http://0.0.0.0:2379 \
    --initial-cluster-state new \
    --initial-cluster-token docker-etcd \
    --initial-cluster node1=http://172.19.15.92:2380,node2=http://172.19.15.93:2380,node3=http://172.19.15.94:2380

# 节点node2

docker run -d --name etcd --restart=always \
    -p 2379:2379 \
    -p 2380:2380 \
    kubernetes/etcd:v3.2.4 \
    /usr/local/bin/etcd \
    --name node2 \
    --initial-advertise-peer-urls http://172.19.15.93:2380 --listen-peer-urls http://0.0.0.0:2380 \
    --advertise-client-urls http://172.19.15.93:2379 --listen-client-urls http://0.0.0.0:2379 \
    --initial-cluster-state new \
    --initial-cluster-token docker-etcd \
    --initial-cluster node1=http://172.19.15.92:2380,node2=http://172.19.15.93:2380,node3=http://172.19.15.94:2380

# 节点node3

docker run -d --name etcd --restart=always \
    -p 2379:2379 \
    -p 2380:2380 \
    kubernetes/etcd:v3.2.4 \
    /usr/local/bin/etcd \
    --name node3 \
    --initial-advertise-peer-urls http://172.19.15.94:2380 --listen-peer-urls http://0.0.0.0:2380 \
    --advertise-client-urls http://172.19.15.94:2379 --listen-client-urls http://0.0.0.0:2379 \
    --initial-cluster-state new \
    --initial-cluster-token docker-etcd \
    --initial-cluster node1=http://172.19.15.92:2380,node2=http://172.19.15.93:2380,node3=http://172.19.15.94:2380

# 配置网络

1 [root@k8s ~]# docker exec etcd etcdctl set /k8s/network/config '{"Network":"192.100.0.1/16"}'
2 {"Network":"192.100.0.1/16"}

# 查看 etcd 成员

1 [root@k8s ~]# docker exec etcd etcdctl member list
2 14a0991cbae18c78: name=node3 peerURLs=http://172.19.15.94:2380 clientURLs=http://172.19.15.94:2379 isLeader=false
3 33a95350dcc12573: name=node1 peerURLs=http://172.19.15.92:2380 clientURLs=http://172.19.15.92:2379 isLeader=true
4 6cb8872859c66c95: name=node2 peerURLs=http://172.19.15.93:2380 clientURLs=http://172.19.15.93:2379 isLeader=false

# 查看 etcd 健康状态

1 [root@k8s ~]# docker exec etcd etcdctl cluster-health
2 member 14a0991cbae18c78 is healthy: got healthy result from http://172.19.15.94:2379
3 member 33a95350dcc12573 is healthy: got healthy result from http://172.19.15.92:2379
4 member 6cb8872859c66c95 is healthy: got healthy result from http://172.19.15.93:2379
5 cluster is healthy

# docker 命令行启动

1 /usr/bin/dockerd --registry-mirror=http://f2d6cb40.m.daocloud.io --bip=192.100.68.1/24

猜你喜欢

转载自www.cnblogs.com/wangjq19920210/p/9267893.html