规范架构
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 可选 | 结束时间。 |