etcd的备份和恢复

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了etcd的备份和恢复相关的知识,希望对你有一定的参考价值。


etcdctl工具获取方式

[root@k8s-master network]# yum -y install etcd
[root@k8s-master network]# etcdctl -version
etcdctl version: 3.3.11
API version: 2

etcd的备份和恢复_etcd备份恢复

etcd的备份和恢复_etcd备份恢复_02

etcd的备份和恢复_etcd_03



# vi /etc/kubernetes/manifests/etcd.yaml etcd的yaml文件
apiVersion: v1
kind: Pod
metadata:
labels:
component: etcd
tier: control-plane
...
# 监听端口
- --listen-client-urls=https://127.0.0.1:2379,https://192.168.18.125:2379 # etcd监听端口
hostNetwork: true # 和宿主机共享网络 通过宿主机127.0.0.1:2379可以连接容器
volumes:
- hostPath: # 挂载宿主机目录
path: /etc/kubernetes/pki/etcd
type: DirectoryOrCreate
name: etcd-certs





如何为 etcd 进行备份和(时间点)恢复?

【中文标题】如何为 etcd 进行备份和(时间点)恢复?【英文标题】:How do I do backup and (point-in-time) recovery for etcd? 【发布时间】:2014-07-08 02:39:03 【问题描述】:

我了解 etcd 将其数据存储在某种分布式日志中。

是否有工具可以备份这些日志并从中恢复?这是否也支持时间点恢复(以及我们可以回溯多远)?

额外点:这些日志是否还包含审计跟踪(即谁更新了数据,假设客户端身份验证到位)?

【问题讨论】:

【参考方案1】:

我认为这可能会回答您的问题: https://labs.consol.de/kubernetes/2018/05/25/kubeadm-backup.html

它会自动备份 etcd 作为 Cronjob,所以如果你每小时备份一次,那就像时间点恢复一样?

我相信您也可以按计划使用 Heptio ARK 来做类似的事情。 https://www.youtube.com/watch?v=qRPNuT080Hk

【讨论】:

【参考方案2】:

一种方法是将所有现有密钥读入文件,然后通过读入并添加要恢复的所有密钥来使用该文件。 https://github.com/fanhattan/etcd-backup 有一个开源解决方案采用这种方法。我认为不包括审计跟踪。

【讨论】:

虽然理论上这可以回答这个问题,it would be preferable 在这里包含答案的基本部分,并提供链接以供参考。

以上是关于etcd的备份和恢复的主要内容,如果未能解决你的问题,请参考以下文章

etcd3集群数据备份与恢复

coredns部署和etcd数据备份和恢复

简单实用kubernetes的etcd备份与恢复实现恢复集群配置

etcd v3 备份恢复

关于k8s中ETCD集群备份灾难恢复的一些笔记

etcd单节点数据备份与恢复