首页 > 其他分享 >K8S认证|CKA题库+答案| 15. 备份还原Etcd

K8S认证|CKA题库+答案| 15. 备份还原Etcd

时间:2024-05-26 19:00:38浏览次数:12  
标签:opt CKA Etcd -- 备份 15 etcd 题库

目录

15、 备份还原Etcd

CKA v1.29.0模拟系统  下载试用

题目: 

开始操作:

1)、切换集群

2)、登录master并提权

3)、备份Etcd现有数据

4)、验证备份数据快照

5)、查看节点和Pod状态 

6)、创建目录

​7)、执行Etcd数据恢复命令

8)、验证恢复情况 

​9)、更改Etcd配置

10)、重启kubelet

11)、对比验证

​12)、退回node01


15、 备份还原Etcd

CKA v1.29.0模拟系统  下载试用

题目: 

您必须在以下Cluster/Node上完成此考题:    

  Cluster                                         Master node                                         Worker node

      k8s                                                 master                                                    node01

.

设置配置环境:

[candidate@node01]$  kubectl config use-context k8s

.

Context

Etcd数据库备份与还原

.

Task

首先,为运行在 https://127.0.0.1:2379 上的现有 etcd 实例创建快照并将快照保存到 /var/lib/backup/etcd-snapshot.db . 为给定实例创建快照预计能在几秒钟内完成。 如果该操作似乎挂起,则命令可能有问题。用 CTRL + C 来取消 操作,然后重试. . 然后还原位于以下位置的现有先前快照。 /data/backup/etcd-snapshot-previous.db 提供了以下TLS证书和密钥,以通过 etcdctl 连接到服 务器。 . • CA 证书: /opt/KUIN00601/ca.crt • 客户端证书: /opt/KUIN00601/etcd-client.crt • 客户端密钥: /opt/KUIN00601/etcd-client.key

开始操作:

1)、切换集群

# 考试时有多套集群环境,以免答题环境相互干扰。
# 所以考试时务必按照题目要求先切换到所对应的集群环境,才是正确答题的前提,非常重要
# 请务必确认现在所处节点为node01,否则无法切换集群而报错
kubectl config use-context k8s

2)、登录master并提权

有些人较劲说题目没有说让登录master,然后在node01一顿操作,我只能说总得登录master看Etcd配置文件吧,考试的时候千万别较劲

ssh master
sudo -i

CKA模拟环境操作截图:

3)、备份Etcd现有数据

#执行ETCD备份
ETCDCTL_API=3 etcdctl --endpoints=https://127.0.0.1:2379 \       #备份指定节点服务器
--cacert=/opt/KUIN00601/ca.crt \
--cert=/opt/KUIN00601/etcd-client.crt \
--key=/opt/KUIN00601/etcd-client.key \
snapshot save /var/lib/backup/etcd-snapshot.db                   #备份数据文件存放位置

CKA模拟环境操作截图:

4)、验证备份数据快照

ETCDCTL_API=3 etcdctl --write-out=table snapshot status /var/lib/backup/etcd-snapshot.db

CKA模拟环境操作截图: 

5)、查看节点和Pod状态 

下面我们开始进行Etcd数据还原,开始前我们先执行查看节点和Pod运行状态命令(此步骤非必须,只是练习时与数据恢复后进行状态对比,便于大家理解):

kubectl get node
kubectl get pod -A

 CKA模拟环境Etcd数据恢复之前状态截图,第二题cpu-top三个Pod是存在的: 

6)、创建目录

数据恢复过程中需要用到的目录

mkdir /opt/backup                                   #创建系统配置文件备份目录
mkdir /var/lib/etcd-restore                         #创建ETCD数据恢复目录
mv /etc/kubernetes/manifests/kube* /opt/backup/     #将系统配置文件移动至此目录,即官网所述停止所有API实例

CKA模拟环境操作截图:  

7)、执行Etcd数据恢复命令

#ETCD还原
ETCDCTL_API=3 etcdctl --endpoints=https://127.0.0.1:2379 \
--cacert=/opt/KUIN00601/ca.crt \
--cert=/opt/KUIN00601/etcd-client.crt \
--key=/opt/KUIN00601/etcd-client.key \
--data-dir=/var/lib/etcd-restore \                             #指定恢复的数据目录
snapshot restore /data/backup/etcd-snapshot-previous.db        #将要恢复的备份数据

CKA模拟环境操作截图: 

8)、验证恢复情况 

