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/

相关推荐
运维开发故事2 天前
基于 Arthas 的多集群在线诊断系统设计与实现
kubernetes
Patrick_Wilson3 天前
从「改个端口」到 502:Next.js on k8s 的容器端口、Service 映射与 env 覆盖
docker·kubernetes·next.js
探索云原生4 天前
K8s 1.36 这个 GA 特性,把 initContainer 拉模型的 hack 干掉了
ai·云原生·kubernetes
云恒要逆袭4 天前
运行你的第一个Docker容器
后端·docker·容器
Java之美5 天前
一次k8s升级引发的DevicePlugin注册失败
云原生·kubernetes
程序员老赵5 天前
10 分钟部署 OpenCode:Docker 一键安装,浏览器打开就能用 AI 写代码(附完整命令与排错)
docker·容器·ai编程
武子康8 天前
调查研究-183 Apple container:Mac 上用轻量 VM 跑 Linux 容器,Swift 会改写本地容器体验吗?
docker·容器·apple
2601_9618752411 天前
决战申论100题2026|最新|范文
linux·容器·centos·debian·ssh·fabric·vagrant
java_cj12 天前
深入kube-apiserver认证机制:从Bearer Token到mTLS的完整认证链解析
linux·运维·服务器·云原生·容器·kubernetes