장애 조치 커스텀 리소스 정의

사양 스키마

FailoverSpec은 장애 조치의 선택된 상태를 정의합니다.

dbclusterRef: string
newPrimary: string

필드

유형
필수 또는 선택사항

 

설명
dbclusterRef
string
필수
dbclusterRef은 장애 조치를 시작할 DBCluster 이름입니다. 참조된 DBCluster과 동일한 네임스페이스에 Failover 객체를 만듭니다.
newPrimary
string
선택사항
newPrimary은 새 기본 인스턴스로 승격할 대기 인스턴스입니다. 이 필드를 비워두면 시스템에서 장애 조치할 최적의 인스턴스를 자동으로 선택합니다. 인스턴스 이름을 호스트에 매핑하려면 참조된 DBCluster의 상태에 있는 instanceList 필드를 확인하세요.

상태 스키마

FailoverStatus는 관찰된 장애 조치 상태를 정의합니다.

conditions:
- lastTransitionTime: string
  message: string
  observedGeneration: integer
  reason: string
  status: string
  type: string
createTime: string
criticalIncidents:
- code: string
  createTime: string
  message: string
  messageTemplateParams: object
  resource:
    component: string
    location:
      cluster: string
      kind: string
      name: string
      namespace: string
      version: string
  stackTrace:
  - component: string
    message: string
  transientUntil: string
endTime: string
observedGeneration: integer
reconciled: boolean
startTime: string
state: string

필드

유형
필수 또는 선택사항

 

설명
conditions[]
object
선택사항
장애 조치의 현재 상태에 대한 사용 가능한 최신 관찰 결과를 나타냅니다.
conditions[].lastTransitionTime
string
필수
조건이 한 상태에서 다른 상태로 전환된 마지막 시간으로, 이는 기본 조건이 변경될 때 발생합니다. 기본 조건이 변경된 시간을 알 수 없는 경우 API 필드가 변경된 시간을 사용합니다.
conditions[].message
string
필수
전환에 대한 세부정보를 나타내는 인간이 읽을 수 있는 메시지입니다. 빈 문자열일 수 있습니다.
conditions[].observedGeneration
integer
선택사항
조건이 반영하는 .metadata.generation를 나타냅니다. 예를 들어 .metadata.generation이 12이지만 .status.conditions[x].observedGeneration이 9이면 조건은 인스턴스의 현재 상태와 비교하여 오래된 것입니다.
conditions[].reason
string
필수
조건의 마지막 전환 이유를 나타내는 프로그래매틱 식별자를 포함합니다. 특정 조건 유형의 생산자는 이 필드의 예상 값과 의미, 값이 보장된 API로 간주되는지 여부를 정의할 수 있습니다. 값은 CamelCase 문자열이어야 합니다. 이 필드를 비워둘 수 없습니다.
conditions[].status
string
필수
조건의 상태입니다. 유효한 값은 True, False, Unknown입니다.
conditions[].type
string
필수
CamelCase 또는 foo.example.com/CamelCase 형식의 조건 유형입니다. 많은 .condition.type 값이 Available과 같은 리소스에서 일관됩니다. 임의 조건(예: .node.status.conditions)은 유용할 수 있으므로 충돌을 해결하는 기능이 중요합니다. 일치하는 정규 표현식은 (dns1123SubdomainFmt/)?(qualifiedNameFmt)입니다.
createTime
string
선택사항
시스템이 내부 장애 조치 워크플로 메커니즘을 생성한 시간입니다.
criticalIncidents[]
object
필수
활성 상태인 모든 심각한 사고의 목록입니다.
criticalIncidents[].code
string
필수
이 특정 오류의 오류 코드입니다. 오류 코드는 DBSE1012와 같은 DBSE+숫자 문자열입니다.
criticalIncidents[].createTime
string
필수
출처에서 이 사고를 생성한 타임스탬프입니다.
criticalIncidents[].message
string
선택사항
발생한 사고 또는 오류를 설명합니다.
criticalIncidents[].messageTemplateParams
object
선택사항
사용자 인터페이스에서 사용자 친화적인 데이터 기반 버전의 메시지를 생성하는 데 필요한 키-값 쌍을 포함합니다.
criticalIncidents[].resource
object
필수
사고를 신고한 데이터베이스 서비스 구성요소와 리소스에 대한 정보를 포함합니다.
criticalIncidents[].resource.component
string
필수
사고를 신고한 데이터베이스 서비스 하위 시스템의 내부 식별자입니다.
criticalIncidents[].resource.location
object
선택사항
위치입니다.
criticalIncidents[].resource.location.cluster
string
선택사항
영향을 받는 클러스터 관리자 리소스의 클러스터 이름입니다.
criticalIncidents[].resource.location.group
string
선택사항
클러스터 관리자 리소스의 그룹 이름입니다.
criticalIncidents[].resource.location.kind
string
선택사항
클러스터 관리자 리소스의 종류입니다.
criticalIncidents[].resource.location.name
string
선택사항
영향을 받는 클러스터 관리자 리소스의 이름입니다.
criticalIncidents[].resource.location.namespace
string
선택사항
영향을 받는 클러스터 관리자 리소스의 네임스페이스입니다.
criticalIncidents[].resource.location.version
string
선택사항
클러스터 관리자 리소스의 버전입니다.
criticalIncidents[].stackTrace[]
object
선택사항
스택 트레이스의 구조화되지 않은 메시지 목록입니다.
criticalIncidents[].stackTrace[].component
string
선택사항
메시지를 로깅한 데이터베이스 서비스 구성요소의 이름입니다.
criticalIncidents[].stackTrace[].message
string
선택사항
로깅된 메시지입니다.
criticalIncidents[].transientUntil
string
선택사항
있는 경우 지정된 시간까지는 시스템에서 문제를 일시적인 것으로 간주해야 함을 나타냅니다.
endTime
string
선택사항
장애 조치가 최종 상태에 도달한 시간입니다.
observedGeneration
integer
선택사항
컨트롤러가 세대를 관찰합니다.
reconciled
boolean
선택사항
컨트롤러가 리소스를 조정했는지 여부입니다.
startTime
string
선택사항
장애 조치 작업이 시작된 시간입니다.
state
string
선택사항
장애 조치 작업의 현재 상태를 설명합니다. 가능한 값은 InProgress, Success, Failed_RollbackInProgress, Failed_RollbackSuccess, Failed_RollbackFailed입니다. InProgress은 장애 조치가 아직 진행 중임을 의미합니다. Success는 장애 조치가 완료되었음을 의미합니다. 시스템에서 새 기본 인스턴스를 성공적으로 승격하면 완료됩니다. Failed_RollbackInProgress는 연산자가 새 기본 인스턴스를 승격할 수 없었으며 이전 기본 인스턴스를 다시 시작하려고 시도하고 있음을 의미합니다. Failed_RollbackSuccess는 연산자가 새 기본 인스턴스를 승격할 수 없었으며 이전 기본 인스턴스를 성공적으로 다시 시작했음을 의미합니다. Failed_RollbackFailed는 연산자가 새 기본 인스턴스를 승격할 수 없었으며 이전 기본 인스턴스를 다시 시작할 수 없음을 의미합니다. DBCluster를 수동으로 복구해야 할 수 있습니다.