etcd节点扩容

实验架构

master: 192.168.0.91   etcd 
node2: 192.168.0.92
node3: 192.168.0.93

目的:把node2节点作为etcd节点添加进来


1、复制master单节点ca 根证书和私钥、etcd的证书和私钥

node2 上先创建存放证书和私钥目录

mkdir -p /etc/kubernetes/cert/

mkdir -p /etc/etcd/cert/

从master节点上找到证书和私钥进行复制

scp ca*.pem [email protected]/etc/kubernetes/cert/

scp etcd*.pem [email protected]/etc/kubernetes/cert/


2、安装etcd

mkdir -p /server/software/k8s
mkdir -p /opt/k8s/bin
cd /server/software/k8s
wget https://github.com/coreos/etcd/releases/download/v3.2.18/etcd-v3.2.18-linux-amd64.tar.gz
tar -xf etcd-v3.2.18-linux-amd64.tar.gz
mv etcd-v3.2.18-linux-amd64/etcd* /opt/k8s/bin
chmod +x /opt/k8s/bin/*
ln -s /opt/k8s/bin/etcd /usr/bin/etcd
etcd --version


3、注册新节点

需要在原来节点上操作
etcdctl member add node2 http://192.168.0.92:2380

etcdctl 在注册完新节点后,会返回一段提示,包含3个环境变量。然后在第二步启动新节点的时候,需要修改成这3个环境变量即可

[root@master ~]# etcdctl member add node2 http://192.168.0.92:2380
Added member named node2 with ID e6649d212dd225a8 to cluster

ETCD_NAME="node2"
ETCD_INITIAL_CLUSTER="master=https://192.168.0.91:2380,node2=http://192.168.0.92:2380"
ETCD_INITIAL_CLUSTER_STATE="existing"


4、 配置etcd启动脚本

cat >> /etc/profile << EOF
export ETCD_NAME=$(hostname)
export INTERNAL_IP=$(hostname -i | awk '{print $NF}')
export ECTD_CLUSTER='master=https://192.168.0.91:2380'
EOF

source /etc/profile

mkdir -p /data/etcd

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

[Service]
Type=notify
WorkingDirectory=/data/etcd
EnvironmentFile=-/etc/etcd/etcd.conf
ExecStart=/opt/k8s/bin/etcd \\
  --name $ETCD_NAME \\
  --cert-file=/etc/etcd/cert/etcd.pem \\
  --key-file=/etc/etcd/cert/etcd-key.pem \\
  --peer-cert-file=/etc/etcd/cert/etcd.pem \\
  --peer-key-file=/etc/etcd/cert/etcd-key.pem \\
  --trusted-ca-file=/etc/kubernetes/cert/ca.pem \\
  --peer-trusted-ca-file=/etc/kubernetes/cert/ca.pem \\
  --initial-advertise-peer-urls https://${INTERNAL_IP}:2380 \\
  --listen-peer-urls https://${INTERNAL_IP}:2380 \\
  --listen-client-urls https://${INTERNAL_IP}:2379,http://127.0.0.1:2379 \\
  --advertise-client-urls https://${INTERNAL_IP}:2379 \\
  --initial-cluster-token my-etcd-token \\
  --initial-cluster $ECTD_CLUSTER,node2=http://192.168.0.92:2380 \\
  --initial-cluster-state existing \\
  --data-dir=/data/etcd
Restart=on-failure
RestartSec=5
LimitNOFILE=65536

[Install]
WantedBy=multi-user.target
EOF


5、启动新节点

systemctl daemon-reload      #一定要执行,否则报错
systemctl start etcd
systemctl status etcd
systemctl enable etcd
systemctl stop etcd

6、检测新节点

需要在master节点上操作



参照文档:

http://www.mamicode.com/info-detail-1737556.html
http://www.cnblogs.com/breg/p/5728237.html

猜你喜欢

转载自www.cnblogs.com/effortsing/p/10296424.html