备份 Rancher
在本文中,你将学习如何备份运行在任何 Kubernetes 集群上的 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,也可以存储在一个持久卷中。
- 在 Rancher UI 中,进入Cluster Explorer。
- 单击 Apps。
- 单击 Rancher Backups。
- 配置默认的存储位置。有关帮助,请参阅存储配置部分( https://docs.rancher.cn/docs/rancher2.5/backups/configuration/storage-config/_index )。
注意:使用 backup-restore-operator 执行还原后,Fleet 中会出现两个已知问题: Fleet agent 无法操作,并且 clientSecretName 和 HelmSecretName 不包括在 Fleet gitrepos 中。请参考这里( https://docs.rancher.cn/docs/rancher2.5/deploy-across-clusters/fleet/_index )了解解决方法。
步骤 2:执行备份
要执行备份,必须创建 Backup 类型的自定义资源。
-
在Cluster Explorer中,进入左上角的下拉菜单,单击Rancher Backups。
-
单击 Backup。
-
使用表单或 YAML 编辑器创建 Backup。
-
要使用该表单配置 Backup 详细信息,请单击Create,然后参考配置参考( https://docs.rancher.cn/docs/rancher2.5/backups/configuration/back-up-config/_index )和范例( https://docs.rancher.cn/docs/rancher2.5/backups/examples/_index )。
-
要使用 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 的帮助,请参阅配置参考( https://docs.rancher.cn/docs/rancher2.5/backups/back-up-rancher/configuration/back-up-config/_index )和示例( https://docs.rancher.cn/docs/rancher2.5/backups/back-up-rancher/examples/_index#备份 )。
重要:rancher-backup operator 不保存 EncryptionConfiguration 文件。创建加密备份时必须保存 EncryptionConfiguration 文件的内容,从该备份中恢复时必须使用相同的文件。
- 单击 创建
结果:在 Backup 自定义资源中配置的存储位置中创建了备份文件。执行还原时使用该文件的名称。