KRM API gkebackup.gke.io/v1 API

gkebackup.gke.io/v1

包含 gkebackup.gke.io v1 API 组的 API 架构定义。

BackupAllRestoreAll

定义一种策略,该策略会备份此组件中选择的所有内容,并在恢复期间恢复所有内容。

来源: - Strategy

字段 说明
backupPreHooks HookSpec 数组 在备份相应组件的所有选定卷之前执行的钩子列表。这些通常是静止步骤。执行目标 Pod 是相应组件中的所有 Pod。
backupPostHooks HookSpec 数组 在备份完相应组件的所有卷后执行的钩子列表。这些通常是取消静止步骤。执行目标 Pod 是相应组件中的所有 Pod。
volumeSelector LabelSelector 用于选择在此组件中备份和恢复的持久性卷的标签选择器。如果未提供此参数,则会选择所有永久性卷。

BackupJobList

包含备份作业列表。

字段 说明
apiVersion 字符串 gkebackup.gke.io/v1
kind 字符串 BackupJobList
metadata ListMeta 如需了解 metadata 的字段,请参阅 Kubernetes API 文档。
items BackupJob 数组

BackupJobSpec

定义备份作业的期望状态。

来源: - BackupJob

字段 说明
backupName 字符串 备份作业所针对的控制平面备份名称。该名称不可更改。

BackupJobStatus

定义观察到的备份作业状态。

来源: - BackupJob

字段 说明
phase BackupJobPhase 备份的当前阶段。
message 字符串 人类可读的消息,指示有关备份处于此状态的原因的详细信息。
reason 字符串 简短的驼峰式大小写字符串,用于描述任何更新,并用于机器解析和整洁显示。

BackupOneRestoreAll

定义一种策略,该策略仅备份相应组件中一个 Pod 的卷,并在恢复期间将这些卷恢复到所有其他 Pod。此策略适用于部署在高可用性配置(一个主实例和一个或多个辅助实例)中的应用。此策略仅适用于使用已定义的 volumeClaimTemplate 资源来预配卷的 StatefulSet 组件。

如果某个组件包含多个 Deployment 资源,则所有部署都必须只有一个副本,所有副本都必须具有相同数量的永久性卷,并且所有永久性卷都必须按相同的顺序定义。 这些卷在 .spec.template.spec.volumes 字段中定义,并且非永久性卷会被跳过。

如果某个组件包含多个 StatefulSet 资源,则所有 StatefulSet 资源都必须具有相同数量的卷声明模板,并且所有卷声明模板都必须遵循相同的顺序。它们在 .spec.volumeClaimTemplates 字段中定义。

来源: - Strategy

字段 说明
backupTargetName 字符串 用于备份的首选 DeploymentStatefulSet 资源的名称。我们会根据此组件的构成方式选择目标 Pod。对于多 Deployment,请选择由相应 Deployment 资源创建的唯一 Pod。对于多 StatefulSet,请选择由目标 StatefulSet 资源创建的第一个 Pod。对于单个 StatefulSet,请选择目标 StatefulSet 资源创建的第二个 Pod。
backupPreHooks HookSpec 数组 在备份相应组件的所有选定卷之前执行的钩子列表。这些通常是静止步骤。钩子仅在所选备份 Pod 上执行。
backupPostHooks HookSpec 数组 在备份完相应组件的所有卷后执行的钩子列表。这些通常是取消静止步骤。钩子仅在所选备份 Pod 上执行。
volumeSelector LabelSelector 用于选择目标 Pod 中备份的所有永久性卷的标签选择器。选择器可能会选择目标 Pod 之外的卷,但只有属于目标 Pod 的卷会被备份。这些卷备份在恢复期间会恢复到选择器选择的所有其他卷。如果未提供此参数,则会选择所有永久性卷。

组件

定义应用资源及其备份和恢复策略的子集。单个组件由 StatefulSetDeployment 资源列表表示。

来源: - ProtectedApplicationSpec

