学习记录---kubernetes中备份和恢复etcd

一、简介

ETCD是kubernetes的重要组成部分,它主要用于存储kubernetes的所有元数据,我们在kubernetes中的所有资源(node、pod、deployment、service等),如果该组件出现问题,则可能会导致kubernetes无法使用、资源丢失等情况。因此,我们还是要对该组件进行定期备份。

二、备份及验证操作

备份命令:

复制代码
ETCDCTL_API=3 etcdctl --endpoints=https://127.0.0.1:2379 \
  --cacert=<trusted-ca-file> --cert=<cert-file> --key=<key-file> \
  snapshot save <backup-file-location>/etcd_`date +%Y-%m-%d-%H-%M`_snapshot.db

其中,trusted-ca-file、cert-file、key-file可以从etcd的pod里面里面获得

复制代码
kubectl describe pod `kubectl get pods -A|grep etcd|awk '{print $2}'` -n kube-system

三、验证备份

复制代码
source /etc/profile
for i in `ls /app/etcd_backupfile`
do
echo ETCDCTL_API=3 etcdctl --write-out=table snapshot status $i >> /<backup-file-location>/check_backupfile_`date +%Y%m%d`.sh
done

验证脚本执行:
sh /<backup-file-location>/check_backupfile_`date +%Y%m%d`.sh

四、验证恢复

复制代码
ETCDCTL_API=3 etcdctl snapshot restore --data-dir <data-dir-location>/etcd_`date +%Y-%m-%d-%H-%M`_snapshot.db
相关推荐
yangyanping2010810 分钟前
Go语言学习之对象关系映射GORM
jvm·学习·golang
网络工程小王15 分钟前
【Transformer架构详解】(学习笔记)
笔记·学习
倒酒小生2 小时前
今日算法学习小结
学习
醇氧3 小时前
【学习】【说人话版】子网划分
学习
不灭锦鲤4 小时前
网络安全学习(面试)
学习·安全·web安全
世人万千丶5 小时前
Flutter 框架跨平台鸿蒙开发 - 鸿蒙版本五子棋游戏应用
学习·flutter·游戏·华为·harmonyos·鸿蒙
Aktx20FNz5 小时前
一文学习 Spring AOP 源码全过程
java·学习·spring
Jay Kay5 小时前
生成式推荐模型学习记录part1
学习
正经教主7 小时前
【docker基础】0、系统学习docker之总计划
学习·docker·容器
Yang三少喜欢撸铁7 小时前
【Centos7通过kubeadm方式部署kubernetes1.30版本【一主两从】】
docker·kubernetes·container