사양 스키마
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는 전환의 모니터링된 상태를 정의합니다.
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는 항목의 현재 상태에 대한 사용 가능한 최근 모니터링을 나타냅니다. | 
| conditions[] | |
| object선택사항 | Condition에는 이 API 리소스의 현재 상태의 한 관점에 대한 세부정보가 포함되어 있습니다. --- 이 구조체는 필드 경로 .status.conditions에서 배열로 직접 사용하기 위한 것입니다. 예를 들어, \n type FooStatus struct{ // foo의 현재 상태에 대한 관찰 결과를 나타냅니다. // 알려진 .status.conditions.type은 \"Available\", \"Progressing\", \"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로 간주되는지 여부를 정의할 수 있습니다. 값은 CamelCase 문자열이어야 합니다. 이 필드는 비워둘 수 없습니다. | 
| conditions[].status | |
| string필수 | 유효한 값은  | 
| conditions[].type | |
| string필수 | CamelCase 또는 foo.example.com/CamelCase 형식의 조건 유형입니다. --- 많은 .condition.type 값은 Available과 같은 리소스에서 일관되지만 임의의 조건이 유용할 수 있으므로(.node.status.conditions 참조) 충돌을 해결하는 기능이 중요합니다. 일치하는 정규 표현식은 (dns1123SubdomainFmt/)?(qualifiedNameFmt)입니다. | 
| createTime | |
| string선택사항 | CreateTime은 내부 전환 워크플로 메커니즘이 생성된 시간입니다. | 
| criticalIncidents | |
| list (object)선택사항 | CriticalIncidents는 활성 상태인 모든 심각한 사고의 단순 목록입니다. | 
| criticalIncidents[] | |
| object선택사항 | CriticalIncident에는 진행 중인 심각한 사고에 관한 모든 정보가 포함됩니다. | 
| criticalIncidents[].code | |
| string필수 | Code는 이 특정 오류의 오류 코드입니다. 오류 코드는 'DBSE1012'와 같은 DBSE+숫자 문자열입니다. | 
| criticalIncidents[].createTime | |
| string필수 | CreateTime은 이 사고가 출처에서 생성된 타임스탬프입니다. | 
| criticalIncidents[].message | |
| string선택사항 | Message는 발생한 사고/오류를 설명합니다. | 
| criticalIncidents[].messageTemplateParams | |
| object선택사항 | MessageTemplateParams는 UI에서 사용자 친화적인 데이터 기반 버전의 메시지를 생성하는 데 필요한 키-값 쌍을 포함합니다. | 
| criticalIncidents[].resource | |
| object필수 | Resource에는 사고를 신고한 데이터베이스 서비스 구성요소와 Kubernetes 리소스에 관한 정보가 포함됩니다. | 
| criticalIncidents[].resource.component | |
| string필수 | Component는 사고를 신고한 데이터베이스 서비스 하위 시스템의 내부 식별자입니다. | 
| 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 리소스의 종류입니다. | 
| criticalIncidents[].resource.location.name | |
| string선택사항 | Name은 영향을 받는 Kubernetes 리소스의 이름입니다. | 
| criticalIncidents[].resource.location.namespace | |
| string선택사항 | Namespace는 영향을 받는 Kubernetes 리소스의 네임스페이스입니다. | 
| criticalIncidents[].resource.location.version | |
| TYPE선택사항 | Group은 Kubernetes 리소스의 버전입니다. | 
| criticalIncidents[].stackTrace | |
| list (object)선택사항 | StackTrace에는 스택 트레이스의 비정형 메시지 목록이 포함됩니다. | 
| criticalIncidents[].stackTrace[] | |
| object선택사항 | CriticalIncidentStackTraceMessage에는 사고에 사용할 수 있는 스택 트레이스 정보가 포함됩니다. | 
| criticalIncidents[].stackTrace[].component | |
| string선택사항 | Component는 메시지를 로깅한 데이터베이스 서비스 구성요소의 이름입니다. | 
| criticalIncidents[].stackTrace[].message | |
| string선택사항 | 로깅된 메시지입니다. | 
| criticalIncidents[].stackTrace[].message | |
| string선택사항 | TransientUntil이 있는 경우 지정된 시간까지는 문제를 일시적인 것으로 간주해야 함을 나타냅니다. | 
| endTime | |
| string선택사항 | EndTime은 전환이 최종 상태에 도달한 시간입니다. | 
| internal | |
| object선택사항 | Internal은 시스템 컨트롤러에서 사용됩니다. 이 섹션의 정보를 참고하지 마세요. | 
| 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를 수동으로 복구해야 할 수 있습니다. |