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/

相关推荐
张忠琳6 小时前
【client-go v0.36.1】LeaderElection 深度分析(上篇)— 模块定位、结构、LeaderElector 核心逻辑
云原生·kubernetes·client-go·leaderelection
牛奶咖啡137 小时前
k8s容器编排技术实践——K8s中服务发现ingress、ingress controller 应用实践
kubernetes·服务发现·ingress·ingress-nginx·部署ingress-nginx·部署ingress的三种方法·ingress的服务发现原理
l1t7 小时前
DeepSeek总结的使用 Docker 对 PostgreSQL 进行 Beta 测试
docker·postgresql·容器
张忠琳8 小时前
【client-go v0.36.1】tools/cache 深度分析(中篇)— 辅助组件逐行解析
云原生·kubernetes·cache·informer·client-go
暮云星影12 小时前
个人总结 docker 常用命令
docker·容器
张忠琳13 小时前
【client-go v0.36.1】WorkQueue 深度分析(下篇)— 限流队列、限流器、指标、并行化
云原生·kubernetes·informer·workqueue·client-go
极客先躯13 小时前
高级java每日一道面试题-2026年01月19日-实战篇[Docker]-如何配置镜像仓库的垃圾回收 (GC)?
java·运维·docker·容器
日取其半万世不竭14 小时前
low-memory-server-swap-20260601
docker·容器·https
暮云星影14 小时前
个人总结 docker搭建PDF操作工具
docker·容器·pdf
zhoupenghui16815 小时前
AI大模型应用部署之Flask框架使用
运维·python·docker·容器·flask·flask框架