etcd集群安装

1.部署环境三台机子:

  • 192.168.245.20
  • 192.168.245.21
  • 192.168.245.22

2.下载并解压

wget https://github.com/etcd-io/etcd/releases/download/v3.3.12/etcd-v3.3.12-linux-amd64.tar.gz

tar -zxvf etcd-v3.3.12-linux-amd64.tar.gz

3.将etcd和etcdctl拷贝到/usr/bin

cp etcd etcdctl /usr/bin

4.创建文件夹

mkdir -p /usr/local/k8s/conf
mkdir -p /var/lib/etcd

5.配置信息

vi /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=/var/lib/etcd
EnvironmentFile=-/usr/local/k8s/conf/etcd.conf
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}\" --advertise-client-urls=\"${ETCD_ADVERTISE_CLIENT_URLS}\" --initial-advertise-peer-urls=\"${ETCD_INITIAL_ADVERTISE_PEER_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
vi /usr/local/k8s/conf/etcd.conf 
#[member]
ETCD_NAME="etcd1"                                          
ETCD_DATA_DIR="/var/lib/etcd/etcd1"
ETCD_LISTEN_PEER_URLS="http://192.168.245.20:2380"
ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379"

#[cluster]
ETCD_INITIAL_ADVERTISE_PEER_URLS="http://192.168.245.20:2380"     
ETCD_INITIAL_CLUSTER="etcd1=http://192.168.245.20:2380,etcd2=http://192.168.245.21:2380,etcd3=http://192.168.245.22:2380"    
ETCD_INITIAL_CLUSTER_STATE="new"
ETCD_INITIAL_CLUSTER_TOKEN="k8s-etcd-cluster"
ETCD_ADVERTISE_CLIENT_URLS="http://0.0.0.0:2379"  

6.启动etcd

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

7.检查集群

etcdctl member list
etcdctl cluster-health