本文永久链接: https://www.xtplayer.cn/rancher/backup-restore/rancher-custom-cluster-backups/

自 v2.2.0 起可用,仅支持自定义集群

在 Rancher UI 中,可以很容易对自定义集群做 etcd 备份和恢复。备份 etcd 数据并将其保存到 etcd 节点的 /opt/rke/etcd-snapshots/ 目录下或上传到 S3 存储。

提示: Rancher 建议为所有生产集群配置 etcd 自动备份。

注意: 如果您有通过 Rancher v2.2.0 之前版本创建的自定义 Kubernetes 集群,则在升级 Rancher 之后,必须编辑该集群并保存它,以便启用自动备份功能。即使您已经使用 Rancher v2.2.0 之前版本创建了备份,也必须执行此步骤。因为早期的自动备份无法用于通过 UI 备份和还原 etcd

自动备份

默认情况下,Rancher 启动的 Kubernetes 集群将启动自动备份(默认保存在本地磁盘 /opt/rke/etcd-snapshots/ 目录下)。为了防止本地磁盘故障,建议使用S3或将 /opt/rke/etcd-snapshots/ 目录备份到其他磁盘或者其他远程存储服务。在集群配置或编辑集群时,在集群选项高级集群选项部分找到自动备份的配置。

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

选项描述默认值
etcd 备份存储选择要保存 etcd 备份的位置。local 或在 S3local
Etcd 备份轮换启用/禁用启用
备份周期etcd 重复备份之间的时间间隔(小时)12
备份副本要保留的备份副本数6

S3 参数

选项描述需要
S3 Bucket Name存储备份 Bucket 名称*
S3 Region备用存储 Bucket 的 S3 区域
S3 Region EndpointS3Bucket 访问端点*
S3 Folder文件备份路径
S3 Access Key*
S3 Secret Key*
自定义 CA 证书从 v2.2.5 可用用于访问私有 S3 后端的自定义证书

手动备份

除了自动备份外,Rancher UI 还支持手动临时创建备份。在对集群做修改变动前(例如,升级集群 Kubernetes 版本)需要备份集群数据,以防止升级失败后用于数据回滚或者防止数据损坏或丢失。

  1. 全局 》 集群视图中,切换到要手动备份的集群。
  2. 点击右侧的省略号菜单,然后点击备份

安全时间戳

自 v2.3.0 起可用

从 v2.2.6 版本开始,备份文件已打上时间戳。但是在某些存储后端中,时间戳格式可能不兼容。比如下图中的时间戳通过冒号:来分割,而有些后端存储不支持文件名中有特殊字符。从 Rancher v2.3.0 开始,添加了 safe_timestamp 参数,该参数以支持兼容的文件名。当此参数设置 true 为时,将替换快照文件名时间戳中的所有特殊字符。

注意: 此选项在 UI 中不直接可用,仅通过 Edit as Yaml 修改。

查看可用备份

  1. 全局视图中,切换到要查看备份的集群。
  2. 从顶部菜单栏中选择工具>备份,以查看已保存的备份列表。这些备份包括创建的时间戳。