学习记录---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
相关推荐
浅念-几秒前
C语言——自定义类型:结构体、联合体、枚举
c语言·开发语言·数据结构·c++·笔记·学习·html
AI视觉网奇7 分钟前
ue slot 插槽用法笔记
笔记·学习·ue5
Jack___Xue9 分钟前
LangGraph学习笔记(二)---核心组件与工作流人机交互
笔记·学习·人机交互
微露清风18 分钟前
系统性学习Linux-第三讲-进程概念
linux·运维·学习
AI视觉网奇23 分钟前
blender fbx 比例不对 比例调整
笔记·学习·ue5
中二病码农不会遇见C++学姐28 分钟前
SRT文件全解析:从“视频对话本”到时间轴字幕格式
学习·srt
新缸中之脑30 分钟前
构建一个论文学习AI助手
人工智能·学习
FPGA小迷弟36 分钟前
FPGA处理图像需要用到的主流接口详解
学习·fpga开发·verilog·fpga·modelsim
hwj运维之路37 分钟前
超详细ubuntu22.04部署k8s1.28高可用(一)【多master+keepalived+nginx实现负载均衡】
运维·云原生·kubernetes·负载均衡
好奇龙猫37 分钟前
【日语学习-日语知识点小记-日本語体系構造-JLPT-N2前期阶段-第一阶段(10):単語文法】
学习