Etcd集群搭建

10 篇文章 0 订阅

前言:

前面我提到k8s的高可用搭建,于是后面有人评论etcd用的master自己的还是外部的etcd集群。我回答是用master自带的,今天为了解决那个朋友提出的问题,我这里给搭建演示如何搭建一个外部etcd集群!好了废话不多说了,直接上干活。

准备三台虚拟机或实体机(CentOS7)

IPHOSTNAMECPU/MEM/DISKOSETCD VERSION
172.16.0.160etcd004C/4G/16GCentOS7

3.3.11

172.16.0.161etcd014C/4G/16GCentOS7

3.3.11

172.16.0.162etcd024C/4G/16GCentOS7

3.3.11 

初始化配置虚拟机(所有节点执行如下命令。)

systemctl disable postfix --now && systemctl disable firewalld --now
setenforce 0 && sed -i "s/^SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
cd /etc/yum.repos.d/
mkdir backup
mv ./*.repo backup
curl -O http://mirrors.aliyun.com/repo/Centos-7.repo
yum clean all && yum makecache
yum -y update
yum -y install etcd

cat > /usr/lib/systemd/system/etcd.service <<EOF
[Unit]
Description=Etcd Server
After=network.target
After=network-online.target
Wants=network-online.target

[Service]
Type=notify
WorkingDirectory=/var/lib/etcd/
EnvironmentFile=-/etc/etcd/etcd.conf
User=etcd
# set GOMAXPROCS to number of processors
ExecStart=/bin/bash -c "GOMAXPROCS=$(nproc) /usr/bin/etcd \
--name=\"${ETCD_NAME}\" \
--data-dir=\"${ETCD_DATA_DIR}\" \
--listen-peer-urls=\"${ETCD_LISTEN_PEER_URLS}\" \
--listen-client-urls=\"${ETCD_LISTEN_CLIENT_URLS}\" \
--initial-advertise-peer-urls=\"${ETCD_INITIAL_ADVERTISE_PEER_URLS}\" \
--advertise-client-urls=\"${ETCD_ADVERTISE_CLIENT_URLS}\" \
--initial-cluster=\"${ETCD_INITIAL_CLUSTER}\"  \
--initial-cluster-token=\"${ETCD_INITIAL_CLUSTER_TOKEN}\" \
--initial-cluster-state=\"${ETCD_INITIAL_CLUSTER_STATE}\""
Restart=on-failure
LimitNOFILE=65536

[Install]
WantedBy=multi-user.target
EOF

 etcd00节点配置:

[root@etcd00 ~]# mv /etc/etcd/etcd.conf /etc/etcd/etcd.conf.bak
[root@etcd00 ~]# cat > /etc/etcd/etcd.conf <<EOF
ETCD_DATA_DIR="/var/lib/etcd/etcd00.etcd"
ETCD_LISTEN_PEER_URLS="http://172.16.0.160:2380"
ETCD_LISTEN_CLIENT_URLS="http://172.16.0.160:2379,http://127.0.0.1:2379"
ETCD_NAME="etcd00"
ETCD_INITIAL_ADVERTISE_PEER_URLS="http://172.16.0.160:2380"
ETCD_ADVERTISE_CLIENT_URLS="http://172.16.0.160:2379"
ETCD_INITIAL_CLUSTER="etcd00=http://172.16.0.160:2380,etcd01=http://172.16.0.161:2380,etcd02=http://172.16.0.162:2380"
ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster"
ETCD_INITIAL_CLUSTER_STATE="new"
EOF

etcd01节点配置

[root@etcd01 ~]# cat > /etc/etcd/etcd.conf <<EOF
ETCD_DATA_DIR="/var/lib/etcd/etcd01.etcd"
ETCD_LISTEN_PEER_URLS="http://172.16.0.161:2380"
ETCD_LISTEN_CLIENT_URLS="http://172.16.0.161:2379,http://127.0.0.1:2379"
ETCD_NAME="etcd01"
ETCD_INITIAL_ADVERTISE_PEER_URLS="http://172.16.0.161:2380"
ETCD_ADVERTISE_CLIENT_URLS="http://172.16.0.161:2379"
ETCD_INITIAL_CLUSTER="etcd00=http://172.16.0.160:2380,etcd01=http://172.16.0.161:2380,etcd02=http://172.16.0.162:2380"
ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster"
ETCD_INITIAL_CLUSTER_STATE="new"
EOF

etcd02节点配置

[root@etcd02 ~]# cat > /etc/etcd/etcd.conf <<EOF
ETCD_DATA_DIR="/var/lib/etcd/etcd02.etcd"
ETCD_LISTEN_PEER_URLS="http://172.16.0.162:2380"
ETCD_LISTEN_CLIENT_URLS="http://172.16.0.162:2379,http://127.0.0.1:2379"
ETCD_NAME="etcd02"
ETCD_INITIAL_ADVERTISE_PEER_URLS="http://172.16.0.162:2380"
ETCD_ADVERTISE_CLIENT_URLS="http://172.16.0.162:2379"
ETCD_INITIAL_CLUSTER="etcd00=http://172.16.0.160:2380,etcd01=http://172.16.0.161:2380,etcd02=http://172.16.0.162:2380"
ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster"
ETCD_INITIAL_CLUSTER_STATE="new"
EOF

启动etcd(所有节点执行如下命令)

systemctl daemon-reload && systemctl enable etcd --now

可以在任何节点执行如下命令查看集群成员信息及健康信息 

[root@etcd00 ~]# etcdctl member list
41597db3580719b1: name=etcd02 peerURLs=http://172.16.0.162:2380 clientURLs=http://172.16.0.162:2379 isLeader=true
6c9bdea4070693bd: name=etcd01 peerURLs=http://172.16.0.161:2380 clientURLs=http://172.16.0.161:2379 isLeader=false
75de4e7851ae54ea: name=etcd00 peerURLs=http://172.16.0.160:2380 clientURLs=http://172.16.0.160:2379 isLeader=false
[root@etcd00 ~]# etcdctl cluster-health
member 41597db3580719b1 is healthy: got healthy result from http://172.16.0.162:2379
member 6c9bdea4070693bd is healthy: got healthy result from http://172.16.0.161:2379
member 75de4e7851ae54ea is healthy: got healthy result from http://172.16.0.160:2379
cluster is healthy
[root@etcd00 ~]# 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值