字段 说明
name 字符串 相应组件的唯一名称。
resourceKind ResourceKind 相应组件中包含的资源类型。资源类型只能是 DeploymentStatefulSetPodPod 资源类型目前仅支持 BackupAllRestoreAll 策略。
resourceNames 字符串数组 属于相应组件的资源的名称。它必须是 DeploymentStatefulSetPod 资源的名称列表,具体取决于 resourceKind 字段中的定义。
strategy 策略 有关如何备份和恢复此组件的详细信息。

DumpAndLoad

定义一种策略,其中组件的备份和恢复通过使用特定于应用的工具(例如 MySQL 的 mysqldump 或 PostgreSQL 的 pg_dump)来转储和加载数据来实现。转储文件存储在专用卷中。对于此策略,系统仅选择专用卷进行备份。转储目标和加载目标可以不同。此策略仅适用于使用已定义的 volumeClaimTemplate 资源来预配卷的 StatefulSet 组件。

来源: - Strategy

字段 说明
dumpTarget 字符串 用于转储组件数据的首选 DeploymentStatefulSet 资源的名称。我们会根据此组件的构成方式选择目标 Pod。对于 Deployment,请选择目标 Deployment 资源创建的唯一 Pod。对于单个 StatefulSet,如果副本数大于 2,则选择目标 StatefulSet 资源创建的第二个 Pod。否则,请选择唯一的 Pod。对于多 StatefulSet,请选择由目标 StatefulSet 资源创建的第一个 Pod。
loadTarget 字符串 用于加载组件数据的首选 DeploymentStatefulSet 资源的名称。我们会根据此组件的构成方式选择目标 Pod。对于 Deployment,选择由目标 Deployment 资源创建的唯一 Pod。对于 StatefulSet,请始终选择由目标 StatefulSet 资源创建的第一个 Pod。
dumpHooks HookSpec 数组 用于将相应组件的数据转储到专用卷中的钩子列表。执行目标 Pod 是从 DumpTarget 字段中选择的 Pod 之一。
backupPostHooks HookSpec 数组 在备份专用转储卷后执行的钩子列表。这些通常是清理步骤。
loadHooks HookSpec 数组 用于从专用卷加载相应组件数据的钩子列表。它可能包含加载完成后执行的清理步骤。执行目标 Pod 是从 LoadTarget 字段中选择的 Pod 之一。
volumeSelector LabelSelector 必须选择用于转储和加载应用数据的专用卷的标签选择器。在 DumpTargetLoadTarget 字段中,必须仅选择一个卷。

HookFailurePolicy

基础类型string 如果钩子执行遇到错误,则采取的预期行为。

来源: - HookSpec

HookSpec

定义如何在所选容器中执行钩子,前提是已选择目标 Pod。

显示在: - BackupAllRestoreAll - BackupOneRestoreAll - DumpAndLoad

字段 说明
name 字符串 相应钩子的名称。此字段用于标识钩子执行的状态以及遇到的任何错误。
container 字符串 此钩子执行所在的容器。如果未指定,则在 Pod 的第一个容器上执行。
command 字符串数组 要执行的命令。要运行的钩子命令。例如 ["/sbin/fsfreeze", "--freeze"]
timeoutSeconds 整数 钩子的超时时间(以秒为单位)。如果未指定,则默认值为 30
onError HookFailurePolicy 钩子执行遇到错误时要遵循的预期行为。有效值为 IgnoreFail。 如果未指定,则值为 Fail

ProtectedApplication

定义 Protectedapplication API 的架构。

来源: - ProtectedApplicationList

字段 说明
apiVersion 字符串 gkebackup.gke.io/v1
kind 字符串 ProtectedApplication
metadata ObjectMeta 如需了解 metadata 的字段,请参阅 Kubernetes API 文档。
spec ProtectedApplicationSpec
status ProtectedApplicationStatus

ProtectedApplicationError

包含相应 ProtectedApplication 资源的详细错误信息。

来源: - ProtectedApplicationStatus

字段 说明
reason 字符串 一个驼峰式大小写字符串,用于描述任何错误,供机器解析和整洁显示。
message 字符串 人类可读的消息,指示有关错误的详细信息。

ProtectedApplicationList

包含 ProtectedApplication 资源的列表。

字段 说明
apiVersion 字符串 gkebackup.gke.io/v1
kind 字符串 ProtectedApplicationList
metadata ListMeta 如需了解 metadata 的字段,请参阅 Kubernetes API 文档。
items ProtectedApplication 数组

