1.20.5.3. 使用备份和恢复 Operator
完成以下步骤以调度和恢复备份:
使用备份和恢复 operator,
backupschedule.cluster.open-cluster-management.io
和restore.cluster.open-cluster-management.io
资源,使用cluster_v1beta1_backupschedule.yaml
示例文件创建backupschedule.cluster.open-cluster-management.io
资源。请参阅cluster-backup-operator
示例。运行以下命令,使用cluster_v1beta1_backupschedule.yaml
示例文件创建backupschedule.cluster.open-cluster-management.io
资源:kubectl create -n <oadp-operator-ns> -f config/samples/cluster_v1beta1_backupschedule.yaml
您的资源可能类似以下文件:
apiVersion: cluster.open-cluster-management.io/v1beta1 kind: BackupSchedule metadata: name: schedule-acm spec: maxBackups: 10 # maximum number of backups after which old backups should be removed veleroSchedule: 0 */6 * * * # Create a backup every 6 hours veleroTtl: 72h # deletes scheduled backups after 72h; optional, if not specified, the maximum default value set by velero is used - 720h
查看
backupschedule.cluster.open-cluster-management.io
spec
属性的描述:-
maxBackup
是必需属性,表示在删除之前备份后的最大备份数。 -
veleroSchedule
是必需属性,定义用于调度备份的 cron 作业。 -
veleroTtl
是可选属性,定义调度的备份资源的过期时间。如果没有指定,则使用 Velero 设置的最大默认值,即720h
。
-
检查
backupschedule.cluster.open-cluster-management.io
资源的状态,这会显示三个schedule.velero.io
资源的定义。运行以下命令:oc get bsch -n <oadp-operator-ns>
提醒,恢复操作在不同的 hub 集群上运行,用于恢复场景。要启动恢复操作,请在要恢复备份的 hub 集群中创建一个
restore.cluster.open-cluster-management.io
资源。您可以使用集群备份和恢复 Operator,
backupschedule.cluster.open-cluster-management.io
和restore.cluster.open-cluster-management.io
资源来创建备份或恢复资源。请参阅cluster-backup-operator
示例。运行以下命令,使用
cluster_v1beta1_restore.yaml
示例文件创建restore.cluster.open-cluster-management.io
资源。确保将oadp-operator-ns
替换为用于安装 OADP Operator 的命名空间名称。OADP Operator 安装命名空间的默认值为oadp-operator
:kubectl create -n <oadp-operator-ns> -f config/samples/cluster_v1beta1_restore.yaml
您的资源可能类似以下文件:
apiVersion: cluster.open-cluster-management.io/v1beta1 kind: Restore metadata: name: restore-acm spec: veleroManagedClustersBackupName: latest veleroCredentialsBackupName: latest veleroResourcesBackupName: latest
查看以下
restore.cluster.open-cluster-management.io
的三个所需spec
属性的描述:-
veleroManagedClustersBackupName
用于为受管集群定义恢复选项。 -
veleroCredentialsBackupName
用于为用户凭证定义 restore 选项。 veleroResourcesBackupName
用于定义 hub 集群资源的 restore 选项(应用程序
和策略
)。前面提到的属性的有效选项有以下值:
-
latest
- 此属性恢复此类型的备份文件。 -
skip
- 此属性不会尝试使用当前恢复操作恢复这种类型的备份。 -
backup_name
- 此属性通过引用名称来恢复指定的备份。
-
运行以下命令来查看 Velero
Restore
资源:oc get restore.velero.io -n <oadp-operator-ns>
查看以下 YAML 示例以恢复不同类型的备份文件:
恢复所有三种备份资源:
apiVersion: cluster.open-cluster-management.io/v1beta1 kind: Restore metadata: name: restore-acm spec: veleroManagedClustersBackupSchedule: latest veleroCredentialsBackupSchedule: latest veleroResourcesBackupSchedule: latest
仅恢复受管集群资源:
apiVersion: cluster.open-cluster-management.io/v1beta1 kind: Restore metadata: name: restore-acm spec: veleroManagedClustersBackupName: latest veleroCredentialsBackupName: skip veleroResourcesBackupName: skip
使用
acm-managed-clusters-schedule-20210902205438
备份只为受管集群恢复资源:apiVersion: cluster.open-cluster-management.io/v1beta1 kind: Restore metadata: name: restore-acm spec: veleroManagedClustersBackupName: acm-managed-clusters-schedule-20210902205438 veleroCredentialsBackupName: skip veleroResourcesBackupName: skip
有关所需规格属性和有效选项的说明,请参阅恢复备份。注 :restore.cluster.open-cluster-management.io
资源运行一次。恢复操作完成后,您可以选择在同一 hub 集群中运行另一个恢复操作。您必须创建新的 restore.cluster.open-cluster-management.io
资源才能运行新的恢复操作。