Esquema de especificação
ReplicationSpec define o estado desejado de Replication.
dbcluster:
name: string
downstream:
control: string
host: string
password:
name: string
namespace: string
port: integer
replicationSlotName: string
username: string
upstream:
applicationName: string
logReplicationSlot: boolean
logicalReplication:
databaseName: string
pluginName: string
password:
name: string
namespace: string
replicationSlotName: string
synchronous: string
username: string
Campo TipoObrigatório ou opcional |
Descrição |
|---|---|
dbcluster
| |
objectOpcional | DBCluster é o DBCluster ao qual esta Replication pertence. |
dbcluster.name
| |
stringOpcional | Nome do referenciador. Para mais informações, consulte Nomes. |
downstream
| |
objectOpcional | Downstream contém especificações para o banco de dados de replicação downstream. |
downstream.control
| |
stringObrigatório | Control especifica a operação de replicação a ser realizada nesse banco de dados. Os valores permitidos são setup, promote e rewind. |
downstream.host
| |
stringObrigatório | Host é o endpoint de conexão do banco de dados upstream que este banco de dados pode acessar para replicação. |
downstream.password
| |
objectObrigatório | Password é a referência ao secret que armazena a senha do usuário de replicação do banco de dados upstream. |
downstream.password.name
| |
stringOpcional | name é exclusivo em um namespace para referenciar um recurso de secret. |
downstream.password.namespace
| |
stringOpcional | namespace define o espaço em que o nome do secret precisa ser exclusivo. |
downstream.port
| |
integerOpcional | Port é a porta do banco de dados upstream que este banco de dados pode acessar para replicação. O padrão é 5.432. |
downstream.replicationslotname
| |
stringObrigatório | ReplicationSlotName é o nome do slot de replicação criado no banco de dados upstream. Ele é usado por esse banco de dados para replicação. |
downstream.username
| |
stringObrigatório | Username é o nome do usuário de replicação criado no banco de dados upstream. Ele é usado por esse banco de dados para se conectar ao upstream para replicação. |
upstream
| |
objectOpcional | Upstream contém a especificação do banco de dados upstream de replicação. |
upstream.applicationName
| |
stringOpcional | applicationName é o identificador da conexão de replicação síncrona. Esse valor será obrigatório se Synchronous estiver definido como "verdadeiro". |
upstream.logReplicationSlot
| |
booleanOpcional |
LogReplicationSlot, se definido como "true", permite que esse slot de replicação seja gravado em arquivos WAL gerados pela instância principal. Recomendamos ativar essa opção, principalmente em replicações entre regiões. Verifique se o DBCluster principal também tem as opções ReplayReplicationSlotsOnStandbys ativadas para garantir que o slot de replicação gravado nos arquivos WAL seja reproduzido nos standbys de alta disponibilidade. Ao ativar as duas opções, você garante que, em caso de failover ou troca de alta disponibilidade no DBCluster primário, a nova instância primária de alta disponibilidade retenha os arquivos WAL que ainda não foram recebidos pelo DBCluster secundário. Observação: a modificação desse campo causa a reinicialização do banco de dados principal. |
upstream.logicalReplication
| |
objectOpcional | LogicalReplication especifica a configuração de replicação lógica para o slot de replicação. Se estiver vazio, o slot de replicação será configurado como um slot de replicação física. |
upstream.logicalReplication.databaseName
| |
stringOpcional | DatabaseName é o banco de dados associado a esse slot. Somente as alterações desse banco de dados são transmitidas pelo slot. |
upstream.logicalReplication.pluginName
| |
stringOpcional | PluginName é o plug-in de decodificação associado a esse slot. Consulte Explicação sobre a decodificação lógica para mais detalhes. |
upstream.password
| |
objectObrigatório | Password é a referência ao secret que armazena a senha do usuário de replicação. Se Password não for fornecido, uma senha será gerada e armazenada em um secret mostrado no status. |
upstream.password.name
| |
stringOpcional | name é exclusivo em um namespace para referenciar um recurso de secret. |
upstream.password.namespace
| |
stringOpcional | namespace define o espaço em que o nome do secret precisa ser exclusivo. |
upstream.replicationslotname
| |
stringOpcional | ReplicationSlotName é o nome do slot de replicação que será usado para replicação. Se não for fornecido, um nome de slot de replicação será gerado e mostrado no status. |
upstream.synchronous
| |
stringOpcional |
Synchronous especifica se o slot de replicação precisa ser configurado para replicação síncrona. Se for verdadeiro, applicationName será adicionado à lista de standbys síncronos. O padrão é false.Observação: isso pode ter um impacto negativo no desempenho. |
upstream.username
| |
stringOpcional | Username é o nome do usuário de replicação a ser usado para a replicação. Se não for fornecido, um nome de usuário será gerado e mostrado no status. |
Esquema de status
ReplicationStatus define o estado observado de Replication.
conditions:
- lastTransitionTime: string
message: string
observedGeneration: integer
reason: string
status: string
type: string
criticalIncidents:
- code: string
createTime: string
message: string
messageTemplateParams: object
resource:
component: string
location:
cluster: string
group: string
kind: string
name: string
namespace: string
version: string
stackTrace:
- component: string
message: string
transientUntil: string
downstream:
physicalDownstream:
passwordResourceVersion: string
setupStrategies:
endedAt: string
message: string
retries: integer
startedAt: string
state: string
strategy: string
state: string
observedGeneration: integer
reconciled: boolean
upstream:
host: string
password:
name: string
namespace: string
port: integer
replicationSlotName: string
username: string
Campo TipoObrigatório ou opcional |
Descrição |
|---|---|
conditions[]
| |
objectOpcional | Conditions representa as observações mais recentes disponíveis do estado atual da entidade. |
conditions[].lastTransitionTime
| |
stringObrigatório | lastTransitionTime é a última vez que a condição passou de um status para outro, o que ocorre quando a condição fundamental é alterada. Se o horário em que a condição fundamental foi alterada for desconhecido, use o horário em que o campo da API foi alterado. |
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.generationfor for 12, mas .status.conditions[x].observedGeneratio 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 | status da condição, que pode ser Verdadeiro, Falso ou Desconhecido. |
conditions[].type
| |
stringObrigatório | tipo de condição em CamelCase ou em foo.example.com/CamelCase. Muitos valores de .condition.type são consistentes entre recursos como Available. Como condições arbitrárias podem ser úteis (consulte .node.status.conditions), a capacidade de resolver conflitos é importante. A expressão regular correspondente é (dns1123SubdomainFmt/)?(qualifiedNameFmt). |
criticalIncidents[]
| |
objectObrigatório | CriticalIncidents é uma lista simples de todos os incidentes críticos ativos. |
criticalIncidents[].code
| |
stringObrigatório |
Code é o código desse erro específico. Os códigos de erro são strings DBSE+numeric, 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 ou o 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 de Message na interface do usuário. |
criticalIncidents[].resource
| |
objectObrigatório | Resource contém informações sobre o componente do Serviço de Banco de Dados que informou o incidente e informações 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 | O nome do cluster do recurso do Kubernetes afetado. |
criticalIncidents[].resource.location.group
| |
stringOpcional | O nome do grupo do recurso do Kubernetes. |
criticalIncidents[].resource.location.kind
| |
stringOpcional | O tipo do recurso do Kubernetes. |
criticalIncidents[].resource.location.name
| |
stringOpcional | O nome do recurso do Kubernetes afetado. |
criticalIncidents[].resource.location.namespace
| |
stringOpcional | O namespace do recurso do Kubernetes afetado. |
criticalIncidents[].resource.location.version
| |
stringOpcional | A versão do recurso do Kubernetes. |
criticalIncidents[].stackTrace[]
| |
objectOpcional | Uma lista não estruturada de mensagens do stack trace. |
criticalIncidents[].stackTrace[].component
| |
stringOpcional | O nome de um componente do Serviço de Banco de Dados que registrou a mensagem. |
criticalIncidents[].stackTrace.message
| |
stringOpcional | Mensagem registrada. |
criticalIncidents[].transientUntil
| |
stringOpcional | TransientUntil, se presente, indica que o problema precisa ser considerado temporário até o horário especificado. |
downstream
| |
objectOpcional | Downstream contém o estado observado do banco de dados de replicação downstream. |
downstream.physicalDownstream
| |
objectOpcional | |
downstream.physicalDownstream.passwordResourceVersion
| |
stringOpcional | PasswordResourceVersion é a versão do recurso da senha do secret. Essa versão representa a data da última atualização da senha no banco de dados. |
downstream.physicalDownstream.setupStrategies
| |
objectOpcional | SetupStrategies contém informações sobre a execução de cada estratégia de configuração usada. Elas aparecem nessa lista na mesma ordem em que foram definidas na especificação. |
downstream.physicalDownstream.setupStrategies.endedAt
| |
stringOpcional | EndedAt é o horário em que a tentativa mais recente dessa estratégia terminou. |
downstream.physicalDownstream.setupStrategies.message
| |
stringOpcional | Message é uma descrição do motivo pelo qual a tentativa de configuração está no estado atual. |
downstream.physicalDownstream.setupStrategies.retries
| |
integerOpcional | Retries é o número de vezes que essa estratégia foi repetida. |
downstream.physicalDownstream.setupStrategies.startedAt
| |
stringOpcional | StartedAt é o horário em que a tentativa mais recente dessa estratégia foi iniciada. |
downstream.physicalDownstream.setupStrategies.state
| |
stringObrigatório |
State é o estado atual dessa estratégia de configuração. Ele aceita os seguintes valores:InProgress: a estratégia está em execução.Success: a estratégia foi concluída e não haverá mais nenhuma tentativa de estratégias de configuração.Error: a estratégia falhou, mas será repetida. O campo Retries vai mostrar quantas vezes essa estratégia foi repetida.Fallback: a estratégia falhou e não será repetida. Em vez disso, vamos recorrer à próxima estratégia disponível, se houver.Unknown |
downstream.physicalDownstream.setupStrategies.strategy
| |
stringObrigatório | Strategy é o nome do tipo de estratégia a que esse status se refere. |
downstream.physicalDownstream.state
| |
objectOpcional | State é o status da replicação, conforme mostrado na tabela pg_stat_wal_receiver do servidor de banco de dados downstream. |
observedgeneration
| |
integerOpcional | Interno: a geração observada pelo controlador. |
reconciled
| |
booleanOpcional | Interno: indica se o recurso foi reconciliado pelo controlador. |
upstream
| |
objectOpcional | Upstream contém o estado observado do banco de dados upstream de replicação. |
upstream.host
| |
stringOpcional | Host é o endpoint de conexão do banco de dados que os bancos de dados downstream podem acessar para replicação. |
upstream.password
| |
objectOpcional | Password é a referência ao secret que armazena a senha do usuário de replicação desse banco de dados. |
upstream.password.name
| |
stringOpcional | name é exclusivo em um namespace para referenciar um recurso de secret. |
upstream.password.namespace
| |
stringOpcional | namespace define o espaço em que o nome do secret precisa ser exclusivo. |
upstream.port
| |
integerOpcional | Port é a porta do banco de dados que os bancos de dados downstream podem acessar para replicação. |
upstream.replicationslotname
| |
stringOpcional | ReplicationSlotName é o nome do slot de replicação criado neste banco de dados. Os bancos de dados downstream podem usar esse slot para replicação. |
upstream.username
| |
stringOpcional | Username é o nome do usuário de replicação nesse banco de dados. Os bancos de dados downstream podem usar esse usuário para se conectar ao banco de dados para replicação. |