etcd集群每个节点上的数据都是相同的,在任意一个正常的节点上备份都能得到8s集群完整的数据
Kubernetes 集群备份主要是备份 ETCD 集群,而恢复时,主要考虑恢复整个顺序:
1,停止所有 Master 上 kube-apiserver 服务
2,停止所有ETCD
3,恢复数据
4,启动ETCD
5,启动kube-apiserve
二进制
ETCDCTL_API=3 /opt/etcd/bin/etcdctl --endpoints=https://10.98.4.1:2379 --cacert=/opt/etcd/ssl/ca.pem --cert=/opt/etcd/ssl/server.pem --key=/opt/etcd/ssl/server-key.pem snapshot save `date +%Y%m%d`-etcd.db
scp 20220823-etcd.db root@10.98.4.2:/root/
scp 20220823-etcd.db root@10.98.4.3:/root/
kubeadm
拷贝etcd命令
docker cp $(docker ps | grep -v etcd-mirror | grep -w etcd | awk '{print $1}'):/usr/local/bin/etcdctl /usr/bin/
etcd任意节点上备份
/usr/local/bin/etcdctl --endpoints 127.0.0.1:2379 --cert="/etc/kubernetes/pki/etcd/s