k8s集群中Etcd 数据快照备份与恢复
ETCD : v3.3.13官网文档地址:https://etcd.io/docs/v3.3.13/op-guide/recovery/快照备份使用v3 api 备份快照,命令如下:/data/etcd/etcd-cluster-snapshot.sh#!/bin/shdatestr=$(date +%Y%m%d)ETCDCTL_API=3 etcdctl \--cacert=/data1/k8s
·
ETCD : v3.3.13
官网文档地址:https://etcd.io/docs/v3.3.13/op-guide/recovery/
- 快照备份
使用v3 api 备份快照,命令如下:
/data/etcd/etcd-cluster-snapshot.sh
#!/bin/sh
datestr=$(date +%Y%m%d)
ETCDCTL_API=3 etcdctl \
--cacert=/data1/k8s_data/etc/kubernetes/ssl/ca.pem \
--cert=/etc/etcd/ssl/etcd.pem \
--key=/etc/etcd/ssl/etcd-key.pem \
--endpoints=https://X.X.X.1:2379,https://X.X.X.2:2379,https://X.X.X.3:2379 \
snapshot save /data/etcd/snapshot/snapshot-cluster-${datestr}.db
定时任务 : 每天1点30 重新生成快照
30 1 * * * sh /data/etcd/etcd-cluster-snapshot.sh >> /data/etcd/snapshot.log
- 快照恢复
(1) 需要删除原有数据总目录,不然恢复的时候有有各种问题。比如删除目录/data1/k8s_data/data/etcd,。
(2)命令中需要指定数据目录:--data-dir=/data1/k8s_data/data/etcd,否则会产生默认工作目录,一个default的名称。
(3) 快照恢复时,会重新生成客户端id和集群id,所有的节点统一使用一个快照恢复集群。
恢复数据命令:
ETCDCTL_API=3 etcdctl \
--cacert=/data1/k8s_data/etc/kubernetes/ssl/ca.pem \
--cert=/etc/etcd/ssl/etcd.pem \
--key=/etc/etcd/ssl/etcd-key.pem \
--data-dir=/data1/k8s_data/data/etcd \
--initial-cluster-token etcd-cluster-0 \
--initial-cluster etcd1=https://X.X.X.1:2380,etcd1=https://X.X.X.2:2380,etcd3=https://X.X.X.3:2380 \
--name etcd1 \
--initial-advertise-peer-urls https://X.X.X.1:2380 \
snapshot restore /data/etcd/snapshot/snapshot-cluster-${datestr}.db
更多推荐
已为社区贡献2条内容
所有评论(0)