K8S篇之etcd数据备份与恢复

编程入门 行业动态 更新时间:2024-10-26 08:22:52

K8S篇之etcd<a href=https://www.elefans.com/category/jswz/34/1745088.html style=数据备份与恢复"/>

K8S篇之etcd数据备份与恢复

一、etcd备份与恢复

基本了解:
1、k8s 使用etcd数据库实时存储集群中的数据,安全起见,一定要备份。
2、备份只需要在一个节点上备份就可以了,每个节点上的数据是同步的;但是数据恢复是需要在每个节点上进行。
3、etcd容器是与宿主机网络共享的,采用hostNetwork方式,2379数据端口就可以在宿主机上查看到。

4、kubeadm方式部署的集群,其中etcd是通过静态pod方式部署启动,在/etc/kubernetes/manifests目录下有它的yaml文件,里面记录了启动镜像、版本、证书路劲、数据目录等内容。


注意事项:
使用yum安装的etcd版本比较低,因为etcd现有两个版本,2和3,两个版本之间的api改动较大,现在使用之前都需要先指定到3版本。

1.1 kubeadm部署方式

1.1.1 备份

1.安装etcd。

yum install -y etcd


2、查看当前pod,待会备份后删除它,再数据恢复查看效果

3、备份,导出的数据文件是qingjun.db

ETCDCTL_API=3 etcdctl snapshot save qingjun.db \
--endpoints=https://127.0.0.1:2379 \             ##指定etcd地址端口。
--cacert=/etc/kubernetes/pki/etcd/ca.crt \      ##指定etcd根证书。
--cert=/etc/kubernetes/pki/etcd/server.crt \     ##指定etcd客户端数字证书。
--key=/etc/kubernetes/pki/etcd/server.key      ##指定key。


4、删除pod。恢复查看效果。

1.1.2 恢复

先停止 api server 和 etcd服务。因为是静态Pod部署,监控这个目录下的yaml文件,当把目录备份后就直接相当于停服。

[root@k8s-master manifests]# pwd
/etc/kubernetes/manifestsmv /etc/kubernetes/manifests /etc/kubernetes/manifests.bck
mv /var/lib/etcd /var/lib/etcd.bck

6、使用qingjun.db文件,恢复数据到/var/lib/etcd 目录。

ETCDCTL_API=3 etcdctl snapshot restore qingjun.db --data-dir=/var/lib/etcd

7、启动kube-apiserver和etcd容器

mv /etc/kubernetes/manifests.bck /etc/kubernetes/manifests

8、查看结果,数据恢复

更多推荐

K8S篇之etcd数据备份与恢复

本文发布于:2023-11-15 19:06:11,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1604720.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:数据备份   K8S   etcd

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!