5.19. OADP 自助服务
5.19.1. OADP 自助服务 复制链接链接已复制到粘贴板!
OpenShift API for Data Protection (OADP) 1.5.0 引入了一个名为 OADP Self-Service 的新功能,使命名空间管理员用户在 OpenShift Container Platform 上备份和恢复应用程序。
5.19.1.1. 关于 OADP 自助服务 复制链接链接已复制到粘贴板!
从 OADP 1.5.0 开始,您不需要 cluster-admin
角色来执行备份和恢复操作。您可以将 OADP 与命名空间 admin
角色一起使用。命名空间 admin
角色仅对该用户分配到的命名空间具有管理员访问权限。
您只能在集群管理员安装 OADP Operator 并提供所需权限后使用 Self-Service 功能。
OADP 自助服务功能为没有 cluster-admin
特权的用户提供安全自助服务数据保护功能,同时保持正确的访问控制。
OADP 集群管理员创建具有命名空间 admin
角色的用户,并为用户提供必要的基于角色的访问控制(RBAC),以执行 OADP Self-Service 操作。由于与 cluster-admin
角色相比,此用户具有有限的访问权限,因此此用户被称为命名空间 admin 用户。
作为命名空间 admin 用户,您可以备份和恢复集群中授权命名空间中部署的应用程序。
OADP 自助服务提供以下优点:
作为集群管理员:
- 您可以为命名空间 admin 用户允许命名空间范围的备份和恢复操作。这意味着,命名空间 admin 用户无法访问它们没有授权的命名空间。
-
您可以通过
DataProtectionApplication
配置和策略,保持管理员对非管理员用户操作的控制。
作为命名空间 admin 用户:
- 您可以为授权命名空间创建备份和恢复自定义资源。
- 您可以在授权命名空间中创建专用备份存储位置。
- 您可以安全地访问备份日志和状态信息。
5.19.1.2. 命名空间范围的备份和恢复意味着 复制链接链接已复制到粘贴板!
OADP 自助服务可确保命名空间管理员用户只能在其授权命名空间中运行。例如,如果您无法以命名空间 admin 用户身份访问命名空间,则无法备份该命名空间。
命名空间 admin 用户无法访问其他用户的备份和恢复数据。
集群管理员通过自定义资源(CR)强制实施访问控制,以安全地管理备份和恢复操作。
另外,集群管理员可以控制 CR 中允许的选项,使用 DataProtectionApplication
(DPA) CR 中的 spec
强制限制添加安全性的某些操作。
命名空间
管理员用户可以执行以下自助服务操作:
- 创建和管理其授权命名空间的备份。
- 将数据恢复到其授权命名空间。
- 配置自己的备份存储位置。
- 检查备份和恢复状态。
- 请求检索相关日志。
5.19.1.3. OADP 自助服务自定义资源 复制链接链接已复制到粘贴板!
OADP Self-Service 功能有以下新的自定义资源(CR),为命名空间 admin 用户执行备份和恢复操作:
CR | 描述 |
| 控制和编排自助服务操作。 |
| 管理命名空间范围的备份操作。 |
| 管理命名空间范围的恢复操作。 |
| 定义特定于用户的备份存储位置。 |
| 管理命名空间范围的下载请求操作。 |
5.19.1.4. OADP 自助服务如何工作 复制链接链接已复制到粘贴板!
下图显示了 OADP 自助服务如何在高级别上工作。图中描述了以下工作流:
-
命名空间 admin 用户创建
NonAdminBackup
(NAB)自定义资源(CR)请求。 -
NonAdminController
(NAC) CR 接收 NAB CR 请求。 - NAC 验证请求并更新有关请求的 NAB CR。
-
NAC 创建
Velero
备份对象。 -
NAC 监控
Velero
备份对象,并将状态放回 NAB CR。
图 5.1. OADP 自助服务如何工作
5.19.1.5. OADP 自助服务先决条件 复制链接链接已复制到粘贴板!
在开始使用 OADP Self-Service 作为命名空间 admin
用户前,请确定您满足以下先决条件:
-
集群管理员已将 OADP
DataProtectionApplication
(DPA) CR 配置为启用自助服务。 集群管理员已完成以下任务:
-
创建命名空间
admin
用户帐户。 -
为命名空间
admin
用户创建一个命名空间。 - 为命名空间 admin 用户分配适当的特权。这样可确保命名空间 admin 用户在其分配的命名空间中访问并执行备份和恢复操作。
-
创建命名空间
-
另外,集群管理员可以为命名空间
admin
用户创建NonAdminBackupStorageLocation
(NABSL) CR。
5.19.1.6. OADP Self-Service 命名空间权限 复制链接链接已复制到粘贴板!
作为集群管理员,确保为命名空间中的以下对象列表分配了命名空间 admin 用户的编辑器角色。这些对象可确保命名空间 admin 用户可以在其命名空间中执行备份和恢复操作。
-
nonadminbackups.oadp.openshift.io
-
nonadminbackupstoragelocations.oadp.openshift.io
-
nonadminrestores.oadp.openshift.io
-
nonadmindownloadrequests.oadp.openshift.io
如需有关命名空间 admin
角色的更多详细信息,请参阅 Default cluster roles。
集群管理员也可以定义自己的规格,以便用户可以具有类似于 项目或命名空间
admin
角色的权限。
5.19.1.6.1. 备份操作的 RBAC YAML 示例 复制链接链接已复制到粘贴板!
请参阅以下基于角色的访问控制(RBAC) YAML 文件示例,其中包含命名空间 admin
用户的命名空间权限,以执行备份操作。
RBAC 清单示例
5.19.1.7. OADP 自助服务限制 复制链接链接已复制到粘贴板!
OADP Self-Service 不支持以下功能:
- 不支持跨集群备份和恢复,或不支持迁移。集群管理员支持这些 OADP 操作。
-
命名空间
admin
用户无法创建VolumeSnapshotLocation
(VSL) CR。集群管理员在命名空间admin
用户的DataProtectionApplication
(DPA) CR 中创建和配置 VSL。 -
命名空间
admin
用户不支持ResourceModifiers
CR 和卷策略。 命名空间
admin
用户可以使用NonAdminDownloadRequest
CR 请求备份或恢复日志,只有在用户使用NonAdminBackupStorageLocation
CR 创建了备份或恢复时。如果使用集群范围的默认备份存储位置创建备份或恢复 CR,命名空间
admin
用户无法请求备份或恢复日志。为确保安全备份和恢复,OADP Self-Service 会自动排除以下 CR 正在备份或恢复:
-
NonAdminBackup
-
NonAdminRestore
-
NonAdminBackupStorageLocation
-
SecurityContextConstraints
-
ClusterRole
-
ClusterRoleBinding
-
CustomResourceDefinition
-
priorityclasses
-
VirtualMachineClusterInstanceTypes
-
VirtualMachineClusterPreferences
-
5.19.1.8. OADP 自助服务备份和恢复阶段 复制链接链接已复制到粘贴板!
NonAdminBackup
(NAB)自定义资源(CR)和 NonAdminRestore
(NAR) CR 的 status.phase
字段提供 CR 的当前状态概述。查看下表中 NAB 和 NAR 阶段的值。
CR 的阶段仅进行转发。当阶段过渡到下一阶段后,它无法恢复到以前的阶段。
value | 描述 |
| NAC 接受 NAB 或 NAR CR 的创建请求,但它尚未由 NAC 验证。 |
|
NAB 或 NAR CR 不被 NAC CR 无效,因为 NAB 或 NAR CR 的
命名空间 admin 用户可以更新 NAB 或 NAR |
|
NAB 或 NAR CR 由 NAC 验证,并创建了 |
|
NAB 或 NAR CR 标记为删除。NAC 删除对应的 |
5.19.1.9. 关于 NonAdminBackupStorageLocation CR 复制链接链接已复制到粘贴板!
命名空间管理员可以创建 NonAdminBackupStorageLocation
(NABSL)自定义资源(CR)来存储备份数据。
为确保 NABSL CR 被安全创建和使用,请使用集群管理员控制。集群管理员管理 NABSL CR 以遵守公司策略和合规性要求。
您可以使用以下工作流之一创建 NABSL CR:
-
管理员创建工作流 :在这个工作流中,集群管理员会为命名空间 admin 用户创建 NABSL CR。然后,命名空间 admin 用户在
NonAdminBackup
CR 中引用 NABSL。 管理员批准工作流 :集群管理员必须通过将
nonAdmin.requireApprovalForBSL
字段设置为true
,在 DPA 中显式启用此 opt-in 功能。集群管理员批准过程按如下方式工作:-
命名空间 admin 用户创建一个 NABSL CR。由于管理员已在 DPA 中强制执行批准过程,所以它会触发在
openshift-adp
命名空间中创建NonAdminBackupStorageLocationRequest
CR。 集群管理员检查请求,并批准或拒绝请求。
-
如果批准,在
openshift-adp
命名空间中创建Velero
BackupStorageLocation
(BSL),并更新 NABSL CR 状态以反映批准。 - 如果被拒绝,则更新了 NABSL CR 的状态,以反映拒绝。
-
如果批准,在
-
集群管理员也可以撤销之前批准的 NABSL CR。
approve
字段设置为pending
或reject
。这会导致删除Velero
BSL,命名空间 admin 用户会收到拒绝通知。
-
命名空间 admin 用户创建一个 NABSL CR。由于管理员已在 DPA 中强制执行批准过程,所以它会触发在
-
自动批准工作流 :在这个工作流中,集群管理员不会通过将 DPA 中的
nonAdmin.requireApprovalForBSL
字段设置为false
来强制对 NABSL CR 的批准过程。此字段的默认值为false
。不设置字段会导致 NABSL 自动批准。因此,命名空间 admin 用户可以从其授权命名空间创建 NABSL CR。
为了安全起见,请使用管理员创建或管理员批准工作流。自动批准工作流的安全性较低,因为它不需要管理员审核。
5.19.2. OADP 自助服务集群管理员用例 复制链接链接已复制到粘贴板!
作为集群管理员,您可以在以下情况下使用 Self-Service 功能:
- 启用或禁用 OADP 自助服务。
- 批准或拒绝 NABSL 自定义资源(CR)。
-
在
DataProtectionApplication
(DPA) CR 中强制模板策略。
5.19.2.1. 启用和禁用 OADP 自助服务 复制链接链接已复制到粘贴板!
您必须是集群管理员才能启用 OADP Self-Service 功能。您可以使用 DataProtectionApplication
(DPA)自定义资源(CR)的 spec.nonAdmin.enable
部分来启用和禁用 Self-Service 功能。
启用 Self-Service 功能会在 OADP Operator 命名空间中安装 NonAdminController
(NAC) CR。
您只能在集群中安装一个 NonAdminController
(NAC) CR 实例。如果安装多个 NAC CR 实例,您会收到以下错误:
错误示例
message: only a single instance of Non-Admin Controller can be installed across the entire cluster. Non-Admin controller is already configured and installed in openshift-adp namespace.
message: only a single instance of Non-Admin Controller can be installed across the entire cluster. Non-Admin controller is already configured and installed in openshift-adp namespace.
先决条件
-
使用
cluster-admin
角色登录到集群。 - 已安装 OADP Operator。
- 您已配置了 DPA。
流程
要启用 OADP Self-Service,请编辑 DPA CR 来配置
nonAdmin.enable
部分。请参见以下示例配置:DataProtectionApplication
CR 示例Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
要验证
NonAdminController
(NAC) pod 是否在 OADP 命名空间中运行,请运行以下命令:oc get pod -n openshift-adp -l control-plane=non-admin-controller
$ oc get pod -n openshift-adp -l control-plane=non-admin-controller
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
NAME READY STATUS RESTARTS AGE non-admin-controller-5d....f5-p..9p 1/1 Running 0 99m
NAME READY STATUS RESTARTS AGE non-admin-controller-5d....f5-p..9p 1/1 Running 0 99m
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.19.2.2. 启用 NonAdminBackupStorageLocation 管理员批准工作流 复制链接链接已复制到粘贴板!
NonAdminBackupStorageLocation
(NABSL)自定义资源(CR)管理员批准工作流是 opt-in 功能。作为集群管理员,您必须通过将 nonAdmin.requireApprovalForBSL
字段设置为 true
来显式启用 DataProtectionApplication
(DPA) CR 中的功能。
您还需要将 DPA CR 中的 noDefaultBackupLocation
字段设置为 true
。此设置表示,在 DPA CR 中没有配置默认备份存储位置,命名空间 admin 用户可以创建一个 NABSL CR,并发送用于批准的 CR 请求。
先决条件
-
使用
cluster-admin
角色登录到集群。 - 已安装 OADP Operator。
-
您已在
DataProtectionApplication
CR 中启用了 OADP Self-Service。
5.19.2.3. 批准 NonAdminBackupStorageLocation 请求 复制链接链接已复制到粘贴板!
作为集群管理员,若要批准 NonAdminBackupStorageLocation
(NABSL) CR 请求,您可以编辑 NonAdminBackupStorageLocationRequest
CR,并将 approvalDecision
字段设置为 批准
。
先决条件
-
使用
cluster-admin
角色登录到集群。 - 已安装 OADP Operator。
-
您已在
DataProtectionApplication
(DPA) CR 中启用了 OADP Self-Service。 - 您已在 DPA 中启用了 NABSL CR 批准工作流。
流程
要查看队列中用于管理员批准的 NABSL CR 请求,请运行以下命令:
oc -n openshift-adp get NonAdminBackupStorageLocationRequests
$ oc -n openshift-adp get NonAdminBackupStorageLocationRequests
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
NAME REQUEST-PHASE REQUEST-NAMESPACE REQUEST-NAME AGE non-admin-bsl-test-.....175 Approved non-admin-bsl-test incorrect-bucket-nabsl 4m57s non-admin-bsl-test-.....196 Approved non-admin-bsl-test perfect-nabsl 5m26s non-admin-bsl-test-s....e1a Rejected non-admin-bsl-test suspicious-sample 2m56s non-admin-bsl-test-.....5e0 Pending non-admin-bsl-test waitingapproval-nabsl 4m20s
NAME REQUEST-PHASE REQUEST-NAMESPACE REQUEST-NAME AGE non-admin-bsl-test-.....175 Approved non-admin-bsl-test incorrect-bucket-nabsl 4m57s non-admin-bsl-test-.....196 Approved non-admin-bsl-test perfect-nabsl 5m26s non-admin-bsl-test-s....e1a Rejected non-admin-bsl-test suspicious-sample 2m56s non-admin-bsl-test-.....5e0 Pending non-admin-bsl-test waitingapproval-nabsl 4m20s
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要批准 NABSL CR 请求,请运行以下命令将
approvalDecision
字段设置为批准
:oc patch nabslrequest <nabsl_name> -n openshift-adp --type=merge -p '{"spec": {"approvalDecision": "approve"}}'
$ oc patch nabslrequest <nabsl_name> -n openshift-adp --type=merge -p '{"spec": {"approvalDecision": "approve"}}'
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 指定
NonAdminBackupStorageLocationRequest
CR 的名称。
验证
运行以下命令验证 Velero 备份存储位置是否已创建并
阶段可用
:oc get velero.io.backupstoragelocation
$ oc get velero.io.backupstoragelocation
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
NAME PHASE LAST VALIDATED AGE DEFAULT test-nac-test-bsl-cd...930 Available 62s 62s
NAME PHASE LAST VALIDATED AGE DEFAULT test-nac-test-bsl-cd...930 Available 62s 62s
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.19.2.4. 拒绝 NonAdminBackupStorageLocation 请求 复制链接链接已复制到粘贴板!
作为集群管理员,若要拒绝 NonAdminBackupStorageLocation
(NABSL)自定义资源(CR)请求,您可以编辑 NonAdminBackupStorageLocationRequest
CR,并将 approvalDecision
字段设置为 拒绝
。
先决条件
-
使用
cluster-admin
角色登录到集群。 - 已安装 OADP Operator。
-
您已在
DataProtectionApplication
(DPA) CR 中启用了 OADP Self-Service。 - 您已在 DPA 中启用了 NABSL CR 批准工作流。
流程
要查看队列中用于管理员批准的 NABSL CR 请求,请运行以下命令:
oc -n openshift-adp get NonAdminBackupStorageLocationRequests
$ oc -n openshift-adp get NonAdminBackupStorageLocationRequests
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要拒绝 NABSL CR 请求,请运行以下命令将
approvalDecision
字段设置为reject
:oc patch nabslrequest <nabsl_name> -n openshift-adp --type=merge -p '{"spec": {"approvalDecision": "reject"}}'
$ oc patch nabslrequest <nabsl_name> -n openshift-adp --type=merge -p '{"spec": {"approvalDecision": "reject"}}'
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 指定
NonAdminBackupStorageLocationRequest
CR 的名称。
5.19.2.5. OADP 自助服务管理员 DPA spec 强制 复制链接链接已复制到粘贴板!
作为集群管理员,您可以在 DataProtectionApplication
(DPA) spec 模板中强制实施策略。spec 强制适用于 Self-Service 自定义资源(CR),如 NonAdminBackup
、NonAdminRestore
和 NonAdminBackupStorageLocation
。
集群管理员可以使用 DataProtectionApplication
(DPA) CR 中的以下字段强制实施公司或合规策略:
enforceBSLSpec
-
要在
NonAdminBackupStorageLocation
CR 上强制执行策略。 enforceBackupSpec
-
要在
NonAdminBackup
CR 上强制执行策略。 enforceRestoreSpec
-
要在
NonAdminRestore
CR 上强制执行策略。
通过使用强制字段,管理员可以确保命名空间 admin 用户创建的 NABSL、NAB 和 NAR CR 符合管理员定义的策略。
5.19.2.6. NABSL 的自助服务管理员规格强制 复制链接链接已复制到粘贴板!
作为集群管理员,您可以为 NonAdminBackupStorageLocation
(NABSL)自定义资源(CR)强制以下字段:
-
objectStorage
-
credential
-
config
-
accessMode
-
validationFrequency
例如,如果要强制命名空间 admin 用户使用特定的存储桶,您可以设置 DataProtectionApplication
(DPA) CR,如下所示:
DataProtectionApplication
CR 示例
当命名空间 admin 用户创建 NABSL 时,他们必须遵循 DPA 中设置的模板。否则,NABSL CR 上的 status.phase
字段设置为 BackingOff
,NABSL 无法创建。
5.19.2.7. NAB 的自助服务管理员规格实施 复制链接链接已复制到粘贴板!
作为集群管理员,您可以为 NonAdminBackup
(NAB) CR 强制以下字段:
-
csiSnapshotTimeout
-
itemOperationTimeout
-
resourcePolicy
-
includedResources
-
excludedResources
-
orderedResources
-
includeClusterResources
-
excludedClusterScopedResources
-
excludedNamespaceScopedResources
-
includedNamespaceScopedResources
-
labelSelector
-
orLabelSelectors
-
snapshotVolumes
-
ttl
-
snapshotMoveData
-
uploaderConfig.parallelFilesUpload
如果要为命名空间 admin 用户强制执行 ttl
值和 Data Mover 备份,您可以设置 DataProtectionApplication
(DPA) CR,如下例所示:
DataProtectionApplication
CR 示例
当命名空间 admin 用户创建 NAB CR 时,他们必须遵循 DPA 中设置的模板。否则,NAB CR 上的 status.phase
字段设置为 BackingOff
,NAB CR 无法创建。
5.19.2.8. NAR 的自助服务管理员规格强制 复制链接链接已复制到粘贴板!
作为集群管理员,您可以为 NonAdminRestore
(NAR)自定义资源(CR)强制以下字段:
-
itemOperationTimeout
-
uploaderConfig
-
includedResources
-
excludedResources
-
restoreStatus
-
includeClusterResources
-
labelSelector
-
orLabelSelectors
-
restorePVs
-
preserveNodePorts
5.19.3. OADP 自助服务命名空间管理用例 复制链接链接已复制到粘贴板!
作为命名空间 admin 用户,您可以在以下情况下使用 Self-Service 功能:
- 在授权命名空间中创建备份存储位置。
-
创建
NonAdminBackup
(NAB)自定义资源(CR)。 -
创建
NonAdminRestore
(NAR) CR。 - 查看 NAB 和 NAR 日志。
5.19.3.1. 创建 NonAdminBackupStorageLocation CR 复制链接链接已复制到粘贴板!
您可以在授权命名空间中创建 NonAdminBackupStorageLocation
(NABSL)自定义资源(CR)。集群管理员批准 NABSL CR 请求后,您可以使用 NonAdminBackup
CR spec 中的 NABSL CR。
先决条件
- 以命名空间 admin 用户身份登录集群。
- 集群管理员已安装了 OADP Operator。
-
集群管理员已将
DataProtectionApplication
(DPA) CR 配置为启用 OADP Self-Service。 - 集群管理员已为您创建了一个命名空间,并有权从该命名空间操作。
流程
使用您的云供应商的云凭证文件内容创建
Secret
CR。运行以下命令:oc create secret generic cloud-credentials -n test-nac-ns --from-file <cloud_key_name>=<cloud_credentials_file>
$ oc create secret generic cloud-credentials -n test-nac-ns --from-file <cloud_key_name>=<cloud_credentials_file>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 在本例中,
Secret
名称是cloud-credentials
,授权命名空间名称为test-nac-ns
。将<cloud_key_name
> 和 <cloud_credentials_file
> 替换为您的云密钥名称和云凭证文件名。
要创建
NonAdminBackupStorageLocation
CR,请使用以下配置创建一个 YAML 清单文件:NonAdminBackupStorageLocation
CR 示例Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要应用 NABSL CR 配置,请运行以下命令:
oc apply -f <nabsl_cr_filename>
$ oc apply -f <nabsl_cr_filename>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 将
<nabsl_cr_filename
> 替换为包含 NABSL CR 配置的文件名。
验证
要验证 NABSL CR 是否在
New
阶段,且待处理的管理员批准,请运行以下命令:oc get nabsl test-nabsl -o yaml
$ oc get nabsl test-nabsl -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 集群管理员批准
NonAdminBackupStorageLocationRequest
CR 请求后,通过运行以下命令验证 NABSL CR 是否已成功创建:oc get nabsl test-nabsl -o yaml
$ oc get nabsl test-nabsl -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.19.3.2. 创建 NonAdminBackup CR 复制链接链接已复制到粘贴板!
作为命名空间 admin 用户,您可以创建一个 NonAdminBackup
(NAB)自定义资源(CR)来从授权命名空间中备份应用程序。NAB 是一个 OpenShift Container Platform CR,可以安全地创建 Velero
备份对象。Velero
备份对象将状态报告回 NAB CR,该 CR 最终会更新 status.phase
字段。
创建 NAB CR 后,CR 会经历以下阶段:
-
CR 的初始阶段是
New
。 -
CR 创建请求进入
NonAdminController
(NAC)以进行协调和验证。 -
在成功验证并创建
Velero
备份对象后,NAB CR 的status.phase
字段会更新至下一个阶段,即Created
。
在创建 NAB CR 时,请查看以下重要点:
-
NonAdminBackup
CR 安全地创建Velero
备份对象,以便其他命名空间管理员用户无法访问 CR。 - 作为命名空间 admin 用户,您只能在 NAB CR 中指定授权命名空间。当您指定没有授权使用的命名空间时,您会收到一个错误。
先决条件
- 以命名空间 admin 用户身份登录集群。
- 集群管理员已安装了 OADP Operator。
-
集群管理员已将
DataProtectionApplication
(DPA) CR 配置为启用 OADP Self-Service。 - 集群管理员已为您创建了一个命名空间,并有权从该命名空间操作。
-
可选:您可以创建并使用
NonAdminBackupStorageLocation
(NABSL) CR 来存储备份数据。如果不使用 NABSL CR,则备份将存储在 DPA 中配置的默认备份存储位置。
流程
要创建
NonAdminBackup
CR,请使用以下配置创建一个 YAML 清单文件:NonAdminBackup
CR 示例Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要应用 NAB CR 配置,请运行以下命令:
oc apply -f <nab_cr_filename>
$ oc apply -f <nab_cr_filename>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 指定包含 NAB CR 配置的文件名。
验证
要验证 NAB CR 是否已成功创建,请运行以下命令:
oc get nab test-nab -o yaml
$ oc get nab test-nab -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 在
Velero
备份对象上设置NonAdminController
CR 的命名空间名称来备份。 - 2
- NAC 已协调并验证 NAB CR,并创建了
Velero
备份对象。 - 3
fileSystemPodVolumeBackups
字段指示使用 FSB 备份的卷数量。- 4
- NAB CR 处于
Created
阶段。 - 5
- 此字段表示备份对象的队列位置。过程中可以有多个备份,每个备份对象被分配一个队列位置。备份完成后,队列位置设置为
0。
- 6
- NAC 创建
Velero
备份对象,并为nacuuid
字段设置值。 - 7
- 关联的
Velero
备份对象的名称。 - 8
Velero
备份对象的状态。- 9
Velero
备份对象处于Completed
阶段,备份成功。
5.19.3.3. 创建 NonAdminRestore CR 复制链接链接已复制到粘贴板!
作为命名空间 admin 用户,若要恢复备份,您可以创建一个 NonAdminRestore
(NAR)自定义资源(CR)。备份恢复到授权的命名空间。
先决条件
- 以命名空间 admin 用户身份登录集群。
- 集群管理员已安装了 OADP Operator。
-
集群管理员已将
DataProtectionApplication
(DPA) CR 配置为启用 OADP Self-Service。 - 集群管理员已为您创建了一个命名空间,并有权从该命名空间操作。
-
您可以通过创建一个
NonAdminBackup
(NAB) CR 来备份应用程序。
流程
要创建
NonAdminRestore
CR,请使用以下配置创建一个 YAML 清单文件:NonAdminRestore
CR 示例Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要应用 NAR CR 配置,请运行以下命令:
oc apply -f <nar_cr_filename>
$ oc apply -f <nar_cr_filename>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 将
<nar_cr_filename
> 替换为包含 NAR CR 配置的文件名。
验证
要验证 NAR CR 是否已成功创建,请运行以下命令:
oc get nar test-nar -o yaml
$ oc get nar test-nar -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.19.3.4. 关于 NonAdminDownloadRequest CR 复制链接链接已复制到粘贴板!
作为命名空间 admin 用户,您可以使用 NonAdminDownloadRequest
(NADR)自定义资源(CR)访问备份和恢复的详细信息,以进行故障排除。
此 CR 提供了与集群管理员使用 velero 备份 describe --details
命令访问的信息。
验证 NADR CR 请求后,会生成一个安全下载 URL 以访问请求的信息。
您可以下载以下 NADR 资源:
资源类型 | 描述 | 等同于 |
| 备份中包含的资源列表 |
|
| 备份的文件内容 | 备份详情的一部分 |
| 备份操作的日志 |
|
| 有关卷快照的信息 |
|
| 有关备份过程中执行的项目操作的信息 |
|
| 来自恢复操作的日志 |
|
| 恢复的详细结果 |
|
5.19.3.5. 查看 NAB 和 NAR 日志 复制链接链接已复制到粘贴板!
作为命名空间 admin 用户,您可以通过创建 NonAdminDownloadRequest
(NADR) CR 来查看 NonAdminBackup
(NAB)和 NonAdminRestore
(NAR)自定义资源(CR)的日志。
只有在使用 NonAdminBackupStorageLocation
(NABSL) CR 作为备份的备份存储位置时,才能查看 NAB 日志。
先决条件
- 以命名空间 admin 用户身份登录集群。
- 集群管理员已安装了 OADP Operator。
-
集群管理员已将
DataProtectionApplication
(DPA) CR 配置为启用 OADP Self-Service。 - 集群管理员已为您创建了一个命名空间,并有权从该命名空间操作。
- 您可以通过创建一个 NAB CR 来备份应用程序。
- 您已通过创建一个 NAR CR 来恢复应用程序。
流程
要查看 NAB CR 日志,请创建一个
NonAdminDownloadRequest
CR,并指定 NAB CR 名称,如下例所示:NonAdminDownloadRequest
CR 示例Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,验证 NADR CR 是否已处理。
oc get nadr test-nadr-backup -o yaml
$ oc get nadr test-nadr-backup -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
使用
status.downloadURL
URL 下载和分析备份信息。 要查看 NAR CR 日志,请创建一个
NonAdminDownloadRequest
CR,并指定 NAR CR 名称,如下例所示:NonAdminDownloadRequest
CR 示例Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,验证 NADR CR 是否已处理。
oc get nadr test-nadr-restore -o yaml
$ oc get nadr test-nadr-restore -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
使用
status.downloadURL
URL 下载和分析恢复信息。
5.19.4. OADP 自助服务故障排除 复制链接链接已复制到粘贴板!
在使用 OADP Self-Service 时,您可以使用以下部分排除常见错误。
请考虑以下命名空间 管理员
备份的场景:
-
您已在两个不同的命名空间中创建了两个
NonAdminBackupStorageLocations
(NABLs)自定义资源(CR),例如,namespace-1
中的nabsl-1
和namespace-2
中的nabsl-2
。 -
您需要对
namespace-1
进行备份,并在NonAdminBackup
(NAB) CR 中使用nabsl-2
。
在这种情况下,在创建 NAB CR 后会出现以下错误:
NonAdminBackupStorageLocation not found in the namespace: NonAdminBackupStorageLocation.oadp.openshift.io
NonAdminBackupStorageLocation not found in the namespace: NonAdminBackupStorageLocation.oadp.openshift.io
造成错误的原因是 NABSL CR 不属于您要备份的命名空间。
错误
解决方案
使用属于您要备份的同一命名空间的 NABSL。
在这种情况下,您必须在 NAB CR 中使用 nabsl-1
来备份 namespace-1
。
5.19.4.2. NonAdminBackupStorageLocation 无法设置为默认 复制链接链接已复制到粘贴板!
作为非管理员用户,如果您在授权命名空间中创建了 NonAdminBackupStorageLocation
(NABSL)自定义资源(CR),则无法将 NABSL CR 设置为默认备份存储位置。
在这种情况下,NABSL CR 无法验证,NonAdminController
(NAC)会显示错误消息。
NABSL 错误示例
解决方案
要成功验证并协调 NABSL CR,请确保在 NABSL CR 中的 default
字段设置为 false
。