ProtectedApplicationSpec

定义属于 ProtectedApplication 的相关资源,以及必须如何备份或恢复指定应用。

来源: - ProtectedApplication

字段 说明
resourceSelection ResourceSelection 属于相应 ProtectedApplication 的资源。
components 组件数组 相应受保护应用的组件。

ProtectedApplicationStatus

定义相应 ProtectedApplication 资源的状态。

来源: - ProtectedApplication

字段 说明
readyToBackup 布尔值 指定此 ProtectedApplication 资源是否已准备好进行备份。如果 ProtectedApplication 资源包含任何错误,则表示该资源未就绪。
error ProtectedApplicationError 数组 与此受保护的应用相关的错误。例如,某个组件配置无效。

ResourceKind

底层类型string 定义资源类型。

来源: - 组件

ResourceSelection

定义如何识别属于相应应用的资源。

来源: - ProtectedApplicationSpec

字段 说明
type ResourceSelectionType 应用来源的类型。Type 字段必须是 ApplicationNameSelector。这是联合判别器。
applicationName 字符串 同一命名空间内 sig-apps 应用的名称。数据保护规范所适用的应用。
selector LabelSelector 与所选 ProtectedApplication 资源位于同一命名空间中的资源。数据保护规范已应用于这些资源。

ResourceSelectionType

基础类型string 选择的类型。

来源: - ResourceSelection

RestoreJob

定义 RestoreJob API 的架构

来源: - RestoreJobList

字段 说明
apiVersion 字符串 gkebackup.gke.io/v1
kind 字符串 RestoreJob
metadata ObjectMeta 如需了解 metadata 的字段,请参阅 Kubernetes API 文档。
spec RestoreJobSpec
status RestoreJobStatus

RestoreJobList

包含 RestoreJob 资源的列表。

字段 说明
apiVersion 字符串 gkebackup.gke.io/v1
kind 字符串 RestoreJobList
metadata ListMeta 如需了解 metadata 的字段,请参阅 Kubernetes API 文档。
items RestoreJob 数组

RestoreJobSpec

定义恢复的期望状态。

来源: - RestoreJob

字段 说明
restoreName 字符串 RestoreName 是 RestoreJob 正在执行的控制平面恢复名称。该名称不可更改。

RestoreJobStatus

定义恢复作业的观测状态。

来源: - RestoreJob

字段 说明
phase RestoreJobPhase 恢复的当前状态。
message 字符串 人类可读的消息,指示有关备份恢复处于此状态的原因的详细信息。
reason 字符串 一个驼峰式大小写字符串,用于描述任何更新,供机器解析和整洁显示。

策略

定义了特定组件的备份和恢复方式。必须是 BackupAllRestoreAllBackupOneRestoreAllDumpAndLoad 中的一个。

来源: - 组件

字段 说明
type StrategyType 备份和恢复策略的类型。值只能是 BackupAllRestoreAllBackupOneRestoreAllDumpAndLoad。请注意,Pod 资源类型仅支持 BackupAllRestoreAll 策略。这是联合判别器。
backupAllRestoreAll BackupAllRestoreAll 一种策略,用于备份此组件中选择的所有内容,并在恢复期间恢复所有内容。
backupOneRestoreAll BackupOneRestoreAll 一种策略,仅备份相应组件中一个 Pod 的卷,并在恢复期间恢复到所有其他 Pod。此策略适用于部署在高可用性配置(一个主实例和一个或多个辅助实例)中的应用。此策略仅适用于使用已定义的 volumeClaimTemplate 资源来预配卷的 StatefulSet 组件。
dumpAndLoad DumpAndLoad 一种策略,其中使用特定于应用的工具(例如 MySQL 的 mysqldump 或 PostgreSQL 的 pg_dump)来转储和加载数据,从而实现组件的备份和恢复。内存转储文件存储在专用卷中。对于此策略,必须仅选择专用卷进行备份。转储目标和加载目标可能不同。此策略仅适用于使用已定义的 volumeClaimTemplate 资源来预配卷的 StatefulSet 组件。

StrategyType

底层类型string 定义组件的备份和恢复策略。

来源: - Strategy