COOKBOOK-Kubernetes二进制高可用部署-Etcd高可用
Views:
1000000
Words:
653
Read time:
3 mins.
所有虚拟机创建 etcd 目录
所有虚拟机下载 etcd 并解压
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| wget -P /usr/local/src https://github.com/etcd-io/etcd/releases/download/v3.5.14/etcd-v3.5.14-linux-amd64.tar.gz
tar -C /usr/local/src -zxvf etcd-v3.5.14-linux-amd64.tar.gz
mv /usr/local/src/etcd-v3.5.14-linux-amd64/etcd /usr/local/bin/ mv /usr/local/src/etcd-v3.5.14-linux-amd64/etcdctl /usr/local/bin/ mv /usr/local/src/etcd-v3.5.14-linux-amd64/etcdutl /usr/local/bin/
chmod 755 /usr/local/bin/etcd chmod 755 /usr/local/bin/etcdctl chmod 755 /usr/local/bin/etcdutl
|
所有虚拟机创建 etcd systemd 服务
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| cat << EOF > /etc/etcd/etcd.service [Unit] Description=etcd key-value store Documentation=https://github.com/etcd-io/etcd After=network.target
[Service] EnvironmentFile=/etc/etcd/etcd.env ExecStart=/usr/local/bin/etcd Restart=always
[Install] WantedBy=multi-user.target EOF
ln -s /etc/etcd/etcd.service /usr/lib/systemd/system/etcd.service
|
创建 etcd 环境变量配置文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| cat << EOF > /etc/etcd/etcd.env ETCD_NAME=etcd1 ETCD_DATA_DIR=/etc/etcd/data
ETCD_CLIENT_CERT_AUTH=true ETCD_TRUSTED_CA_FILE=/etc/etcd/pki/ca.crt ETCD_CERT_FILE=/etc/etcd/pki/etcd_server.crt ETCD_KEY_FILE=/etc/etcd/pki/etcd_server.key ETCD_LISTEN_CLIENT_URLS=https://192.168.56.109:2379 ETCD_ADVERTISE_CLIENT_URLS=https://192.168.56.109:2379
ETCD_PEER_CLIENT_CERT_AUTH=true ETCD_PEER_TRUSTED_CA_FILE=/etc/etcd/pki/ca.crt ETCD_PEER_CERT_FILE=/etc/etcd/pki/etcd_peer.crt ETCD_PEER_KEY_FILE=/etc/etcd/pki/etcd_peer.key ETCD_LISTEN_PEER_URLS=https://192.168.56.109:2380 ETCD_INITIAL_ADVERTISE_PEER_URLS=https://192.168.56.109:2380
ETCD_INITIAL_CLUSTER="etcd1=https://192.168.56.109:2380,etcd2=https://192.168.56.110:2380,etcd3=https://192.168.56.111:2380" ETCD_INITIAL_CLUSTER_STATE=new ETCD_INITIAL_CLUSTER_TOKEN=etcd-cluster EOF
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| cat << EOF > /etc/etcd/etcd.env ETCD_NAME=etcd2 ETCD_DATA_DIR=/etc/etcd/data
ETCD_CLIENT_CERT_AUTH=true ETCD_TRUSTED_CA_FILE=/etc/etcd/pki/ca.crt ETCD_CERT_FILE=/etc/etcd/pki/etcd_server.crt ETCD_KEY_FILE=/etc/etcd/pki/etcd_server.key ETCD_LISTEN_CLIENT_URLS=https://192.168.56.110:2379 ETCD_ADVERTISE_CLIENT_URLS=https://192.168.56.110:2379
ETCD_PEER_CLIENT_CERT_AUTH=true ETCD_PEER_TRUSTED_CA_FILE=/etc/etcd/pki/ca.crt ETCD_PEER_CERT_FILE=/etc/etcd/pki/etcd_peer.crt ETCD_PEER_KEY_FILE=/etc/etcd/pki/etcd_peer.key ETCD_LISTEN_PEER_URLS=https://192.168.56.110:2380 ETCD_INITIAL_ADVERTISE_PEER_URLS=https://192.168.56.110:2380
ETCD_INITIAL_CLUSTER="etcd1=https://192.168.56.109:2380,etcd2=https://192.168.56.110:2380,etcd3=https://192.168.56.111:2380" ETCD_INITIAL_CLUSTER_STATE=new ETCD_INITIAL_CLUSTER_TOKEN=etcd-cluster EOF
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| cat << EOF > /etc/etcd/etcd.env ETCD_NAME=etcd3 ETCD_DATA_DIR=/etc/etcd/data
ETCD_CLIENT_CERT_AUTH=true ETCD_TRUSTED_CA_FILE=/etc/etcd/pki/ca.crt ETCD_CERT_FILE=/etc/etcd/pki/etcd_server.crt ETCD_KEY_FILE=/etc/etcd/pki/etcd_server.key ETCD_LISTEN_CLIENT_URLS=https://192.168.56.111:2379 ETCD_ADVERTISE_CLIENT_URLS=https://192.168.56.111:2379
ETCD_PEER_CLIENT_CERT_AUTH=true ETCD_PEER_TRUSTED_CA_FILE=/etc/etcd/pki/ca.crt ETCD_PEER_CERT_FILE=/etc/etcd/pki/etcd_peer.crt ETCD_PEER_KEY_FILE=/etc/etcd/pki/etcd_peer.key ETCD_LISTEN_PEER_URLS=https://192.168.56.111:2380 ETCD_INITIAL_ADVERTISE_PEER_URLS=https://192.168.56.111:2380
ETCD_INITIAL_CLUSTER="etcd1=https://192.168.56.109:2380,etcd2=https://192.168.56.110:2380,etcd3=https://192.168.56.111:2380" ETCD_INITIAL_CLUSTER_STATE=new ETCD_INITIAL_CLUSTER_TOKEN=etcd-cluster EOF
|
所有虚拟机启动 etcd 服务
1
| systemctl start etcd && systemctl enable etcd
|
验证 etcd 服务
1 2 3 4 5 6
| etcdctl --cacert=/etc/etcd/pki/ca.crt --cert=/etc/etcd/pki/etcd_client.crt --key=/etc/etcd/pki/etcd_client.key --endpoints=https://192.168.56.109:2379,https://192.168.56.110:2379,https://192.168.56.111:2379 endpoint health
|
(•̀ᴗ•́)و ̑̑