Skip to main content

备份 Rancher

在本节中,你将学习如何备份运行在任何 Kubernetes 集群上的 Rancher。要备份通过 Docker 安装的 Rancher,请参考单节点备份的说明。

backup-restore operator 需要安装在 local 集群中,并且只备份 Rancher 应用。备份和恢复操作只在 local Kubernetes 集群中执行。

请注意,1.x.x 版本的 rancher-backup operator 是针对 Rancher v2.5.x 的。

当把备份恢复到一个新的 Rancher 设置中时,新设置的版本应该与备份的版本相同。在恢复备份时还应考虑 Kubernetes 的版本,因为集群中支持的 apiVersion 和备份文件中的 apiVersion 可能不同。

先决条件#

Rancher 版本必须是 v2.5.0 及以上。

步骤 1:安装 rancher-backup operator#

备份存储位置是 operator 级别的设置,所以需要在安装或升级 rancher-backup 时进行配置。

备份创建为 .tar.gz 文件。这些文件可以推送到 S3 或 Minio,也可以存储在一个持久卷中。

  1. 在 Rancher UI 中,进入Cluster Explorer
  2. 单击 Apps
  3. 单击 Rancher Backups
  4. 配置默认的存储位置。有关帮助,请参阅存储配置部分

注意:使用 backup-restore-operator 执行还原后,Fleet 中会出现两个已知问题: Fleet agent 无法操作,并且 clientSecretName 和 HelmSecretName 不包括在 Fleet gitrepos 中。请参考这里了解解决方法。

步骤 2:执行备份#

要执行备份,必须创建 Backup 类型的自定义资源。

  1. Cluster Explorer中,进入左上角的下拉菜单,单击Rancher Backups

  2. 单击 Backup

  3. 使用表单或 YAML 编辑器创建 Backup。

  4. 要使用该表单配置 Backup 详细信息,请单击Create,然后参考配置参考范例

  5. 要使用 YAML 编辑器,我们可以单击Create > Create from YAML,输入 Backup YAML。这个例子备份自定义资源将在 S3 中创建加密的定期备份。该应用程序使用credentialSecretNamespace值来确定在哪里寻找 S3 备份的密钥:

    apiVersion: resources.cattle.io/v1
    kind: Backup
    metadata:
    name: s3-recurring-backup
    spec:
    storageLocation:
    s3:
    credentialSecretName: s3-creds
    credentialSecretNamespace: default
    bucketName: rancher-backups
    folder: rancher
    region: us-west-2
    endpoint: s3.us-west-2.amazonaws.com
    resourceSetName: rancher-resource-set
    encryptionConfigSecretName: encryptionconfig
    schedule: "@every 1h"
    retentionCount: 10
    注意

    使用 YAML 编辑器创建备份资源时,resourceSetName 必须设置为 rancher-resource-set

    有关配置 Backup 的帮助,请参阅配置参考示例

    重要

    rancher-backup operator 不保存 EncryptionConfiguration 文件。创建加密备份时必须保存 EncryptionConfiguration 文件的内容,从该备份中恢复时必须使用相同的文件。

  6. 单击 创建

结果:在 Backup 自定义资源中配置的存储位置中创建了备份文件。执行还原时使用该文件的名称。

Last updated on by kingsd041