×

本文档提供有关可与 OADP 一起使用的以下 API 的信息

  • Velero API

  • OADP API

Velero API

Velero API 文档由 Velero 维护,而不是由 Red Hat 维护。它可以在 Velero API 类型 中找到。

OADP API

下表提供了 OADP API 的结构

表 1. DataProtectionApplicationSpec
属性 类型 描述

backupLocations

[] BackupLocation

定义要用于BackupStorageLocations 的配置列表。

snapshotLocations

[] SnapshotLocation

定义要用于VolumeSnapshotLocations 的配置列表。

unsupportedOverrides

map [ UnsupportedImageKey ] string

可用于覆盖为开发部署的依赖镜像。选项包括veleroImageFqinawsPluginImageFqinopenshiftPluginImageFqinazurePluginImageFqingcpPluginImageFqincsiPluginImageFqindataMoverImageFqinresticRestoreImageFqinkubevirtPluginImageFqinoperator-type

podAnnotations

map [ string ] string

用于向运算符部署的 Pod 添加注释。

podDnsPolicy

DNSPolicy

定义 Pod 的 DNS 配置。

podDnsConfig

PodDNSConfig

除了从DNSPolicy 生成的 DNS 参数外,还定义 Pod 的 DNS 参数。

backupImages

*bool

用于指定是否要部署注册表以启用镜像的备份和恢复。

configuration

*ApplicationConfig

用于定义数据保护应用程序的服务器配置。

features

*Features

定义 DPA 的配置以启用技术预览功能。

表 2. BackupLocation
属性 类型 描述

velero

*velero.BackupStorageLocationSpec

存储卷快照的位置,如备份存储位置 中所述。

bucket

*CloudStorageLocation

[技术预览] 自动创建某些云存储提供商的存储桶,用作备份存储位置。

bucket 参数仅为技术预览功能。技术预览功能不受 Red Hat 生产服务级别协议 (SLA) 的支持,并且可能功能不完整。Red Hat 不建议在生产环境中使用它们。这些功能可让您提前访问即将推出的产品功能,从而使客户能够在开发过程中测试功能并提供反馈。

有关 Red Hat 技术预览功能的支持范围的更多信息,请参见技术预览功能支持范围

表 3. SnapshotLocation
属性 类型 描述

velero

*VolumeSnapshotLocationSpec

存储卷快照的位置,如卷快照位置中所述。

表 4. ApplicationConfig
属性 类型 描述

velero

*VeleroConfig

定义 Velero 服务器的配置。

restic

*ResticConfig

定义 Restic 服务器的配置。

表 5. VeleroConfig
属性 类型 描述

featureFlags

[] string

定义要为 Velero 实例启用的一系列功能。

defaultPlugins

[] string

可以安装以下类型的默认 Velero 插件:awsazurecsigcpkubevirtopenshift

customPlugins

[]CustomPlugin

用于安装自定义 Velero 插件。

默认插件和自定义插件在OADP 插件中进行了描述

restoreResourcesVersionPriority

string

表示如果定义了用于与EnableAPIGroupVersions功能标志一起使用的配置映射。定义此字段会自动将EnableAPIGroupVersions添加到 Velero 服务器功能标志。

noDefaultBackupLocation

bool

要安装没有默认备份存储位置的 Velero,必须设置noDefaultBackupLocation标志以确认安装。

podConfig

*PodConfig

定义Velero pod 的配置。

logLevel

string

Velero 服务器的日志级别(使用debug进行最细粒度的日志记录,不设置则使用 Velero 默认值)。有效选项为tracedebuginfowarningerrorfatalpanic

表 6. CustomPlugin
属性 类型 描述

name

string

自定义插件的名称。

image

string

自定义插件的镜像。

表 7. ResticConfig
属性 类型 描述

enable

*bool

如果设置为true,则启用使用 Restic 进行备份和还原。如果设置为false,则需要快照。

supplementalGroups

[]int64

定义要应用于Restic pod 的 Linux 组。

timeout

string

用户提供的持续时间字符串,用于定义 Restic 超时。默认值为1hr(1 小时)。持续时间字符串是一个可能带符号的十进制数字序列,每个数字都有可选的小数部分和一个单位后缀,例如300ms、-1.5h`或2h45m。有效的单位为nsus(或µs)、mssmh

podConfig

*PodConfig

定义Restic pod 的配置。

表 8. PodConfig
属性 类型 描述

nodeSelector

map [ string ] string

定义要提供给Velero podSpecRestic podSpecnodeSelector。有关更多详细信息,请参见配置节点代理和节点标签

tolerations

[]Toleration

定义要应用于 Velero 部署或 Restic daemonset的一系列容忍度。

resourceAllocations

ResourceRequirements

Velero pod 或Restic pod 设置特定的资源limitsrequests,如设置 Velero CPU 和内存资源分配中所述。

labels

map [ string ] string

要添加到 pod 的标签。

配置节点代理和节点标签

OADP 的 DPA 使用nodeSelector字段来选择哪些节点可以运行节点代理。nodeSelector字段是推荐的节点选择约束的最简单形式。

任何指定的标签都必须与每个节点上的标签匹配。

在您选择的任何节点上运行节点代理的正确方法是使用自定义标签标记这些节点

$ oc label node/<node_name> node-role.kubernetes.io/nodeAgent=""

DPA.spec.configuration.nodeAgent.podConfig.nodeSelector中使用与标记节点相同的自定义标签。例如

configuration:
  nodeAgent:
    enable: true
    podConfig:
      nodeSelector:
        node-role.kubernetes.io/nodeAgent: ""

以下示例是nodeSelector的反模式,除非节点上同时存在'node-role.kubernetes.io/infra: ""''node-role.kubernetes.io/worker: ""'这两个标签,否则无效

    configuration:
      nodeAgent:
        enable: true
        podConfig:
          nodeSelector:
            node-role.kubernetes.io/infra: ""
            node-role.kubernetes.io/worker: ""
表 9. Features
属性 类型 描述

dataMover

*DataMover

定义数据移动器的配置。

表 10. DataMover
属性 类型 描述

enable

bool

如果设置为true,则部署卷快照移动器控制器和修改后的 CSI 数据移动器插件。如果设置为false,则不部署这些内容。

credentialName

string

用户提供的数据移动器的 Restic Secret名称。

timeout

string

用户提供的VolumeSnapshotBackupVolumeSnapshotRestore完成的持续时间字符串。默认为10m(10分钟)。持续时间字符串是一个可能带符号的十进制数字序列,每个数字都有可选的小数部分和一个单位后缀,例如300ms、-1.5h`或2h45m。有效的单位为nsus(或µs)、mssmh

OADP API 在OADP 运算符中进行了更详细的说明。