学习记录---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
相关推荐
旖旎夜光28 分钟前
LeetCode 1576: 替换所有的问号(模拟) —— 题解
c++·学习·算法·leetcode·力控
mlidongfeng28 分钟前
【学习】ParallelKittens(PK)学习与分析
学习
吴声子夜歌38 分钟前
Nginx应用与运维——Nginx在Kubernetes中的应用(一)
运维·nginx·kubernetes
坤坤子吖1 小时前
Python基础语法学习:列表和元组
开发语言·笔记·python·学习
JWASX1 小时前
Java 转 go 学习 - 接口
学习·golang
I Am a robert girl1 小时前
从零读懂世界模型的持续学习:一份组合式基准的源码级拆解
学习·具身智能·持续学习·灾难性遗忘·机器人学习·世界模型·组合式基准
扶风ff1 小时前
练题簿在线免费刷题:刷题、背题、错题复习,一个小程序安排日常备考
学习·小程序
東隅已逝,桑榆非晚1 小时前
数据结构队列
数据结构·笔记·学习
老王爱玩车1 小时前
字符串和字符串函数
c语言·开发语言·数据结构·学习
扶风ff1 小时前
练题簿在线免费刷题:共享题库、学习任务、在线考试,岗位培训更方便
学习·小程序