命令记不住

登陆

etcd3.4.10 安装部署

etcd3.4.10安装部署

1.安装etcd3.4.10

[root@tike ~]# wget  https://github.com/etcd-io/etcd/releases/download/v3.4.10/etcd-v3.4.10-linux-amd64.tar.gz
[root@tike ~]# mv  etcd-v3.4.10-linux-amd64 /usr/local/etcd
[root@tike ~]# cp /usr/local/etcd/etcd /usr/bin/
[root@tike ~]# cp /usr/local/etcd/etcdctl /usr/bin/

[root@tike ~]# mkdir -p /data/etcd/data
[root@tike ~]# mkdir -p /etc/etcd/

写入配置文件

Master

#!/bin/bash
mkdir /etc/etcd
data=/data/etcd/data

mkdir -p $data
chown -R etcd.etcd $data

ip=$(ifconfig eth0 | grep "inet 1" | awk '{print $2}')
id=$(echo $ip | awk -F "." '{print $4}')

cat > /etc/etcd/etcd.conf <<EOF
# [member]
ETCD_NAME=etcd$id
ETCD_DATA_DIR="$data"
ETCD_LISTEN_PEER_URLS="http://$ip:2380"
ETCD_LISTEN_CLIENT_URLS="http://$ip:2379,http://127.0.0.1:2379"

#[cluster]
ETCD_INITIAL_ADVERTISE_PEER_URLS="http://$ip:2380"
ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster"
ETCD_ADVERTISE_CLIENT_URLS="http://$ip:2379"
ETCD_INITIAL_CLUSTER="etcd143=http://10.5.2.143:2380,etcd142=http://10.5.2.142:2380,etcd141=http://10.5.2.141:2380"
ETCD_INITIAL_CLUSTER_STATE="new"
EOF

# 正常
[root@tike ~]# cat  /etc/etcd/etcd.conf
# [member]
ETCD_NAME=etcd141
ETCD_DATA_DIR="/data/etcd/data"
ETCD_LISTEN_PEER_URLS="http://10.5.2.141:2380"
ETCD_LISTEN_CLIENT_URLS="http://10.5.2.141:2379,http://127.0.0.1:2379"

#[cluster]
ETCD_INITIAL_ADVERTISE_PEER_URLS="http://10.5.2.141:2380"
ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster-new"
ETCD_ADVERTISE_CLIENT_URLS="http://10.5.2.141:2379"
ETCD_INITIAL_CLUSTER="etcd143=http://10.5.2.143:2380,etcd141=http://10.5.2.141:2380,etcd142=http://10.5.2.142:2380"
ETCD_INITIAL_CLUSTER_STATE="new"

Node1

#!/bin/bash
mkdir /etc/etcd
data=/data/etcd/data

mkdir -p $data
chown -R etcd.etcd $data

ip=$(ifconfig eth0 | grep "inet 1" | awk '{print $2}')
id=$(echo $ip | awk -F "." '{print $4}')

cat > /etc/etcd/etcd.conf <<EOF
# [member]
ETCD_NAME=etcd$id
ETCD_DATA_DIR="$data"
ETCD_LISTEN_PEER_URLS="http://$ip:2380"
ETCD_LISTEN_CLIENT_URLS="http://$ip:2379,http://127.0.0.1:2379"

#[cluster]
ETCD_INITIAL_ADVERTISE_PEER_URLS="http://$ip:2380"
ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster"
ETCD_ADVERTISE_CLIENT_URLS="http://$ip:2379"
ETCD_INITIAL_CLUSTER="etcd143=http://10.5.2.143:2380,etcd142=http://10.5.2.142:2380,etcd141=http://10.5.2.141:2380"
ETCD_INITIAL_CLUSTER_STATE="exist"
EOF

# 正常
[root@tike ~]# cat  /etc/etcd/etcd.conf
#[member]
ETCD_NAME=etcd142
ETCD_DATA_DIR="/data/etcd/data"
ETCD_LISTEN_PEER_URLS="http://10.5.2.142:2380"
ETCD_LISTEN_CLIENT_URLS="http://10.5.2.142:2379,http://127.0.0.1:2379"

#[cluster]
ETCD_INITIAL_ADVERTISE_PEER_URLS="http://10.5.2.142:2380"
ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster-new"
ETCD_ADVERTISE_CLIENT_URLS="http://10.5.2.142:2379"
ETCD_INITIAL_CLUSTER="etcd143=http://10.5.2.143:2380,etcd141=http://10.5.2.141:2380,etcd142=http://10.5.2.142:2380"
ETCD_INITIAL_CLUSTER_STATE="new"

