一 备份

(根据实际情况来写,有多少个节点在–endpoints 都写出了)

ETCDCTL_API=3 /data2/etcd/bin/etcdctl --cacert=/data2/etcd/ssl/ca.pem --cert=/data2/etcd/ssl/server.pem --key=/data2/etcd/ssl/server-key.pem --endpoints=https://192.168.50.92:2379,https://192.168.50.91:2379 snapshot save /data2/backub/etcd-snapshot/etcd-snapshot-`date +%Y%m%d%H%M`.db

二 还原

1.删除etcd的data 目录

2.将备份的文件传递到其他的etcd的主机上

(注意: --name  是指所在的etcd的那个配置文件

--initial-cluster  指你所以的节点也可以有额外的节点

--initial-advertise-peer-urls 目前所在的etcd的ip

)

ETCDCTL_API=3 /data/etcd/bin/etcdctl  --cacert=/data/etcd/ssl/ca.pem --cert=/data/etcd/ssl/server.pem --key=/data/etcd/ssl/server-key.pem snapshot restore /root/etcd-snapshot-202209262110.db   --name etc1  --initial-cluster "etc0=https://192.168.0.27:2380,etc1=https://192.168.0.28:2380"   --initial-cluster-token  etcd-cluster   --initial-advertise-peer-urls https://192.168.0.28:2380   --data-dir=/data/etcd/data

其他etcd也是这一页操作知识上面参数的值不太相同

3.所有还原完后重启etcd

三 碎片清理

因为etcd内存限制只有2G 但不会自己清理碎片 需要手动

官网参考:https://github.com/etcd-io/etcd/tree/main/etcdctl

ETCDCTL_API=3 /data2/etcd/bin/etcdctl --cacert=/data2/etcd/ssl/ca.pem --cert=/data2/etcd/ssl/server.pem --key=/data2/etcd/ssl/server-key.pem --endpoints=https://192.168.50.92:2379,https://192.168.50.91:2379 defrag

--endpoints 是指集群的所有节点的配置

(如果碎片清理后感觉etcd所占的内存依旧高,可以重启etcd)

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