전환 v1.1.1 커스텀 리소스 정의

사양 스키마

SwitchoverSpec은 선택된 Switchover 상태를 정의합니다.

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{ // 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 // 기타 필드 }
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
필수

유효한 값: "True", "False", Unknown

조건 상태(True, False, 알 수 없음 중 하나)입니다.
conditions[].type
string
필수
조건 유형(CamelCase 또는 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는 이 특정 오류의 오류 코드입니다. 오류 코드는 'DBSE1012'와 같은 DBSE+숫자 문자열입니다.
criticalIncidents[].createTime
string
필수
CreateTime은 이 Incident가 출처에서 생성된 타임스탬프입니다.
criticalIncidents[].message
string
선택사항
메시지는 발생한 문제/오류를 설명합니다.
criticalIncidents[].messageTemplateParams
object
선택사항
MessageTemplateParams에는 UI에서 사용자 친화적인 데이터 기반 버전의 메시지를 생성하는 데 필요한 키-값 쌍이 포함되어 있습니다.
criticalIncidents[].resource
object
필수
리소스에는 Kubernetes 리소스와 함께 문제를 신고한 데이터베이스 서비스 구성요소에 관한 정보가 포함됩니다.
criticalIncidents[].resource.component
string
필수
구성요소는 문제를 신고한 데이터베이스 서비스 하위 시스템의 내부 식별자입니다.
criticalIncidents[].resource.location
object
선택사항
위치
criticalIncidents[].resource.location.cluster
string
선택사항
Cluster는 영향을 받는 Kubernetes 리소스의 클러스터 이름입니다.
criticalIncidents[].resource.location.group
string
선택사항
그룹은 Kubernetes 리소스의 그룹 이름입니다.
criticalIncidents[].resource.location.kind
string
선택사항
Kind는 Kubernetes 리소스의 종류입니다.
criticalIncidents[].resource.location.name
string
선택사항
Name은 영향을 받은 Kubernetes 리소스의 이름입니다.
criticalIncidents[].resource.location.namespace
string
선택사항
네임스페이스는 영향을 받는 Kubernetes 리소스의 네임스페이스입니다.
criticalIncidents[].resource.location.version
TYPE
선택사항
그룹은 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은 시스템 컨트롤러에서 사용합니다. 이 섹션의 정보에 의존하지 마세요.
internal.newPrimary
string
필수
NewPrimary는 전환하려는 인스턴스입니다.
internal.oldPrimary
string
필수
OldPrimary는 전환이 시작될 때 기본 인스턴스였던 인스턴스입니다.
internal.phase
string
선택사항

유효한 값: UpdateDbcluster, StopPrimary, PromoteStandby, ValidateNewPrimary, UpdateOldPrimaryResources, UpdateNewPrimaryResources, UpdateOldPrimaryConfigs, Complete, SyncOldPrimary, StartOldPrimary, PreSuccess, RepointStandbys, RollbackPrimary, RollbackStandbys

Phase는 전환의 현재 상태를 추적하는 데 사용됩니다.
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입니다. InProgress는 전환이 아직 진행 중임을 의미합니다. Success는 전환이 완료되었음을 의미합니다. Failed_RollbackInProgress는 운영자가 새 기본 인스턴스를 승격할 수 없어 이전 기본 인스턴스를 다시 시작하려고 시도하고 있음을 의미합니다. Failed_RollbackSuccess는 운영자가 새 기본 인스턴스를 승격할 수 없었고 이전 기본 인스턴스를 성공적으로 다시 시작했음을 의미합니다. Failed_RollbackFailed는 운영자가 새 기본 인스턴스를 승격할 수 없고 이전 기본 인스턴스를 다시 시작할 수 없음을 의미합니다. DBCluster를 수동으로 수리해야 할 수 있습니다.