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

문서 버전을 선택합니다.

사양 스키마

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
필수

유효한 값은 "True", "False", Unknown입니다.

조건 상태(True, False, Unknown 중 하나)입니다.
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
선택사항

유효한 값은 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입니다.

State는 전환 작업의 현재 상태입니다. 값은 InProgress, Success, Failed_RollbackInProgress, Failed_RollbackSuccess, Failed_RollbackFailed입니다. InProgress는 전환이 아직 진행 중임을 나타냅니다. Success는 전환이 완료되었음을 의미합니다. Failed_RollbackInProgress는 연산자가 새 기본 인스턴스를 승격할 수 없었으며 이전 기본 인스턴스를 다시 시작하려고 시도하고 있음을 의미합니다. Failed_RollbackSuccess는 연산자가 새 기본 인스턴스를 승격할 수 없었으며 이전 기본 인스턴스를 성공적으로 다시 시작했음을 의미합니다. Failed_RollbackFailed는 연산자가 새 기본 인스턴스를 승격할 수 없었으며 이전 기본 인스턴스를 다시 시작하지 못했음을 의미합니다. DBCluster를 수동으로 복구해야 할 수 있습니다.