K8S认证|CKA题库+答案| 15. 备份还原Etcd
目录
15、 备份还原Etcd
免费获取题库配套 CKA_v1.31_模拟系统
题目:
开始操作:
1)、切换集群
2)、登录master并提权
3)、备份Etcd现有数据
4)、验证备份数据快照
5)、查看节点和Pod状态
6)、创建目录
7)、执行Etcd数据恢复命令
8)、验证恢复情况
9)、更改Etcd配置
10)、将K8S配置文件复制回配置目录
11)、重启kubelet
12)、再次查看验证
13)、退回node01
15、 备份还原Etcd
免费获取题库配套 CKA_v1.31_模拟系统
题目:
您必须在以下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)、切换集群
# 考试时有多套集群环境,以免答题环境相互干扰。
# 所以考试时务必按照题目要求先切换到所对应的集群环境,才是正确答题的前提,非常重要
# 请务必确认现在所处节点为node01,否则无法切换集群而报错
kubectl config use-context wk8s
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模拟系统操作截图可见验证快照命令提示使用etcdutl代替,我们直接使用etcdutl操作,
5)、查看节点和Pod状态
在开始ETCD恢复操作之前,先看一下pod presentation个数,相当于一个状态标记,做为参照,用于恢复完毕的对比,证明数据已成功恢复:
kubectl get pod -n default | grep presentation | wc -l
CKA模拟系统操作截图若此时还未操作第14题“扩容deployment数量”,那么命令执行完应该得到的数字是“1”如下图所示:
CKA模拟系统操作截图若此时已经做完第14题“扩容deployment数量”,那么命令执行完应该得到的数字是“4”如下图所示:
6)、创建目录
数据恢复过程中需要用到的目录
#创建系统配置文件备份目录,其实可以不创建,直接将系统配置文件移到已存在的/data/backup
mkdir /opt/backup
#创建Etcd备份将要恢复数据的位置目录
mkdir /var/lib/etcd-restore
#将系统配置文件移动至此目录,即官网所述停止所有API实例
mv /etc/kubernetes/manifests/* /opt/backup/
CKA模拟环境操作截图:
7)、执行Etcd数据恢复命令
#官方说明:
#在恢复集群时,使用 --data-dir 选项来指定集群应被恢复到哪个文件夹。
#其中 是将在恢复过程中创建的目录。
#自 etcd v3.5.x 版本起,使用 etcdctl 进行恢复的功能已被弃用,未来的可能会在 etcd 版本中被移除。
etcdutl --data-dir=/var/lib/etcd-restore snapshot restore /data/backup/etcd-snapshot-previous.db
CKA模拟环境操作截图:
8)、验证恢复情况
#查看数据恢复情况
ls /var/lib/etcd-restore
9)、更改Etcd配置
#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配置文件复制回配置目录
cp /opt/backup/kube* /etc/kubernetes/manifests/
11)、重启kubelet
#重启 kubelet
systemctl daemon-reload
systemctl restart kubelet
CKA模拟环境操作截图:
12)、再次查看验证
#验证集群是否重启完毕
kubectl get node
#查看pod presentation数量,恢复完成后获取到的数字应该是“2”
kubectl get pod -n default | grep presentation | wc -l
CKA模拟系统操作截图,执行完毕后得到的数字值是“2”,说明我们已经恢复成功。
13)、退回node01
操作完成,然后执行两次exit退出master,检查主机名称进行确认
exit #退出提权状态
exit #退出master主机
CKA高仿真环境简短演示视频
本文地址:https://www.vps345.com/13865.html