本文永久链接: https://www.xtplayer.cn/rancher/backup-restore/rancher-rke-cluster-backups/
如果 rancher 是 HA 架构部署,在 HA 架构下,rancher 的数据是保存在 rke local K8S 集群中。所以在 rancher HA 架构下只需要通过 RKE 备份 local 集群数据,即可同时备份 rancher 的数据。
重要提示 此方法直接使用 RKE 进行集群备份,它适用于 RKE 创建并导入的业务集群或者 RKE 部署的 local 集群
本节介绍在 Rancher HA 下如何备份数据。
-
Rancher Kubernetes Engine v0.1.7 或更高版本
RKE v0.1.7 以及更高版本才支持
etcd快照功能 -
rancher-cluster.yml需要使用到安装 Rancher 的 RKE 配置文件
rancher-cluster.yml,将此文件需放在与 RKE 二进制文件同级目录中
创建 ETCD 数据快照
有两种方案创建 etcd 快照: 定时自动创建快照和或手动创建快照,每种方式对应特定的场景。
-
方案 A: 定时自动创建快照
在 Rancher HA 安装后,我们建议配置 RKE 以定时(默认 5 分钟)自动创建快照,以便始终拥有可用的安全恢复点。
-
方案 B: 手动创建快照
我们建议在升级或恢复其他快照等事件之前创建一次性快照。
方案 A: 定时自动创建快照
对于通过 RKE 高可用安装的 Rancher,我们建议开启定时自动创建快照,以便始终拥有安全的恢复点。
定时自动创建快照服务是 RKE 附带的服务,默认没有开启。可以通过在 rancher-cluster.yml 中添加配置来启用 etcd-snapshot(定时自动创建快照)服务。
启用定时自动创建快照:
-
编辑
rancher-cluster.yml配置文件; -
在
rancher-cluster.yml配置文件中添加以下代码:rke 版本小于 0.2.x 或 rancher 版本小于 v2.2.0 时使用
services:
etcd:
snapshot: true # 设置 true 启用 ETCD 自动备份,设置 false 禁用;
creation: 6h0s # 快照创建间隔时间,不加此参数,默认 5 分钟;
retention: 24h # 快照有效期,此时间后快照将被删除;rke 版本大于等于 0.2.x 或 rancher 版本大于等于 v2.2.0 时使用
services:
etcd:
backup_config:
enabled: true # 设置 true 启用 ETCD 自动备份,设置 false 禁用;
interval_hours: 12 # 快照创建间隔时间,不加此参数,默认 5 分钟;
retention: 6 # etcd 备份保留份数;
# S3 配置选项
s3backupconfig:
access_key: "myaccesskey"
secret_key: "myaccesssecret"
bucket_name: "my-backup-bucket"
folder: "folder-name" # 此参数 v2.3.0 之后可用
endpoint: "s3.eu-west-1.amazonaws.com"
region: "eu-west-1" -
根据实际需求修改以上参数;
-
保存并关闭
rancher-cluster.yml; -
打开Terminal并切换路径到 RKE 二进制文件所在目录.确保
rancher-cluster.yml也在这个路径下; -
运行以下命令:
# MacOS
./rke_darwin-amd64 up --config rancher-cluster.yml
# Linux
./rke_linux-amd64 up --config rancher-cluster.yml结果: RKE 会在每个 etcd 节点上定时获取快照,并将快照将保存到每个 etcd 节点的:
/opt/rke/etcd-snapshots/目录下
方案 B: 手动创建快照
警告 1、在 rke v0.2.0 以前的版本,RKE 将备份证书和配置文件到
pki.bundle.tar.gz文件中,并保存在/opt/rke/etcd-snapshots目录中。通过 v0.2.0 之前的版本恢复系统时,需要快照和 pki 文件。
2、从 rke v0.2.0 开始,因为架构调整不再需要pki.bundle.tar.gz文件,当 rke 创建集群后,会在配置文件当前目录下生成xxxx.rkestate文件,文件中保存了集群的配置信息和各组件使用的证书信息。
手动创建快照:
-
打开Terminal并切换路径到 RKE 二进制文件所在目录.确保
rancher-cluster.yml也在该路径下 -
输入以下命令:
注意:替换
<SNAPSHOT.db>为您设置的快照名称,例如:<SNAPSHOT.db># MacOS
./rke etcd snapshot-save --name <SNAPSHOT.db> --config rancher-cluster.yml
# Linux
./rke etcd snapshot-save --name <SNAPSHOT.db> --config rancher-cluster.yml结果: RKE 会获取每个
etcd节点的快照,并保存在每个 etcd 节点的/opt/rke/etcd-snapshots目录下;
备份快照到安全位置
在创建快照后,应该把它保存到安全的地方,以便在集群遇到灾难情况时快照不受影响,这个位置应该是持久的。
复制 /opt/rke/etcd-snapshots 目录下所有文件到安全位置。
- 在 rke v0.2.0 以前的版本,备份
/opt/rke/etcd-snapshots目录中的快照文件和pki.bundle.tar.gz文件,以及 rke 配置文件到安全位置,通过 v0.2.0 之前的版本恢复系统时,需要这些文件。 - 在 rke v0.2.0 以及以后的版本,备份
/opt/rke/etcd-snapshots目录中的快照文件和 rke 配置文件,以及配置文件当前目录下的xxxx.rkestate文件,通过 v0.2.0 之后版本恢复系统时,需要这些文件。



所有评论(0)