etcd集群增加节点

前言:发现etcd集群同步消息延迟有点高,所以把etcd集群迁移到有ssd盘的节点上

1.迁移前的准备

查看etcd版本

[root@test ~]# etcdctl --version
etcdctl version: 3.3.11
API version: 2

因为etcd使用的是二进制安装,所以查看etcd 二进制所在文件位置

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

[Service]
Type=notify
EnvironmentFile=-/etc/etcd/etcd.conf
ExecStart=/usr/bin/etcd
Restart=on-failure
LimitNOFILE=65536

[Install]
WantedBy=multi-user.target

把/usr/bin/etcd 拷贝到新增节点的/usr/bin/目录下,也可以把etcdctl拷贝到新增主机上,因为我都是在leader上操作,所以我没有拷贝etcdctl

2.编辑配置文件

在新增节点上编辑etcd配置文件,注意先不要启动etcd,先把配置文件编辑好,配置文件可以参照别的节点的信息,然后增加本主机的信息即可,但是要把ETCD_INITIAL_CLUSTER_STATE="existing" 添加上,如果是new,则需要修改成"existing",不然启动会报错

3.数据备份和添加节点

在leader节点上操作,如果不知道那个是leader节点可以执行命令查看

先对数据做个快照,因为我的api还是v2,所以我需要指定使用v3版本

ETCDCTL_API=3 etcdctl --endpoints=http://leaderip:2380 snapshot save snapshot.db

 做完快照之后,然后在leader节点执行添加member命令

ETCDCTL_API=3 etcdctl member add etcd7 --peer-urls=http://新增节点ip:2380

注意etcd7和新增节点ip,要和新增节点的配置文件中的保持一致,然后在新增节点启动etcd。

4.查看数据同步,集群配置文件同步

最后在etcd节点执行命令查看etcd数据是否同步,然后把原先集群中的etcd配置,一台一台更改(增加新增加节点信息)。

总结:

1.在新增节点安装好etcd,并且配置文件增加新的节点信息

2.在leader节点上做个快照,然后增加节点

3.查看数据是否已经同步,修改集群中其他节点的配置文件,保持集群信息一致,防止其他节点发生重启导致集群信息不一致

你可能感兴趣的:(k8s,linux系统,etcd,kubernetes,数据库)