学习记录---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
相关推荐
百锦再4 小时前
Vue高阶知识:利用 defineModel 特性开发搜索组件组合
前端·vue.js·学习·flutter·typescript·前端框架
CappuccinoRose5 小时前
JavaScript 学习文档(二)
前端·javascript·学习·数据类型·运算符·箭头函数·变量声明
A9better5 小时前
C++——不一样的I/O工具与名称空间
开发语言·c++·学习
AI职业加油站5 小时前
职业提升之路:我的大数据分析师学习与备考分享
大数据·人工智能·经验分享·学习·职场和发展·数据分析
四谎真好看5 小时前
JavaWeb学习笔记(Day13)
笔记·学习·学习笔记·javaweb
ZH15455891315 小时前
Flutter for OpenHarmony Python学习助手实战:机器学习算法实现的实现
python·学习·flutter
承渊政道6 小时前
Linux系统学习【Linux基础开发工具】
linux·运维·笔记·学习·centos·编辑器
承渊政道6 小时前
C++学习之旅【C++中模板进阶内容介绍】
c语言·c++·笔记·学习·visual studio
浅念-6 小时前
C语言——动态内存管理
c语言·开发语言·c++·笔记·学习
ASKED_201915 小时前
Langchain学习笔记一 -基础模块以及架构概览
笔记·学习·langchain