在 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 版本。

配置周期性快照

您可以配置定期制作快照的频率以及保留多少快照。时间量以小时为单位。用户可以使用这些带时间戳的快照,将集群状态恢复到某个时间点。

默认情况下,配置为定期拍摄快照(保存到本地磁盘)。为了防止本地磁盘故障,建议使用S3 备份或对这个磁盘路径通过某种方式进行冗余备份。

在创建集群或编辑集群期间,可以在集群选项的高级部分找到快照的配置。点击显示高级选项

高级集群选项部分中,有几个选项可以配置:

除了定期快照外,您可能还需要创建“一次性”快照。例如,在升级集群的 Kubernetes 版本之前,最好备份集群的状态以防止升级失败。

1.在全局视图中,找到要创建一次性快照的集群。

2.单击省略号(…)> 立即快照

结果: 根据您的,将拍摄一次快照并将其保存在选定的备份目标中。

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 的访问权限,请参阅使用 IAM 角色向在 Amazon EC2 实例上运行的应用程序授予权限

在 Rancher UI 中,您可以查看所有可用快照的列表。

  1. 全局视图中,点击要查看快照的集群。

安全时间戳

从 v2.3.0 开始支持

从 v2.2.6 版本开始,快照文件已打上时间戳,以简化使用外部工具和脚本处理文件的步骤,但是在某些与 S3 兼容的后端中,这些时间戳不可用。从 Rancher v2.3.0 开始,添加了 safe_timestamp 选项以支持兼容的文件名。当此标志设置为 true 时,快照文件名时间戳中的所有特殊字符将被替换。