etcd三节点,其中一个坏掉了的恢复办法

一、配置etcdctl环境变量


#其中证书实际路径和endpoints,以环境情况为准,查询方式

ps -ef | grep 'etcd-cafile'

ps -ef | grep 'etcd-servers'

export ETCDCTL_API=3

export ETCDCTL_CACERT=/etc/kubernetes/ssl/etcd/ca.crt

export ETCDCTL_CERT=/etc/kubernetes/ssl/etcd/etcdctl-etcd-client.crt

export ETCDCTL_KEY=/etc/kubernetes/ssl/etcd/etcdctl-etcd-client.key

export ETCDCTL_DIAL_TIMEOUT=3s

export ETCDCTL_ENDPOINTS=https://10.12.107.99:2379,https://10.12.107.100:2379,https://10.12.107.101:2379


二、确保有etcdctl命令,如果没有去官网下载二进制包安装即可

三、从集群中剔除故障节点(确保故障节点etcd服务已停止 systemctl stop etcd)

#集群成员信息

etcdctl -wtable member list

#集群主从同步情况

etcdctl -wtable endpoint status

etcdctl -wtable endpoint health

摘除一个节点

etcdctl member remove 成员id

四、清空故障节点etcd的数据目录

mv /var/lib/etcd /var/lib/etcd_bak

五、加入节点 (确保etcd启动参数etcd.env中--initial-cluster-state 为existing)

etcdctl member add 成员名称(主机名) --peer-urls=https://10.8.47.13:2380

六、启动etcd服务

systemctl start etcd

相关推荐
Meepo_haha3 分钟前
配置 Redis
数据库·redis·缓存
u0109147602 小时前
CSS组件库如何快速扩展_通过Sass @extend继承基础布局
jvm·数据库·python
baidu_340998822 小时前
Golang怎么用go-noescape优化性能_Golang如何使用编译器指令控制逃逸分析行为【进阶】
jvm·数据库·python
m0_678485452 小时前
如何利用虚拟 DOM 实现无痕刷新?基于 VNode 对比的状态保持技巧
jvm·数据库·python
qq_342295822 小时前
CSS如何实现透明背景效果_通过RGBA色彩模式控制透明度
jvm·数据库·python
panzer_maus2 小时前
MySQL 索引介绍与索引优化的简单介绍
数据库·mysql
Greyson12 小时前
CSS如何处理超长文本换行问题_结合word-wrap属性
jvm·数据库·python
captain3763 小时前
事务___
java·数据库·mysql
justjinji3 小时前
如何批量更新SQL数据表_使用UPDATE JOIN语法提升效率
jvm·数据库·python
爱学习的小邓同学3 小时前
MySQL --- MySQL数据类型
数据库·mysql