在 Rancher UI 中,可以轻松执行 RKE 集群的备份和恢复。
Rancher 建议为所有生产集群配置定期的快照。此外,您也还可以轻松制作一次性快照。
etcd 数据库的快照将保存在或S3 备份中。配置 S3 的优点是,即便所有 etcd 节点都丢失了,快照文件在远程保存,这种情况下也可以还原集群。
import Tabs from ‘@theme/Tabs’; import TabItem from ‘@theme/TabItem’;
Rancher 创建快照时,这个快照里包含三个组件:
- etcd 中的集群数据
- Kubernetes 版本
cluster.yml
形式的集群配置
由于快照中已包含 Kubernetes 版本,因此可以将集群还原到先前的 Kubernetes 版本。
有了这些快照中的组件,您可以选择如何从快照中恢复集群:
- 仅恢复 etcd 中的集群数据: 此还原类似于在 v2.4.0 之前的 Rancher 中还原快照。
- 恢复 etcd 和 Kubernetes 版本: 如果由于升级 Kubernetes 版本导致集群出现故障,并且您尚未进行任何集群配置更改,则应使用此选项。
我们始终建议您在每次升级之前拍摄新快照。
当 Rancher 创建快照时,快照中仅包含 etcd 数据。
由于快照中未包含 Kubernetes 版本,因此无法选择将集群还原到之前的 Kubernetes 版本。
配置周期性快照
您可以配置定期制作快照的频率以及保留多少快照。时间量以小时为单位。用户可以使用这些带时间戳的快照,将集群状态恢复到某个时间点。
默认情况下,RKE 集群配置为定期拍摄快照(保存到本地磁盘)。为了防止本地磁盘故障,建议使用或对这个磁盘路径通过某种方式进行冗余备份。
在创建集群或编辑集群期间,可以在集群选项的高级部分找到快照的配置。点击显示高级选项。
在高级集群选项部分中,有几个选项可以配置:
除了定期快照外,您可能还需要创建“一次性”快照。例如,在升级集群的 Kubernetes 版本之前,最好备份集群的状态以防止升级失败。
1.在全局视图中,找到要创建一次性快照的集群。
2.单击省略号(…)> 立即快照。
结果: 根据您的etcd 快照备份目标,将拍摄一次快照并将其保存在选定的备份目标中。
etcd 快照备份目标
Rancher 支持两种不同的备份目标:
默认情况下,选择 local(本地)
备份目标。此选项的好处是没有额外的配置。快照会自动保存到RKE 集群的 etcd 节点中的 /opt/rke/etcd-snapshots
路径。所有定期快照均以配置的时间间隔拍摄。使用 备份目标的不利之处在于,如果发生灾难,并且 所有的 etcd 节点丢失,则无法恢复集群。
S3 备份
选项 | 描述 | 是否必须 |
---|---|---|
S3 Bucket 名称 | 存储备份的 S3 bucket 名称 | |
S3 区域 | 备份 S3 Bucket 的区域 | |
S3 区域终结点 | 备份 S3 Bucket 区域终结点 | |
S3 Access Key | 有权限访问 S3 Bucket 的 access key | |
S3 Secret Key | 有权限访问 S3 Bucket 的 secret key | |
自定义 CA 证书 | 访问私有 S3 服务的自定义 CA 证书 从 v2.2.5 版本开始支持 |
使用一个自定义 CA 证书访问 S3
从 v2.2.5 版本开始支持
备份快照可以存储在自定义的 S3
备份中,例如 。如果 S3 后端使用自签名或自定义证书,请使用 选项提供自定义证书以连接到 S3 后端。
S3 快照存储的 IAM 支持
除了使用 API 凭证外,S3
备份目标还支持对 AWS API 使用 IAM 身份验证。IAM 角色授予应用程序在对 S3 存储进行 API 调用时可以使用的临时权限。要使用 IAM 身份验证,必须满足以下要求:
- 集群 etcd 节点必须具有实例角色,该角色具有对指定备份存储桶的读/写访问权限。
- 集群 etcd 节点必须对指定的 S3 端点具有网络访问权限。
- Rancher Server 所在节点必须具有实例角色,该实例角色已对指定的备份存储桶进行读/写。
- Rancher Server 所在节点必须具有对指定 S3 端点的网络访问权限。
要授予应用程序对 S3 的访问权限,请参阅。
在 Rancher UI 中,您可以查看所有可用快照的列表。
在全局视图中,点击要查看快照的集群。
安全时间戳
从 v2.3.0 开始支持
从 v2.2.6 版本开始,快照文件已打上时间戳,以简化使用外部工具和脚本处理文件的步骤,但是在某些与 S3 兼容的后端中,这些时间戳不可用。从 Rancher v2.3.0 开始,添加了 safe_timestamp
选项以支持兼容的文件名。当此标志设置为 true
时,快照文件名时间戳中的所有特殊字符将被替换。