etcdctl defrag & 剔除、添加etcd节点

零、准备工作

复制代码
find / -name etcdctl
cp /var/lib/containerd/io.containerd.snapshotter.v1.overlayfs/snapshots/12/fs/usr/local/bin/etcdctl /usr/local/bin/etcdctl

alias ec="etcdctl --endpoints=https://127.0.0.1:2379 --cacert /etc/kubernetes/pki/etcd/ca.crt --cert=/etc/kubernetes/pki/etcd/server.crt --key=/etc/kubernetes/pki/etcd/server.key"

ec  endpoint status  member list --cluster

一、etcdctl defrag

ec defrag

复制代码
ks exec -it $(ks get pod | grep etcd | awk 'NR==1 {print $1}') sh

alias ec="etcdctl --endpoints=https://127.0.0.1:2379 --cacert /etc/kubernetes/pki/etcd/ca.crt --cert=/etc/kubernetes/pki/etcd/server.crt --key=/etc/kubernetes/pki/etcd/server.key"
ec endpoint status --cluster -w table

ec defrag

ec endpoint status --cluster -w table

ec !

遇事不要慌,先深呼吸一下。

1、关闭etcd

复制代码
mv /etc/kubernetes/manifests/etcd.yaml .

2、etcdctl defrag

复制代码
etcdctl defrag --data-dir /opt/qfusion/etcd

3、启动etcd

复制代码
mv etcd.yaml /etc/kubernetes/manifests/etcd.yaml

4、查看etcd服务

复制代码
ec  endpoint status  member list --cluster

nerdctl ps -a |grep etcd

二、剔除etcd

1、member remove

复制代码
ec member remove <memberID>

2、移除配置

复制代码
mv /etc/kubernetes/manifests/etcd.yaml .

3、移除etcd数据目录

复制代码
mv /opt/qfusion/etcd /opt/qfusion/etcd_bak

三、添加etcd

1、在正常的节点上操作,假如etcd节点

复制代码
ec member add 10-10-180-15 --peer-urls=https://10.10.180.15:2380

2、启动etcd

复制代码
    - --initial-cluster=10-10-180-15=https://10.10.180.15:2380,10-10-180-8=https://10.10.180.8:2380,10-10-180-9=https://10.10.180.9:2380 #加入etcd集群的时候需要补全集群信息,否则etcd会报 member count is unequal 的错误而无法成功启动
    - --initial-cluster-state=existing # 以加入etcd集群的方式启动etcd

initial-cluster-state=new # 以新建etcd集群的方式启动etcd

相关推荐
Zenova EdgeOS30 分钟前
工业网关数据持久化:从同步到 WAL 的工程实战
网络·数据库·oracle
企查查数据服务31 分钟前
全军禁入下客商准入风控,关联图谱与穿透核查
大数据·开发语言·数据库·php
冰帆<44 分钟前
DBViewer — 把数据库工作台,安装进浏览器
数据库·数据可视化·数据同步
学Linux的语莫1 小时前
LangChain Prompts 提示词模板
数据库·人工智能·langchain
敲代码的嘎仔1 小时前
从集群锁失效到异步领券:我用分布式锁 + Redisson + MQ 把领券接口 RT 从 200ms 压到 15ms
java·数据库·redis·分布式·缓存·ai·wpf
步行cgn1 小时前
Spring 的模块体系详解
java·数据库·spring
vx-程序开发1 小时前
【计算机毕设】基于Spring Boot的古城景区管理系统88564
java·数据库·spring boot·后端·spring·elasticsearch·课程设计
写后端的胖头鱼2 小时前
【高频面试题】深分页问题
数据库·mysql·数据库优化·深分页
梦想平凡2 小时前
百游棋牌源代码开发搭建教程(二):PostgreSQL安装、业务表创建与版本化迁移
数据库·游戏·postgresql
企业解惑小助手2 小时前
如何禁止文字复制?企业文档防复制项目需求拆解方案
运维·数据库·安全