ETCD-软件升级

软件升级实施

etcd 集群升级无需停机,可以滚动升级。

升级过程不可逆

  • 升级过程中,etcd 集群内节点存在混合版本,并且使用最低版本的协议进行通信
  • 当数据量较大时(大于50MB),刚升级的节点需要花费数分钟同步当前集群的数据。数据量越大,需要花费更多的时间。==可以先检查最新快照文件大小预估总数据量
  • 升级各个节点的中间,等待几分钟会比较安全
  • 若所有节点都升级到较新版本,此时想要降级已经是不可能。

前期准备

  • 确保升级前集群运行正常健康
  • 备份 etcd 数据目录

升级流程

检查集群软件版本

curl http://localhost:2379/version

检查这个集群是否健康

etcdctl cluster-health

停止当前etcd 进程

systemctl stop etcd

备份当前etcd 数据目录

# etcd 2.3.X版本
etcdctl backup 
  --data-dir /data/etcd 
  --backup-dir /data/backup 
  
# etcd 3.X版本
etcdctl snapshot save backup.db

解压新版软件并启动进程


检查当前集群状态

先前已更新一个新版本的etcd 实例,检查集群所有实例是否健康

etcdctl cluster-health

处理其它节点etcd实例

重复上面步骤,直至整个集群都升级完成。

ETCDCTL_API=3 etcdctl endpoint status
原文地址:https://www.cnblogs.com/binliubiao/p/14444082.html