文章目录
15、备份还原 etcd
题目:
设置配置环境
此项目无需更改配置环境。但是,在执行此项目之前,请确保您已返回初始节点。
[candidate@master01] $ exit #注意,这个之前是在 master01 上,所以要 exit 退到 node01,如果已经是 node01 了,就不要再 exit 了。
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
考点:
etcd 的备份和还原命令
参考链接:
没必要参考网址,建议多练习,背过命令就行。
记不清的,可以使用 etcdctl -h 来帮助,更方便。
如果非要参考,可以按照下面方法。
依次点击 Tasks → Administer a Cluster → Operating etcd clusters for Kubernetes (看不懂英文的,可右上角翻译成中文)
https://kubernetes.io/zh-cn/docs/tasks/administer-cluster/configure-upgrade-etcd/
解答:
注意:
- 记得设置 ETCDCTL_API=3
- 如果文件没权限, 就 sudo -i
备份快照
sh
$ 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 save /var/lib/backup/etcd-snapshot.db
恢复快照
sh
$ 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
检查
sh
# 没必要
$ etcdctl snapshot status /var/lib/backup/etcd-snapshot.db -wtable