使用高级自定义资源还原设置
您可以使用高级设置(如注释、命名空间设置和存储选项)自定义还原操作,以满足您的特定要求。
还原和故障转移操作期间的命名空间注释和标签
在恢复和故障转移操作期间,目标命名空间中的标签和注释将与源命名空间中的标签和注释匹配。将添加目标命名空间中不存在的源命名空间中的标签或注释,并覆盖已存在的任何标签或注释,以匹配源命名空间中的值。仅存在于目标命名空间上的标签或注释保持不变。
|
|
如果使用 Red Hat OpenShift,请务必注意命名空间注释在 OpenShift 环境中的关键作用。命名空间注释可确保还原的 Pod 遵守 OpenShift 安全上下文约束 (SCC) 定义的适当权限和安全配置,并且可以访问卷而不会出现权限问题。有关详细信息,请参见 "OpenShift 安全上下文约束文档"。 |
在执行还原或故障转移操作之前,可以通过设置 Kubernetes 环境变量 `RESTORE_SKIP_NAMESPACE_ANNOTATIONS`来防止目标命名空间中的特定注释被覆盖。例如:
helm upgrade trident-protect -n trident-protect netapp-trident-protect/trident-protect \
--set-string restoreSkipNamespaceAnnotations="{<annotation_key_to_skip_1>,<annotation_key_to_skip_2>}" \
--reuse-values
|
|
执行还原或故障切换操作时,在 `restoreSkipNamespaceAnnotations`和 `restoreSkipNamespaceLabels`中指定的任何命名空间批注和标签都将从还原或故障切换操作中排除。确保在初始 Helm 安装过程中配置了这些设置。要了解更多信息,请参阅"配置其他 Trident Protect helm 图表设置"。 |
如果使用带有 --create-namespace 标志的 Helm 安装源应用程序,则会对 name 标签键进行特殊处理。在还原或故障转移过程中,Trident Protect 会将此标签复制到目标命名空间,但如果来自源的值与源命名空间匹配,则将值更新为目标命名空间值。如果此值与源命名空间不匹配,则将其复制到目标命名空间,不进行任何更改。
示例
以下示例显示了源和目标命名空间,每个命名空间都有不同的注释和标签。您可以查看操作之前和之后的目标命名空间的状态,以及如何在目标命名空间中组合或覆盖注释和标签。
还原或故障转移操作之前
下表显示了还原或故障转移操作之前的示例源和目标命名空间的状态:
| 命名空间 | 标注 | 标签 |
|---|---|---|
命名空间 ns-1(源) |
|
|
命名空间 ns-2(目标) |
|
|
还原操作后
下表显示了还原或故障转移操作后示例目标命名空间的状态。已添加一些键,一些键已被覆盖,并且已更新 name 标签以匹配目标命名空间:
| 命名空间 | 标注 | 标签 |
|---|---|---|
命名空间 ns-2(目标) |
|
|
支持的字段
本节描述可用于还原操作的其他字段。
存储类映射
该 spec.storageClassMapping 属性定义从源应用程序中存在的存储类到目标集群上的新存储类的映射。您可以在具有不同存储类的集群之间迁移应用程序或更改 BackupRestore 操作的存储后端时使用此功能。
示例:
storageClassMapping:
- destination: "destinationStorageClass1"
source: "sourceStorageClass1"
- destination: "destinationStorageClass2"
source: "sourceStorageClass2"
支持的注释
本节列出了用于在系统中配置各种行为的支持注释。如果用户未明确设置注释,系统将使用默认值。
| 标注 | 类型 | 描述 | 默认值 |
|---|---|---|---|
protect.trident.netapp.io/data-mover-timeout-sec |
string |
允许数据移动器操作停止的最长时间(以秒为单位)。 |
"300" |
protect.trident.netapp.io/kopia-content-cache-size-limit-mb |
string |
Kopia 内容缓存的最大大小限制(以兆字节为单位)。 |
"1000" |
protect.trident.netapp.io/pvc-bind-timeout-sec |
string |
在操作失败之前,等待任何新创建的 PersistentVolumeClaims (PVC) 到达 `Bound`阶段的最长时间(以秒为单位)。适用于所有还原 CR 类型(BackupRestore、BackupInplaceRestore、SnapshotRestore、SnapshotInplaceRestore)。如果您的存储后端或集群通常需要更多时间,请使用更高的值。 |
"1200"(20 分钟) |