当前位置: 首页 > article >正文

K8S-etcd备份还原操作手册

1、备份操作

​​​​​​​1.1、环境说明

etcd备份和恢复脚本清单:

etcdbak.sh  //用于对etcd各节点进行备份,需要将该脚本拷贝至各节点统一目录。

etcdret.sh  //用于进行还原操作。

​​​​​​​1.2、备份修改脚本

 打开修改脚本修改如下配置信息

#具体节点地址 

#群各节点地址

#EtcdEndpoints="http://10.143.55.118:1159,http://10.143.55.119:1159,http://10.143.55.121:1159"

EtcdEndpoints=http://10.143.55.119:1159

#etcd客户端

EtcdCmd="/usr/bin/etcdctl"  

#备份主机地址

BackupHost="10.143.55.118"  

#备份数据目录

BackupDir="/data/backup/etcd/"   

#备份文件名

BackupFile="snapshot"$(date +%Y%m%d)_$(date +%H%M%S)".db"

#ca证书

CertFile="/etc/kubernetes/ssl/etcd/ca.crt"  

#/etcd证书

ServerFile="/etc/kubernetes/ssl/etcd/server.crt"

#etcd证书key

KeyFile="/etc/kubernetes/ssl/etcd/server.key"

#集群名称

EtcdToken="cc34c326-4694-48c6-afdf-c317f40c1847"

# 是否启动etcd证书

CertBoolen="false"

#etcd名称

EtcdName="etcd55_118"

# etcd集群是否健康

Ishealth="false"

​​​​​​​1.3、手动执行脚本测试

 chmod +x  etcdbak.sh

 sh ectdbak.sh

​​​​​​​1.4、检查备份文件是否存在

 切换到备份数据目录下,查找以当前日期结尾的备份文件如

​​​​​​​1.5、注意事项

(1)如果在脚本执行过程中,出现etcd集群节点错误,则需要首先修复etcd正常运行,否则长时间备份连线etcd 会增加etcd集群崩溃风险,脚本在执行前进行检查,若集群状态不健康,不进行备份。

(2)备份为周期为每天,所以注意检查磁盘容量并及时删除多余备份数据。​​​​​​​

1.6、设置备份周期

向 vi /etc/crontab 追加记录 【注意按实际脚本存放位置和自定义周期修改追加信息,默认为每天凌晨三点备份】

0  3  *  *  * root  /data/backup/ etcdbak.sh

 保存生效

加载任务,使之生效:crontab /etc/crontab

查看任务:crontab -l

​​​​​​​1.7、日志调取

 各节点在etcd备份文件同级目录下查看etcdbak.log

2、还原操作

2.1、停止etcd

ansible etcd -m shell -a "systemctl stop etcd" -i hosts

2.2 、清空

ansible etcd  -m shell  -a "rm -rf /apps/etcd_data/*" -i hosts

​​​​​​​2.3、分发还原数据到各节点

发同一份数据至各etcd节点同一目录下

ansible etcd copy -a -m "src= /data/backup/etcd/snapshot.db20211112_200249.db dest= /data/backup/etcd/ owner=root group=root mode=0644 " -i hosts

​​​​​​​2.4、修改各节点脚本配置

​​​​​​​2.5、导入操作

chomd  +x  etcdrest.sh

sh    etcdrest.sh

2.6、启动etcd

ansible etcd -m shell -a "systemctl start etcd" -i hosts

2.7、恢复后检查

Kubectl get pod -A


http://www.kler.cn/a/595626.html

相关文章:

  • 第一讲 | 解锁C++编程能力:基础语法解析
  • 基于koajsAdmin+mongodb的后台管理快速开发框架安装运行记录
  • SpringCloud-创建项目
  • SpringMVC全局异常处理机制
  • 调用feapder作为子程序时setting.py文件不起作用
  • 基于Python的智联招聘数据可视化分析推荐系统
  • HTML应用指南:利用GET请求获取猫眼电影日票房信息——以哪吒2为例
  • 在 Linux下使用 Python 3.11 和 FastAPI 搭建带免费证书的 HTTPS 服务器
  • GROOT N1,英伟达开源的人形机器人模型
  • 一些硬件知识【2025/3/1】
  • 【负载均衡系列】nginx负载高怎么排查
  • pbootcms版AI自动发文插件,自动发布自动配图,支持多任务
  • 存储过程在高并发环境下的重要性
  • 快速入手-基于Django的主子表间操作mysql(五)
  • dockerSDK-Go语言实现
  • DeepSeek 助力 Vue3 开发:打造丝滑的表格(Table)之添加导出数据功能示例7,TableView15_07带边框和斑马纹的导出表格示例
  • 【数据库备份】docker中数据库备份脚本——MySql备份脚本
  • C++ 异常 【无敌详细版】
  • 汇川EASY系列之以太网通讯(MODBUS_TCP做主站)
  • 爱普生晶振FC2012AA汽车ADAS主控制系统的理想选择