Esquema de especificação
SwitchoverSpec define o estado selecionado de Switchover.
dbclusterRef: string
newPrimary: string
newPrimaryInstance: string
primaryHost: string
| CampoTipo Obrigatório ou opcional | Descrição | 
|---|---|
| dbclusterRef | |
| stringOpcional | DBClusterRef é o nome do DBCluster para iniciar um failover.
    O objeto Switchoverprecisa ser criado no mesmo namespace que
    o DBCluster referenciado. Esse campo é obrigatório para a troca. | 
| newPrimary | |
| stringOpcional | "NewPrimary" é a instância de espera para alternar com a instância principal atual. | 
| newPrimaryInstance | |
| stringOpcional | "NewPrimaryInstance" é a instância de espera para alternar com a instância principal atual. Descontinuado: use o campo "NewPrimary" em vez disso. | 
| primaryHost | |
| stringOpcional | PrimaryHost é o IP que sempre aponta para a instância principal. | 
Esquema de status
SwitchoverStatus define o estado observado de 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
| CampoTipo Obrigatório ou opcional | Descrição | 
|---|---|
| conditions | |
| list (object)Opcional | Condições representa as observações mais recentes disponíveis do estado atual da entidade. | 
| conditions[] | |
| objectOpcional | Condition contém detalhes de um aspecto do estado atual do recurso de API. — Esse struct é destinado ao uso direto como uma matriz no caminho do campo .status.conditions. Por exemplo, \n type FooStatus struct{ // Representa as observações do estado atual de um foo. // Os tipos de .status.conditions.type conhecidos são: \"Available\", \"Progressing\" e \"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 // outros campos } | 
| conditions[].lastTransactionTime | |
| stringObrigatório | LastTransitionTime é a última vez em que essa condição passou de um status para outro. Isso precisa acontecer quando a condição fundamental é alterada. Se isso não for conhecido, o uso do horário em que o campo da API foi alterado será aceitável. | 
| conditions[].message | |
| stringObrigatório | message é uma mensagem legível por humanos que indica detalhes sobre a transição. Pode ser uma string vazia. | 
| conditions[].observedGeneration | |
| integerOpcional | observedGeneration representa o .metadata.generation em que a condição foi definida. Por exemplo, se .metadata.generation for 12, mas .status.conditions[x].observedGeneration for 9, a condição estará desatualizada em relação ao estado atual da instância. | 
| conditions[].reason | |
| stringObrigatório | reason contém um identificador programático que indica o motivo da última transição da condição. Os produtores de tipos de condição específicos podem definir valores e significados esperados para esse campo, além de se os valores são considerados uma API garantida. O valor precisa ser uma string CamelCase. Esse campo não pode ficar vazio. | 
| conditions[].status | |
| stringObrigatório | Valores válidos:  | 
| conditions[].type | |
| stringObrigatório | tipo de condição em CamelCase ou em foo.example.com/CamelCase. — Muitos valores de .condition.type são consistentes em todos os recursos, como Available, mas como condições arbitrárias podem ser úteis (consulte .node.status.conditions), a capacidade de eliminar conflitos é importante. A expressão regular correspondente é (dns1123SubdomainFmt/)?(qualifiedNameFmt) | 
| createTime | |
| stringOpcional | CreateTime é o horário em que o mecanismo interno do fluxo de trabalho de failover foi criado. | 
| criticalIncidents | |
| list (object)Opcional | CriticalIncidents é uma lista simples de todos os incidentes críticos ativos. | 
| criticalIncidents[] | |
| objectOpcional | CriticalIncident contém todas as informações sobre um incidente crítico em andamento. | 
| criticalIncidents[].code | |
| stringObrigatório | Code é o código desse erro específico. Os códigos de erro são DBSE + strings numéricas, como "DBSE1012". | 
| criticalIncidents[].createTime | |
| stringObrigatório | CreateTime é o carimbo de data/hora em que esse incidente foi criado na origem. | 
| criticalIncidents[].message | |
| stringOpcional | Message descreve o incidente/erro ocorrido. | 
| criticalIncidents[].messageTemplateParams | |
| objectOpcional | MessageTemplateParams contém pares de chave-valor necessários para gerar uma versão orientada por dados e fácil de usar da Message na interface. | 
| criticalIncidents[].resource | |
| objectObrigatório | Resource contém informações sobre o componente do Serviço de Banco de Dados que informou o incidente, bem como sobre o recurso do Kubernetes. | 
| criticalIncidents[].resource.component | |
| stringObrigatório | Component é um identificador interno do subsistema do Serviço de Banco de Dados que informou o incidente. | 
| criticalIncidents[].resource.location | |
| objectOpcional | Local | 
| criticalIncidents[].resource.location.cluster | |
| stringOpcional | Cluster é o nome do cluster do recurso afetado do Kubernetes. | 
| criticalIncidents[].resource.location.group | |
| stringOpcional | Group é o nome do grupo do recurso do Kubernetes. | 
| criticalIncidents[].resource.location.kind | |
| stringOpcional | Kind é o tipo do recurso do Kubernetes. | 
| criticalIncidents[].resource.location.name | |
| stringOpcional | Name é o nome do recurso afetado do Kubernetes. | 
| criticalIncidents[].resource.location.namespace | |
| stringOpcional | Namespace é o namespace do recurso afetado do Kubernetes. | 
| criticalIncidents[].resource.location.version | |
| TYPEOpcional | Group é a versão do recurso do Kubernetes. | 
| criticalIncidents[].stackTrace | |
| list (object)Opcional | StackTrace contém uma lista não estruturada de mensagens do stack trace. | 
| criticalIncidents[].stackTrace[] | |
| objectOpcional | CriticalIncidentStackTraceMessage contém informações de stack trace disponíveis para o incidente. | 
| criticalIncidents[].stackTrace[].component | |
| stringOpcional | Component é o nome de um componente do Serviço de Banco de Dados que registrou a mensagem. | 
| criticalIncidents[].stackTrace[].message | |
| stringOpcional | Mensagem registrada. | 
| criticalIncidents[].stackTrace[].message | |
| stringOpcional | TransientUntil, se estiver presente, vai indicar que o problema precisa ser considerado temporário até a hora especificada. | 
| endTime | |
| stringOpcional | EndTime é o momento em que a troca de horário atingiu o estado final. | 
| internal | |
| objectOpcional | "Internal" é usado pelos controladores do sistema. Não dependa das informações desta seção. | 
| internal.newPrimary | |
| stringObrigatório | "NewPrimary" é a instância para a qual estamos tentando fazer failover. | 
| internal.oldPrimary | |
| stringObrigatório | "OldPrimary" é a instância que era a principal no início da troca. | 
| internal.phase | |
| stringOpcional | Valores válidos:  | 
| observedGeneration | |
| integerOpcional | Interno: a geração observada pelo controlador. | 
| reconciled | |
| booleanOpcional | Interno: indica se o recurso foi reconciliado pelo controlador. | 
| startTime | |
| stringOpcional | StartTime é o horário em que a operação de alternância foi iniciada. | 
| state | |
| stringOpcional | Valores válidos:  InProgress,Success,Failed_RollbackInProgress,Failed_RollbackSuccess,Failed_RollbackFailed.InProgresssignifica
    que a troca ainda está em andamento.Successsignifica que a troca foi concluída.Failed_RollbackInProgresssignifica que o operador não conseguiu promover a nova instância principal e está tentando reiniciar a antiga.Failed_RollbackSuccesssignifica
    que o operador não conseguiu promover a nova instância principal
    e reiniciou a instância principal antiga.Failed_RollbackFailedsignifica que o operador não conseguiu promover a nova instância principal
    nem reiniciar a antiga. Talvez seja necessário corrigir o DBCluster manualmente. |