CKA 模拟题库 | 15. 备份还原etcd

模拟题目:

设置配置环境
此项目无需更改配置环境。但是,在执行此项目之前,请确保您已返回初始节点。
[candidate@master01] $ exit #注意,这个之前是在master01上,所以要exit退到node01,如果已经是node01了,就不要再exit了。

Task

首先,为运行在https://11.0.1.111:2379上的现有 etcd 实例创建快照并将快照保存到 /var/lib/backup/etcd-snapshot.db
(注意,真实考试中,这里写的是https://127.0.0.1:2379)
为给定实例创建快照预计能在几秒钟内完成。 如果该操作似乎挂起,则命令可能有问题。用 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

参考:

任务 --> 管理集群 --> 为 Kubernetes 运行 etcd 集群
https://kubernetes.io/zh-cn/docs/tasks/administer-cluster/configure-upgrade-etcd/


解答:

考试的时候务必记住切换集群, 注意集群名称
kubectl config use-context k8s

特别注意,etcd这道题,在考试时做完后,就不要回头检查或者操作了。因为它是用的前一道题的集群,所以一旦你回头再做时,切换错集群了,且又将etcd还原了,反而可能影响别的考题

备份etcd

export 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

恢复etcd

sudo 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 restore /data/backup/etcd-snapshot-previous.db

检查:
etcdctl snapshot status /var/lib/backup/etcd-snapshot.db -wtable  
# 考试时,这些检查动作,都可以不做