学习记录---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
相关推荐
好奇龙猫2 分钟前
日语学习-日语知识点小记-构建基础-JLPT-N3阶段(3):语法+单词+復習
学习
今天背单词了吗98039 分钟前
算法学习笔记:16.哈希算法 ——从原理到实战,涵盖 LeetCode 与考研 408 例题
笔记·学习·算法
DKPT1 小时前
Java观察者模式实现方式与测试方法
java·笔记·学习·观察者模式·设计模式
止观止1 小时前
深入学习前端 Proxy 和 Reflect:现代 JavaScript 元编程核心
前端·javascript·学习
真的想上岸啊3 小时前
学习C++、QT---25(QT中实现QCombobox库的介绍和用QCombobox设置编码和使用编码的讲解)
c++·qt·学习
ikun·3 小时前
Kubernetes 高级调度01
云原生·容器·kubernetes
you秀4 小时前
K8S中的dns要如何指定??给pod中增加hosts映射,来规避dns冲突问题
java·容器·kubernetes
序属秋秋秋4 小时前
《C++初阶之STL》【泛型编程 + STL简介】
开发语言·c++·笔记·学习
Chef_Chen5 小时前
从0开始学习计算机视觉--Day09--卷积与池化
深度学习·学习·计算机视觉
fengye2071616 小时前
板凳-------Mysql cookbook学习 (十一--------10)
学习·mysql·adb