BackupPlan v1.1.1 自定义资源定义

规范架构

BackupPlanSpec 定义 BackupPlan 的期望状态。

backupLocation:
  gcsOptions:
    bucket: string
    key: string
    secretRef:
      name: string
      namespace: string
  type: string
backupRetainDays: integer
backupSchedules:
  differential: string
  full: string
  incremental: string
dbclusterRef: string
paused: boolean

字段

类型
必填或可选

 

说明
backupLocation
object
可选
BackupLocation 用于指定用于存储备份的远程对象存储位置。例如,Cloud Storage 存储分区的规范。此字段是可选字段。默认情况下,备份存储在备份磁盘中。
backupLocation.gcsOptions
object
可选
gcsOptions 是对 Cloud Storage 依赖项选项的引用。
backupLocation.gcsOptions.bucket
string
必填
存储桶是必需字段(例如:dbs-dump-bucket) 用户应确保从 Operator 中对存储桶拥有适当的写入权限。
backupLocation.gcsOptions.key
string
必填
转储文件的对象键。(例如:ods-dump/scottschema.dmp)。
backupLocation.gcsOptions.secretRef
object
可选
SecretRef 是对存储 GCS 访问信息的 Secret 的引用。
backupLocation.gcsOptions.secretRef.name
string
可选
名称在命名空间中是唯一的,用于引用 Secret 资源。
backupLocation.gcsOptions.secretRef.namespace
string
可选
命名空间定义了 Secret 名称必须是唯一的空间。
backupLocation.type
string
必填

有效值:GCS、S3。

代码库类型(S3 表示 Amazon S3,GCS 表示 Google Cloud Storage),用于告知代理要使用哪个存储系统/API。
backupRetainDays
integer
可选

默认值:14;最小值:1,最大值:90。

系统会在多少天后删除备份。如果指定,则在此 BackupPlan 下创建的备份将在其年龄达到 create_time + backup_retain_days 后自动删除。 有效值介于 1 到 90 天之间。如果未指定,则默认保留 14 天。
backupSchedules
object
可选
定义不同类型的备份的安排。 支持完整备份、差分备份和增量备份类型:https://pgbackrest.org/user-guide.html#concept/backup 此字段为可选字段。默认情况下,每天午夜进行一次完整备份。
backupSchedules.differential
string
可选
定义差分 pgBackRest 备份的 Cron 时间表。遵循标准的 Cron 时间表语法:https://k8s.io/docs/concepts/workloads/controllers/cron-jobs/#cron-schedule-syntax
backupSchedules.full
string
可选
定义完整 pgBackRest 备份的 Cron 时间表。遵循标准的 Cron 时间表语法:https://k8s.io/docs/concepts/workloads/controllers/cron-jobs/#cron-schedule-syntax
backupSchedules.incremental
string
可选
定义完整 pgBackRest 备份的 Cron 时间表。遵循标准的 Cron 时间表语法:https://k8s.io/docs/concepts/workloads/controllers/cron-jobs/#cron-schedule-syntax
dbclusterRef
string
可选
此备份方案配置的 DBCluster 名称。此字段是必填字段且不可变。
paused
boolean
可选

默认值:false。

一个标志,用于指示是否暂停了此 BackupPlan 下的备份创建。如果设为 true,该服务将暂停在此 BackupPlan 下安排新的备份。默认值为 False。

状态架构

BackupPlanStatus 定义了 BackupPlan 的观察状态。

conditions:
- lastTransactionTime: string
  message: string
  observedGeneration: integer
  reason: string
  status: string
  type: string
criticalIncidents:
- code: string
  createTime: string
  message: string
  messageTemplateParams: object
  resource:
    component: string
    location:
      cluster: string
      group: string
      kind: string
      name: string
      namespace: string
      version: string
  stackTrace:
  - component: string
    message: string
  transientUntil: string
lastBackupTime: string
nextBackupTime: string
observedGeneration: integer
phase: string
reconciled: boolean
recoveryWindow:
  begin: string
  end: string

字段

类型
必填或可选

 

说明
conditions
list (object)
可选性
条件表示实体当前状态的最新可用观察结果。
conditions[]
object
可选性
Condition 包含当前
conditions[].lastTransactionTime
string
必填
条件上次从一种状态转换到另一种状态的时间。此时间应为底层条件发生变化的时间。如果时间未知,则可以使用 API 字段更改的时间。
conditions[].message
string
必填
人类可读的消息,指示有关转换的详细信息。此值可以是空字符串。
conditions[].observedGeneration
integer
可选
表示设置条件所基于的 .metadata.generation。例如,如果 .metadata.generation 为 12,但 .status.conditions[x].observedGeneration 为 9,则表示相应条件对于实例的当前状态已过时。
conditions[].reason
string
必填
长度上限:1024,长度下限:1 包含一个程序化标识符,用于指明条件上次转换的原因。特定条件类型的生产者可以定义此字段的预期值和含义,以及这些值是否被视为有保证的 API。该值应为驼峰式字符串。 此字段不得为空。
conditions[].status
string
必填
条件的状态,为 True、False、Unknown 之一。
conditions[].type
string
必填
长度上限:316 条件类型,采用驼峰命名法或 foo.example.com/CamelCase 格式。
criticalIncidents
object
必填
所有有效严重事故的扁平列表。CriticalIncident 包含与正在进行的严重突发事件相关的所有信息。
criticalIncidents[].code
string
必填
此特定错误的错误代码。 错误代码为 DBSE+数字字符串,例如“DBSE1012”。
criticalIncidents[].createTime
string
必填
在来源中创建此服务工单时的时间戳。
criticalIncidents[].message
string
可选
发生的事故/错误。
criticalIncidents[].messageTemplateParams
object
可选
包含在界面中生成简单易用的数据驱动型“信息”版本所需的键值对。
criticalIncidents[].resource
object
必填
包含有关报告了相应事故的数据库服务组件以及 Kubernetes 资源的信息。
criticalIncidents[].resource.component
string
必填
报告了相应事故的数据库服务子系统的内部标识符。
criticalIncidents[].resource.location
object
可选
位置
criticalIncidents[].resource.location.cluster
string
可选
受影响 Kubernetes 资源所在集群的名称。
criticalIncidents[].resource.location.group
string
可选
Kubernetes 资源的组名称。
criticalIncidents[].resource.location.kind
string
可选
Kubernetes 资源的类型。
criticalIncidents[].resource.location.name
string
可选
受影响 Kubernetes 资源的名称。
criticalIncidents[].resource.location.namespace
string
可选
受影响 Kubernetes 资源的命名空间。
criticalIncidents[].resource.location.version
string
可选
Kubernetes 资源的版本。
criticalIncidents[].stackTrace
object
可选
堆栈轨迹中非结构化消息的列表。
criticalIncidents[].stackTrace.component
string
可选
记录消息的数据库服务组件的名称。
criticalIncidents[].stackTrace.message
string
可选
记录的消息。
criticalIncidents[].transientUntil
string
可选
如果存在 TransientUntil,则表示在指定时间之前应将问题视为暂时性问题。
lastBackupTime
string
可选
最近一次执行备份操作的时间戳。
nextBackupTime
string
可选
下一次预定的备份的时间戳。
observedGeneration
integer
可选
内部:控制器观察到的生成。
phase
string
可选
BackupPlan 的阶段。
reconciled
boolean
可选
内部:资源是否已由控制器协调。
recoveryWindow
object
可选
当前可用的恢复时间范围。
recoveryWindow.begin
string
可选
开始时间。
recoveryWindow.end
string
可选
结束时间。