Kubernetes之etcd集群备份恢复

Kubernetes之etcd集群备份恢复
安装etcdctl命令
下载后 上传至服务器
1 | wget https://github.com/etcd-io/etcd/releases/download/v${ETCD_VER}/etcd-${ETCD_VER}-linux-amd64.tar.gz |
解压并加入环境变量
1 | tar -zxvf etcd-v3.4.14-linux-amd64.tar.gz |
验证etcdctl是否可用
1 | etcdctl version |
1 | etcdctl version: 3.4.14 |
查看etcd高可用集群健康状态
1 | ETCDCTL_API=3 etcdctl --cacert=/etc/kubernetes/pki/etcd/ca.crt --cert=/etc/kubernetes/pki/etcd/peer.crt --key=/etc/kubernetes/pki/etcd/peer.key --write-out=table --endpoints=127.0.0.1:2379 endpoint health |
1 | +-------------------+--------+-------------+-------+ |
查看etcd高可用集群列表
1 | [ETCDCTL_API=3 etcdctl --cacert=/etc/kubernetes/pki/etcd/ca.crt --cert=/etc/kubernetes/pki/etcd/peer.crt --key=/etc/kubernetes/pki/etcd/peer.key --write-out=table --endpoints=127.0.0.1:2379 member list |
1 | +------------------+---------+-------------+---------------------------+---------------------------+------------+ |
备份etcd集群
方式1
1 | etcdctl --cert /etc/kubernetes/pki/etcd/peer.crt --key /etc/kubernetes/pki/etcd/peer.key --endpoints https://127.0.0.1:2379 --insecure-skip-tls-verify snapshot save 文件名称.db |
方式2
1 | ETCDCTL_API=3 etcdctl --cacert=/etc/kubernetes/pki/etcd/ca.crt --cert=/etc/kubernetes/pki/etcd/peer.crt --key=/etc/kubernetes/pki/etcd/peer.key --endpoints=127.0.0.1:2379 snapshot save 文件名称.db |
恢复etcd集群
方式1
1 | etcdctl --cert /etc/kubernetes/pki/etcd/peer.crt --key /etc/kubernetes/pki/etcd/peer.key --endpoints https://127.0.0.1:2379 --insecure-skip-tls-verify snapshot restore 文件名称.db |
方式2
1 | ETCDCTL_API=3 etcdctl --cacert=/etc/kubernetes/pki/etcd/ca.crt --cert=/etc/kubernetes/pki/etcd/peer.crt --key=/etc/kubernetes/pki/etcd/peer.key --endpoints=127.0.0.1:2379 snapshot restore 文件名称.db |
配置定时任务
1 | crontab -e |
添加以下定时任务(设置每天晚上11点半执行备份任务保存7天)
或者将命令做成脚本,定时执行脚本
1 | 30 23 * * * etcdctl --cert /etc/kubernetes/pki/etcd/peer.crt --key /etc/kubernetes/pki/etcd/peer.key --endpoints https://127.0.0.1:2379 --insecure-skip-tls-verify snapshot save /opt/k8s-etcd-back/data/k8s-etcd-52-xingqi$(date +"\%w").db |
End
评论
评论插件加载失败
正在加载评论插件