Node2

#!/bin/bash
mkdir /etc/etcd
data=/data/etcd/data

mkdir -p $data
chown -R etcd.etcd $data

ip=$(ifconfig eth0 | grep "inet 1" | awk '{print $2}')
id=$(echo $ip | awk -F "." '{print $4}')

cat > /etc/etcd/etcd.conf <<EOF
# [member]
ETCD_NAME=etcd$id
ETCD_DATA_DIR="$data"
ETCD_LISTEN_PEER_URLS="http://$ip:2380"
ETCD_LISTEN_CLIENT_URLS="http://$ip:2379,http://127.0.0.1:2379"

#[cluster]
ETCD_INITIAL_ADVERTISE_PEER_URLS="http://$ip:2380"
ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster"
ETCD_ADVERTISE_CLIENT_URLS="http://$ip:2379"
ETCD_INITIAL_CLUSTER="etcd143=http://10.5.2.143:2380,etcd142=http://10.5.2.142:2380,etcd141=http://10.5.2.141:2380"
ETCD_INITIAL_CLUSTER_STATE="exist"
EOF

# 正常
[root@tike ~]# cat  /etc/etcd/etcd.conf
# [member]
ETCD_NAME=etcd143
ETCD_DATA_DIR="/data/etcd/data"
ETCD_LISTEN_PEER_URLS="http://10.5.2.143:2380"
ETCD_LISTEN_CLIENT_URLS="http://10.5.2.143:2379,http://127.0.0.1:2379"

#[cluster]
ETCD_INITIAL_ADVERTISE_PEER_URLS="http://10.5.2.143:2380"
ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster-new"
ETCD_ADVERTISE_CLIENT_URLS="http://10.5.2.143:2379"
ETCD_INITIAL_CLUSTER="etcd143=http://10.5.2.143:2380,etcd141=http://10.5.2.141:2380,etcd142=http://10.5.2.142:2380"
ETCD_INITIAL_CLUSTER_STATE="new"

2.分别启动

加入systemctl

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

[Service]
Type=notify
WorkingDirectory=/data/etcd/data/
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-client-urls=\"${ETCD_LISTEN_CLIENT_URLS}\""
Restart=on-failure
LimitNOFILE=65536

[Install]
WantedBy=multi-user.target
EOF

启动

[root@tike ~]# systemctl daemon-reload
[root@tike ~]# systemctl enable etcd
[root@tike ~]# systemctl stop etcd
[root@tike ~]# systemctl start etcd
[root@tike ~]# systemctl status etcd

3.单机部署etcd

安装:

[root@tike ~]# wget  https://github.com/etcd-io/etcd/releases/download/v3.4.10/etcd-v3.4.10-linux-amd64.tar.gz
[root@tike ~]# mv  etcd-v3.4.10-linux-amd64 /usr/local/etcd
[root@tike ~]# cp /usr/local/etcd/etcd /usr/bin/
[root@tike ~]# cp /usr/local/etcd/etcdctl /usr/bin/

[root@tike ~]# mkdir -p /data/etcd/data
[root@tike ~]# mkdir -p /etc/etcd/
[root@tike ~]# chmod 700 /data/etcd/data

配置服务:

[root@tike ~]# cat > /etc/etcd/etcd.conf  <<EOF
#[member]
ETCD_NAME=etcd145
ETCD_DATA_DIR="/data/etcd/data"
ETCD_LISTEN_CLIENT_URLS="http://172.16.18.145:2379"
ETCD_ADVERTISE_CLIENT_URLS="http://172.16.18.145:2379"
EOF

加入systemctl管理

[root@tike ~]# cat > /usr/lib/systemd/system/etcd.service <<EOF

[Unit]
Description=Etcd Server
After=network.target

[Service]
User=root
Type=simple
WorkingDirectory=/data/etcd/data/
EnvironmentFile=-/etc/etcd/etcd.conf
ExecStart=/usr/bin/etcd

[Install]
WantedBy=multi-user.target
EOF

启动

[root@tike ~]# systemctl daemon-reload
[root@tike ~]# systemctl enable etcd.service
[root@tike ~]# systemctl start etcd.service
[root@tike ~]# systemctl status etcd.service

验证

curl http://172.16.18.145:2379/version -XGET

4.集群加密https

参考:https://www.jianshu.com/p/85803026a9a1

推荐阅读