环境说明:k8s 版本1.21.1 ,无docker
方法一 pod中执行备份
先exec 进入etcd的pod kubectl exec -nkube-system -it pod/etcd-master -- sh
执行命令:
etcdctl --endpoints=https://127.0.0.1:2379 \ --cacert=/etc/kubernetes/pki/etcd/ca.crt \ --key=/etc/kubernetes/pki/etcd/healthcheck-client.key \ --cert=/etc/kubernetes/pki/etcd/healthcheck-client.crt \ snapshot save /var/lib/etcd/etcd-snapshot.db
说明,etcd 会把宿主机的 /var/lib/etcd/ 目录mount 到container 的同名目录 /var/lib/etcd/ ,因此执行上述命令后 ,可以在宿主机的对应目录下找到备份文件