#查看数据恢复情况
ls /var/lib/etcd-restore
#将系统配置文件复制回系统配置目录,为K8S所有API实例重启做准备
cp /opt/backup/* /etc/kubernetes/manifests/

CKA模拟环境操作截图: 

9)、更改Etcd配置

#备份etcd配置文件,之所以bak放在前面使因为实际测试时发现bak放在后面有时会导致系统还会默认使用原先的配置文件,或者直接将备份配置文件移除原目录
mv /etc/kubernetes/manifests/etcd.yaml /etc/kubernetes/manifests/bak.etcd.yaml
#替换原有配置路径并生成新的etcd.yaml配置文件
sed 's!/var/lib/etcd!/var/lib/etcd-restore!'  /etc/kubernetes/manifests/bak.etcd.yaml > /etc/kubernetes/manifests/etcd.yaml
#检查搜索是否有为替换配置
cat /etc/kubernetes/manifests/etcd.yaml | grep '/var/lib/etcd'
#检查搜索已替换配置项
cat /etc/kubernetes/manifests/etcd.yaml | grep '/var/lib/etcd-restore'

10)、重启kubelet

#重启 kubelet
systemctl daemon-reload
systemctl restart kubelet

CKA模拟环境操作截图: 

11)、对比验证

命令执行完毕,等待差不多五分钟再次执行查看节点和Pod状态命令,以下截图为数据恢复完毕后查看状态,比数据恢复之前明显少了三个命名空间为cpu-top的三个Pod

12)、退回node01

操作完成,然后执行两次exit退出master,检查主机名称进行确认

exit                             #退出提权状态
exit                             #退出master主机

CKA模拟环境操作截图


CKA仿真模拟环境简短演示 

<iframe allowfullscreen="true" data-mediaembed="csdn" frameborder="0" id="qYlSVCZE-1716436328446" src="https://live.csdn.net/v/embed/387961"></iframe>

标签:opt,CKA,Etcd,--,备份,15,etcd,题库
From: https://blog.csdn.net/tiger0310119/article/details/139141967

相关文章

  • Http请求携带JSON字符串,报错415
    //使用ajax向后端发送post请求,响应415letjsonObj={"username":"zhangsan","password":"1234"}Vue.createApp({data(){return{message:''}},methods......
  • etcd MVCC 存储结构及流程
    什么是MVCCMVCC是Multi-VersionConcurrencyControl的缩写,即多版本并发控制。它是一种并发控制的方法,用于在数据库系统中实现事务的隔离性。MVCC是一种乐观锁机制,它通过保存数据的多个版本来实现事务的隔禽性。在etcd中,MVCC是用于实现数据的版本控制的。而且可以查看历......
  • P1504 积木城堡/01背包板子
    代码:#define_CRT_SECURE_NO_WARNINGS#include<iostream>#include<vector>#include<algorithm>#include<math.h>#include<sstream>#include<string>#include<string.h>#include<iomanip>#include<stdlib.h>......
  • 赛克 1530(环形dp)
    赛氪OJ-专注于算法竞赛的在线评测系统(saikr.com)枚举第一张卡片是由法力值降低还是法力值上升得到的,一共有4种情况,d[i][j][0]表示第i个卡牌选第j个法力值并且上一个卡牌的法力值大于j的所获得的前i个卡牌的最大运气值;d[i][j][1]表示第i个卡牌选第j个法力值并且上一个卡牌的法力......
  • centos7安装postgresql-15
    摘要:本文将提供一个详细的教程,介绍如何在CentOS7操作系统上安装最新版本的PostgreSQL15。您将学习到如何添加PostgreSQL官方软件仓库,并使用yum命令进行安装和配置。1.引言PostgreSQL是一个功能强大的开源关系型数据库管理系统,被广泛用于企业级应用和数据存储。安装最新版......
  • hduoj 1506(笛卡尔树)
    Problem-1506(hdu.edu.cn)题意坐标轴给定一些矩形,紧密排在一起,每个矩形宽度固定为1,问形成的图案中最大可以组成的矩形面积。思路常规思路是可以用单调栈分别找两边的合法边界,这里使用笛卡尔树。笛卡尔树实现了堆的性质,并且对原数组建立的笛卡尔树进行中序遍历为原数组的顺......
  • [CF1517F] Union
    计数好题。关键点在于一步转化,然而我并没有发现。首先期望转计数,对于这类问题,我们有很经典的处理手法:\(\sum_r\sum_S[f(S)=r]r=\sum_r\sum_S[f(S)\ger]\)。但是我并没有发现这一步的意义。事实上,这个条件写到树上就是,存在一个点,使得离它最近的非空闲点距离\(>r\)。然后就可......
  • Gradio存在任意文件读取漏洞(CVE-2024-1561)
    漏洞描述该漏洞是Gradio应用中的一个高危漏洞,其出现在'component_server'端点,允许攻击者调用'Component'类的任意方法,并利用'Block'类的'move_resource_to_block_cache()'方法在文件系统上复制任意文件到临时目录,随后可将其检索。这是的攻击者能够在未经授权的情况下读取本地文件......
  • FS7152/FS7022B双节4.2V/4.35V锂电池充电保护芯片
    ​概述FS7022/B 是一款基于 CMOS 的双节可充电锂电池保护电路,它集高精度过电压充电保护、过电压放电保护、过电流充电保护、过电流放电保护、电池短路保护等性能于一身。正常状态下,FS7022/B 的 COUT 端和 DOUT 端都输出高电平,分别使外接充电控制 N-MOSFET 管 Q1 ......
  • CMU 15-445 Lecture #05: Storage Models & Compression笔记总结(上)
    这是cmu15-445第五节课程StorageModels&Compression的上半部分,主要包括StorageModels的内容,压缩部分下次再整理,学完这部分可以去做hw2的第一部分课程主页:CMU15-445/645::IntrotoDatabaseSystems(Fall2023)(有几张图片目前没上传,过两天补一下)DatabaseWorkloads......