2024 CKA题库+详尽解析| 15、备份还原Etcd

目录

[免费获取题库配套 CKA_v1.31_模拟系统](#免费获取题库配套 CKA_v1.31_模拟系统)

[15、 备份还原Etcd](#15、 备份还原Etcd)

题目:

开始操作:

1)、切换集群

2)、登录master并提权

3)、备份Etcd现有数据

4)、验证备份数据快照

5)、查看节点和Pod状态

6)、创建目录

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

8)、验证恢复情况

9)、更改Etcd配置

10)、将K8S配置文件复制回配置目录

11)、重启kubelet

12)、再次查看验证

13)、退回node01


免费获取题库配套 CKA_v1.31_模拟系统

15、 备份还原Etcd

题目:

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

Cluster Master node Worker node

wk8s master node01

.

设置配置环境:

candidate@node01\]$ kubectl config use-context wk8s . **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)、切换集群

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

2)、登录master并提权

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

bash 复制代码
ssh master
sudo -i

CKA模拟环境操作截图:

3)、备份Etcd现有数据

bash 复制代码
#执行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)、验证备份数据快照

bash 复制代码
ETCDCTL_API=3 etcdctl --write-out=table snapshot status /var/lib/backup/etcd-snapshot.db

CKA模拟系统操作截图可见验证快照命令提示使用etcdutl代替,我们直接使用etcdutl操作,

5)、查看节点和Pod状态

在开始ETCD恢复操作之前,先看一下pod presentation个数,相当于一个状态标记,做为参照,用于恢复完毕的对比,证明数据已成功恢复:

bash 复制代码
kubectl get pod -n default | grep presentation | wc -l

CKA模拟系统操作截图若此时还未操作第14题"扩容deployment数量",那么命令执行完应该得到的数字是"1"如下图所示:

CKA模拟系统操作截图若此时已经做完第14题"扩容deployment数量",那么命令执行完应该得到的数字是"4"如下图所示:

6)、创建目录

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

bash 复制代码
#创建系统配置文件备份目录,其实可以不创建,直接将系统配置文件移到已存在的/data/backup
mkdir /opt/backup

#创建Etcd备份将要恢复数据的位置目录                                  
mkdir /var/lib/etcd-restore  

#将系统配置文件移动至此目录,即官网所述停止所有API实例                    
mv /etc/kubernetes/manifests/* /opt/backup/     

CKA模拟环境操作截图:

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

bash 复制代码
#官方说明:
#在恢复集群时,使用 --data-dir 选项来指定集群应被恢复到哪个文件夹。
#其中 <data-dir-location> 是将在恢复过程中创建的目录。
#自 etcd v3.5.x 版本起,使用 etcdctl 进行恢复的功能已被弃用,未来的可能会在 etcd 版本中被移除。
etcdutl --data-dir=/var/lib/etcd-restore snapshot restore /data/backup/etcd-snapshot-previous.db

CKA模拟环境操作截图:

8)、验证恢复情况

bash 复制代码
#查看数据恢复情况
ls /var/lib/etcd-restore

9)、更改Etcd配置

bash 复制代码
#1.31版本环境按照之前方法多次未成功,参考官网所述在原目录恢复方法,直接移除原数据目录,在生成新的配置文件,最后重启所有API接口
#移除原数据目录
mv /var/lib/etcd /opt/backup/

#替换原有配置路径并生成新的etcd.yaml配置文件
sed 's!/var/lib/etcd!/var/lib/etcd-restore!' /opt/backup/etcd.yaml > /etc/kubernetes/manifests/etcd.yaml

#检查搜索是否有为替换配置
cat /etc/kubernetes/manifests/etcd.yaml | grep '/var/lib/etcd'

CKA模拟系统操作截图

10)、将K8S配置文件复制回配置目录

bash 复制代码
cp /opt/backup/kube* /etc/kubernetes/manifests/

11)、重启kubelet

bash 复制代码
#重启 kubelet
systemctl daemon-reload
systemctl restart kubelet

CKA模拟环境操作截图:

12)、再次查看验证

bash 复制代码
#验证集群是否重启完毕
kubectl get node 

#查看pod presentation数量,恢复完成后获取到的数字应该是"2"                                                
kubectl get pod -n default | grep presentation | wc -l            

CKA模拟系统操作截图,执行完毕后得到的数字值是"2",说明我们已经恢复成功。

13)、退回node01

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

bash 复制代码
exit                             #退出提权状态
exit                             #退出master主机

CKA高仿真环境简短演示视频

相关推荐
Elohim8151 分钟前
数据库SQLite基础
数据库·sqlite
TDengine (老段)12 分钟前
TDengine 支持的平台汇总
大数据·数据库·物联网·时序数据库·iot·tdengine·涛思数据
烟雨书信28 分钟前
Linux中MySQL的逻辑备份与恢复
linux·运维·mysql
wkj00139 分钟前
QuaggaJS 配置参数详解
java·linux·服务器·javascript·quaggajs
大熊猫侯佩1 小时前
由一个 SwiftData “诡异”运行时崩溃而引发的钩深索隐(四)
数据库·swiftui·apple watch
藥瓿亭1 小时前
K8S认证|CKS题库+答案| 5.日志审计
linux·运维·docker·云原生·容器·kubernetes·cka
想用offer打牌1 小时前
面试官问:Redis和MySQL数据一致,为什么还需要MySQL?🤠
数据库·redis·mysql
David爱编程1 小时前
Docker 存储卷详解:数据持久化的正确打开方式
后端·docker·容器
chen.@-@2 小时前
后端下载限速(redis记录实时并发,bucket4j动态限速)
数据库·redis·缓存
coder_lorraine2 小时前
【Linux系列】Linux用户大揭秘:从“公寓住户”到“社区管理员”的奇幻之旅
linux