规范架构
SwitchoverSpec 用于定义所选的切换状态。
dbclusterRef: string
newPrimary: string
newPrimaryInstance: string
primaryHost: string
字段 类型必填或可选 |
说明 |
---|---|
dbclusterRef
| |
string 可选 |
DBClusterRef 是用于发起切换的 DBCluster 名称。
Switchover 对象必须在其引用的 DBCluster 所在的命名空间中创建。此字段是切换所需的必填字段。
|
newPrimary
| |
string 可选 | NewPrimary 是与当前主实例切换的备用实例。 |
newPrimaryInstance
| |
string 可选 | NewPrimaryInstance 是与当前主实例切换的备用实例。已废弃:请改用 NewPrimary 字段。 |
primaryHost
| |
string 可选 | PrimaryHost 是始终指向主实例的 IP。 |
状态架构
SwitchoverStatus 定义了 Switchover 的观察状态。
conditions:
- lastTransitionTime: string
message: string
observedGeneration: integer
reason: string
status: string
type: string
createTime: string
critcalIncidents:
- code: string
createTime: string
message: string
messageTemplateParams:
resource:
component: string
location:
cluster: string
group: string
kind: string
name: string
namespace: string
version: string
stackTrace:
- component: string
message: string
transientUntil: string
endTime: string
internal:
newPrimary: string
oldPrimary: string
phase: string
observedGeneration: integer
reconciled: boolean
startTime: string
state: string
字段 类型必填或可选 |
说明 |
---|---|
conditions
| |
list (object) 可选 | 条件表示实体当前状态的最新可用观察结果。 |
conditions[]
| |
object 可选 | Condition 包含此 API 资源当前状态的一个方面详细信息。--- 此结构体旨在直接用作字段路径 .status.conditions 中的数组。例如, \n type FooStatus struct{ // Represents the observations of a foo's current state. // Known .status.conditions.type are: \"Available\", \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields } |
conditions[].lastTransactionTime
| |
string 必填 | lastTransitionTime 是条件上次从一种状态转换到另一种状态的时间。此时间应为底层条件发生变化的时间。如果时间未知,则可以使用 API 字段更改的时间。 |
conditions[].message
| |
string 必填 | message 是人类可读的消息,指示有关转换的详细信息。此值可以是空字符串。 |
conditions[].observedGeneration
| |
integer 可选 | observedGeneration 表示设置条件所基于的 .metadata.generation。例如,如果 .metadata.generation 为 12,但 .status.conditions[x].observedGeneration 为 9,则表示相应条件对于实例的当前状态已过时。 |
conditions[].reason
| |
string 必填 | reason 包含一个程序化标识符,用于指明条件上次转换的原因。特定条件类型的生产者可以定义此字段的预期值和含义,以及这些值是否被视为有保证的 API。该值应为驼峰式字符串。 此字段不得为空。 |
conditions[].status
| |
string 必填 |
有效值: |
conditions[].type
| |
string 必填 | 条件类型(采用驼峰命名法)或 foo.example.com/CamelCase。 --- 许多 .condition.type 值在不同资源之间是一致的,例如“可用”,但由于任意条件可能很有用(请参阅 .node.status.conditions),因此能够解析冲突非常重要。与其匹配的正则表达式为 (dns1123SubdomainFmt/)?(qualifiedNameFmt) |
createTime
| |
string 可选 | CreateTime 是内部切换工作流机制的创建时间。 |
criticalIncidents
| |
list (object) 可选 | CriticalIncidents 是所有有效严重事件的平面列表。 |
criticalIncidents[]
| |
object 可选 | CriticalIncident 包含与正在发生的严重突发事件相关的所有信息。 |
criticalIncidents[].code
| |
string 必填 | Code 是此特定错误的错误代码。 错误代码为 DBSE+数字字符串,例如“DBSE1012”。 |
criticalIncidents[].createTime
| |
string 必填 | CreateTime 是此突发事件在来源处创建时的时间戳。 |
criticalIncidents[].message
| |
string 可选 | Message 用于描述发生的事故/错误。 |
criticalIncidents[].messageTemplateParams
| |
object 可选 | MessageTemplateParams 包含在界面中生成简单易用的数据驱动型消息版本所需的键值对。 |
criticalIncidents[].resource
| |
object 必填 | 资源包含有关报告了相应事故的数据库服务组件以及 Kubernetes 资源的信息。 |
criticalIncidents[].resource.component
| |
string 必填 | 组件是报告了相应问题的数据库服务子系统的内部标识符。 |
criticalIncidents[].resource.location
| |
object 可选 | 位置 |
criticalIncidents[].resource.location.cluster
| |
string 可选 | Cluster 是受影响 Kubernetes 资源所属集群的名称。 |
criticalIncidents[].resource.location.group
| |
string 可选 | Group 是 Kubernetes 资源的组名称。 |
criticalIncidents[].resource.location.kind
| |
string 可选 | Kind 是 Kubernetes 资源的 Kind。 |
criticalIncidents[].resource.location.name
| |
string 可选 | 名称是受影响 Kubernetes 资源的名称。 |
criticalIncidents[].resource.location.namespace
| |
string 可选 | 命名空间是受影响 Kubernetes 资源的命名空间。 |
criticalIncidents[].resource.location.version
| |
TYPE 可选 | Group 是 Kubernetes 资源的版本。 |
criticalIncidents[].stackTrace
| |
list (object) 可选 | StackTrace 包含堆栈轨迹中的消息的非结构化列表。 |
criticalIncidents[].stackTrace[]
| |
object 可选 | CriticalIncidentStackTraceMessage 包含可用于相应事故的堆栈轨迹信息。 |
criticalIncidents[].stackTrace[].component
| |
string 可选 | 组件是记录消息的数据库服务组件的名称。 |
criticalIncidents[].stackTrace[].message
| |
string 可选 | 记录的消息。 |
criticalIncidents[].stackTrace[].message
| |
string 可选 | 如果存在 TransientUntil,则表示在指定时间之前应将问题视为暂时性问题。 |
endTime
| |
string 可选 | EndTime 是切换到最终状态的时间。 |
internal
| |
object 可选 | “内部”供系统控制器使用。请勿依赖本部分中的信息。 |
internal.newPrimary
| |
string 必填 | NewPrimary 是我们尝试切换到的目标实例。 |
internal.oldPrimary
| |
string 必填 | OldPrimary 是切换开始时的主实例。 |
internal.phase
| |
string 可选 |
有效值: |
observedGeneration
| |
integer 可选 | 内部:控制器观察到的生成。 |
reconciled
| |
boolean 可选 | 内部:资源是否已由控制器协调。 |
startTime
| |
string 可选 | StartTime 是切换操作的开始时间。 |
state
| |
string 可选 |
有效值: InProgress 、Success 、Failed_RollbackInProgress 、Failed_RollbackSuccess 、Failed_RollbackFailed 。InProgress 表示切换仍在进行中。Success 表示切换已完成。Failed_RollbackInProgress 表示运营商无法将新主实例提升为主实例,并尝试重启旧主实例。Failed_RollbackSuccess 表示运营商无法将新的主实例提升为主实例,并成功重启了旧的主实例。Failed_RollbackFailed 表示运营商无法提升新的主实例,也无法重启旧的主实例。您可能需要手动修复 DBCluster。 |