etcd 数据备份和恢复
数据备份:
kubernetes中部署的应用的信息都存放在etcd里面,这里面的数据非常重要,需要备份,以备不时之需
命令:
./etcdctl --cacert=ca.pem --cert=cert-etcd.pem --key=cert-etcd-key.pem --endpoints=`hostname`:2379 snapshot save 路径/名字.db
数据恢复:
获取到etcd
备份文件后,然后依次在每个etcd
节点上执行etcd
数据恢复操作。
一,停止所有etcd和apiserver实例
二,把之前的备份数据,在其中一个etcd节点上操作,
- 将集群中现有数据备份 cp -rf /var/lib/etcd/ restore/
- 删除集群现有数据 rm -rf /var/lib/etcd/
- 进行备份
进行备份:首先把之前的定时备份数据找到,通过该文件进行etcd数据恢复
命令:
/ssd1/etcd/runtime/etcdctl snapshot restore slx-test.db \ --name szwg-bac-orp-shoubaioap-123741.szwg01 \ --initial-cluster szwg-bce-ais-duer-online-006.szwg01=https://szwg-bce-ais-duer-online-006.szwg01.baidu.com:2380,szwg-bac-orp-shoubaioap-123741.szwg01=https://szwg-bac-orp-shoubaioap-123741.szwg01.baidu.com:2380,szwg-bac-orp-shoubaioap-123743.szwg01=https://szwg-bac-orp-shoubaioap-123743.szwg01.baidu.com:2380 \
--initial-advertise-peer-urls=https://10.216.69.156:2380 \
--data-dir=/home/work/k8s/etcd/data/default.etcd
- name是etcd节点的name,集群中name必须不同
- initial-cluster是恢复集群的配置
- initial-cluster-token 会影响计算cluster member id,#不是必须的参数,我这里没有写
- initial-advertise-peer-urls节点本身的数据信息
- data-dir 将备份信息恢复到指定路径
三,验证数据是否恢复