Kubernetes etcd备份恢复

etcdctl是一个命令行的客户端 ,它提供了一些命令,可以方便我们在对服务进行测试或者手动修改数据库内容。

etcdctl命令需要压缩包导入:tar xf etcd-v3.5.17-linux-amd64.tar.gz

将etcdct命令拖入sbin :cp etcdctl /usr/sbin/

查看连接数据库时的路径端口:kubectl -n kube-system get pod etcd-k8s-master -oyaml

在/root下 vim .bashrc 加入编写(注意IP地址)

alias etcdctl="etcdctl --cert /etc/kubernetes/pki/etcd/peer.crt --key /etc/kubernetes/pki/etcd/peer.key --endpoints=https://192.168.11.160:2379 --insecure-skip-tls-verify"

让环境变量永久生效、不用每次都手动 export:source .bashrc

查看 etcd 客户端 + 服务端 的版本号:etcdctl version

查看 etcd 集群有哪些节点 + 节点状态 ,用表格形式 展示:etcdctl member list -w table

查看 etcd 集群每个节点的状态 + 健康情况 + 是否是主节点:etcdctl endpoint status -w table

查看警告事件:etcdctl alarm list

解除所有警告:etcdctl alarm disarm

单节点部署的etcd无法直接扩容

备份恢复指令

etcd的备份统一放在/var/lib/etcd/member/wal下

做备份防止数据库崩溃,etcd挂,k8s集群挂

数据库升级前一定要备份

数据库扩容前一定要备份

给 etcd 做一个完整备份:etcdctl snapshot save etcd-snapshot.db

查看刚才备份的 etcd 快照文件信息,用表格展示:

etcdctl snapshot status etcd-snapshot.db -w table

数据库恢复前要删除rm -rf /var/lib/etcd/*

恢复备份: etcdctl snapshot restore /opt/etcd-snapshot.db (命令执行后当前目录下会生成一个default.etcd的目录)

将default.etcd目录下的member目录 cp -r member/ /var/lib/etcd/member/

相关推荐
虎头金猫1 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
赵文宇(温玉)1 天前
CoreDNS的hosts插件的缺行配置导致k8s集群异常
容器·kubernetes·rancher
guo_wen_qiang1 天前
上传本地镜像到harbor中
docker·容器·持续部署
张洛闻Eren1 天前
k8s云原生【第十课】:水平 Pod 自动扩缩容
运维·数据库·云原生·kubernetes·github
忆~遂愿1 天前
本地片库怎么在外面打开?Plex + cpolar 搭一套可远程访问的私人影音库
docker·容器
Thneonl1 天前
你的 Pod 为什么 Pending:调度器两阶段
后端·kubernetes
不吃香菜kkk、1 天前
CI/CD(GitOps)学习与部署手册
运维·云原生·容器·kubernetes·云计算·jenkins·argocd
九皇叔叔2 天前
Kubernetes 资源管理方式详解:命令式与声明式管理
docker·容器·k8s
程序猿小郑2 天前
Docker Compose 构建完整服务实战指南:从入门到最佳实践
docker·容器
ysu_03142 天前
【2026】K8s GPU调度空占怎么解?Kueue与Volcano Gang配置
云原生·kubernetes·gpu算力·volcano·ai基础设施·kueue·gang scheduling