学习记录---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
相关推荐
musenh5 分钟前
css样式学习
css·学习·css3
Larry_Yanan17 分钟前
QML学习笔记(五十)QML与C++交互:QML中单例C++对象
开发语言·c++·笔记·qt·学习·ui·交互
im_AMBER17 分钟前
算法笔记 09
c语言·数据结构·c++·笔记·学习·算法·排序算法
Nan_Shu_6141 小时前
学习:JavaScript(5)
开发语言·javascript·学习
小坏讲微服务1 小时前
五分钟使用 Docker-compose搭建 Redis 8.0 中间件
运维·redis·docker·中间件·容器·kubernetes·k8s
民乐团扒谱机2 小时前
实验室安全教育与管理平台学习记录(八)特种设备安全
学习·安全
喜欢吃燃面3 小时前
C++:哈希表
开发语言·c++·学习
初圣魔门首席弟子3 小时前
C++ STL list 容器学习笔记:双向链表的 “小火车“ 操控指南
c++·windows·笔记·学习
2301_796512524 小时前
Rust编程学习 - 如何学习有关函数和闭包的高级特性,这包括函数指针以及返回闭包
服务器·学习·rust
LBuffer4 小时前
破解入门学习笔记题三十四
java·笔记·学习