Benutzerdefinierte Ressourcendefinition für die Replikation v1.5.0

Wählen Sie eine Dokumentationsversion aus:

Spezifikationsschema

ReplicationSpec definiert den gewünschten Status der Replikation.

dbcluster:
  name: string
downstream:
  control: string
  host: string
  password:
    name: string
    namespace: string
  port: integer
  replicationSlotName: string
  username: string
upstream:
  applicationName: string
  logicalReplication:
    databaseName: string
    pluginName: string
  password:
    name: string
    namespace: string
  replicationSlotName: string
  synchronous: string
  username: string

Feld

Typ
Erforderlich oder optional

 

Beschreibung
dbcluster
object
Optional
DBCluster ist der DBCluster, zu dem diese Replikation gehört.
dbcluster.name
string
Optional
Name des Referenten. Weitere Informationen finden Sie unter Namen.
downstream
object
Optional
„Downstream“ enthält Spezifikationen für die nachgeschaltete Datenbank für die Replikation.
downstream.control
string
Erforderlich
Mit „Control“ wird der Replikationsvorgang für diese Datenbank angegeben. Die zulässigen Werte sind „setup“, „promote“ und „rewind“.
downstream.host
string
Erforderlich
„Host“ ist der Verbindungsendpunkt der Upstream-Datenbank, auf den diese Datenbank für die Replikation zugreifen kann.
downstream.password
object
Erforderlich
„Password“ ist der Verweis auf das Secret, in dem das Passwort des Replikationsnutzers der Upstream-Datenbank gespeichert ist.
downstream.password.name
string
Optional
Der Name ist innerhalb eines Namespace eindeutig und dient als Verweis auf eine Secret-Ressource.
downstream.password.namespace
string
Optional
Der Namespace definiert den Bereich, in dem der Secret-Name eindeutig sein muss.
downstream.port
integer
Optional
„Port“ ist der Port der Upstream-Datenbank, auf den diese Datenbank für die Replikation zugreifen kann. Der Standardwert ist 5432.
downstream.replicationslotname
string
Erforderlich
„ReplicationSlotName“ ist der Name des Replikationsslots, der in der Upstream-Datenbank erstellt wurde. Sie wird von dieser Datenbank für die Replikation verwendet.
downstream.username
string
Erforderlich
„Username“ ist der Name des Replikationsnutzers, der in der Upstream-Datenbank erstellt wurde. Sie wird von dieser Datenbank verwendet, um eine Verbindung zu Upstream für die Replikation herzustellen.
upstream
object
Optional
Upstream enthält die Spezifikation für die Upstream-Datenbank für die Replikation.
upstream.applicationName
string
Optional
„applicationName“ ist die Kennung der synchronen Replikationsverbindung. Dieser Wert ist erforderlich, wenn „Synchronous“ auf „true“ festgelegt ist.
upstream.logicalReplication
object
Optional
LogicalReplication gibt die Konfiguration der logischen Replikation für den Replikationsslot an. Wenn leer, wird der Replikationsslot als physischer Replikationsslot konfiguriert.
upstream.logicalReplication.databaseName
string
Optional
„DatabaseName“ ist die Datenbank, die mit diesem Slot verknüpft ist. Über den Slot werden nur Änderungen aus dieser Datenbank gestreamt.
upstream.logicalReplication.pluginName
string
Optional
PluginName ist das Dekodierungs-Plug‑in, das mit diesem Slot verknüpft ist. Weitere Informationen finden Sie unter Logische Dekodierung.
upstream.password
object
Erforderlich
„Password“ ist der Verweis auf das Secret, in dem das Passwort des Replikationsnutzers gespeichert ist. Wenn kein Passwort angegeben ist, wird ein Passwort generiert und in einem im Status angezeigten Secret gespeichert.
upstream.password.name
string
Optional
Der Name ist innerhalb eines Namespace eindeutig und dient als Verweis auf eine Secret-Ressource.
upstream.password.namespace
string
Optional
Der Namespace definiert den Bereich, in dem der Secret-Name eindeutig sein muss.
upstream.replicationslotname
string
Optional
ReplicationSlotName ist der Name des Replikationsslots, der für die Replikation verwendet werden soll. Wenn kein Name angegeben ist, wird ein Name für den Replikationsslot generiert und im Status angezeigt.
upstream.synchronous
string
Optional
„Synchronous“ gibt an, ob der Replikationsslot für die synchrone Replikation konfiguriert werden muss. Bei „true“ wird der Anwendungsname der Liste der synchronen Stand-bys hinzugefügt. Die Standardeinstellung ist false.
Hinweis: Dies kann sich negativ auf die Leistung auswirken.
upstream.username
string
Optional
„Username“ ist der Name des Replikationsnutzers, der für die Replikation verwendet werden soll. Wenn diese nicht angegeben ist, wird ein Nutzername generiert und im Status angezeigt.

Statusschema

ReplicationStatus definiert den beobachteten Status der Replikation.

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

Feld

Typ
Erforderlich oder optional

 

Beschreibung
conditions[]
object
Optional
„Bedingungen“ entspricht den neuesten verfügbaren Beobachtungen zum aktuellen Status der Entität.
conditions[].lastTransitionTime
string
Erforderlich
lastTransitionTime ist der Zeitpunkt, zu dem der Zustand zuletzt von einem Status zu einem anderen Status geändert wurde. Dies geschieht, wenn sich der zugrunde liegende Zustand geändert hat. Wenn der Zeitpunkt, zu dem sich die zugrunde liegende Bedingung geändert hat, nicht bekannt ist, verwenden Sie den Zeitpunkt, zu dem sich das API-Feld geändert hat.
conditions[].message
string
Erforderlich
„message“ ist eine menschenlesbare Nachricht mit Details zur Umstellung. Das kann ein leerer String sein.
conditions[].observedGeneration
integer
Optional
observedGeneration stellt die .metadata.generation dar, auf der die Bedingung basiert. Wenn beispielsweise .metadata.generation 12 ist, .status.conditions[x].observedGeneration aber 9, ist die Bedingung im Hinblick auf den aktuellen Status der Instanz nicht mehr aktuell.
conditions[].reason
string
Erforderlich
„reason“ enthält eine programmatische Kennung, die den Grund für die letzte Statusänderung der Bedingung angibt. Anbieter bestimmter Bedingungstypen können erwartete Werte und Bedeutungen für dieses Feld definieren und festlegen, ob die Werte als garantierte API gelten. Der Wert muss ein String im CamelCase-Format sein. Dieses Feld darf nicht leer sein.
conditions[].status
string
Erforderlich
Status der Bedingung, entweder „Wahr“, „Falsch“ oder „Unbekannt“.
conditions[].type
string
Erforderlich
Bedingungstyp in CamelCase oder in foo.example.com/CamelCase. Viele .condition.type-Werte sind ressourcenübergreifend konsistent, z. B. „Available“. Da beliebige Bedingungen nützlich sein können (siehe .node.status.conditions), ist die Möglichkeit, Konflikte zu beheben, wichtig. Der reguläre Ausdruck, der damit übereinstimmt, ist (dns1123SubdomainFmt/)?(qualifiedNameFmt).
criticalIncidents[]
object
Erforderlich
„CriticalIncidents“ ist eine einfache Liste aller aktiven kritischen Vorfälle.
criticalIncidents[].code
string
Erforderlich
„Code“ ist der Fehlercode dieses bestimmten Fehlers. Fehlercodes sind DBSE+numeric-Strings wie DBSE1012.
criticalIncidents[].createTime
string
Erforderlich
„CreateTime“ ist der Zeitstempel, der angibt, wann dieser Vorfall am Ursprungsort erstellt wurde.
criticalIncidents[].message
string
Optional
Die Nachricht beschreibt den Vorfall oder Fehler, der aufgetreten ist.
criticalIncidents[].messageTemplateParams
object
Optional
„MessageTemplateParams“ enthält Schlüssel/Wert-Paare, die zum Generieren einer nutzerfreundlichen datengesteuerten Version von „Message“ in der Benutzeroberfläche erforderlich sind.
criticalIncidents[].resource
object
Erforderlich
Die Ressource enthält Informationen zur Database Service-Komponente, die den Vorfall gemeldet hat, sowie Informationen zur Kubernetes-Ressource.
criticalIncidents[].resource.component
string
Erforderlich
„Component“ ist eine interne Kennung des Subsystems des Datenbankdienstes, das den Vorfall gemeldet hat.
criticalIncidents[].resource.location
object
Optional
Standort
criticalIncidents[].resource.location.cluster
string
Optional
Der Name des Clusters der betroffenen Kubernetes-Ressource.
criticalIncidents[].resource.location.group
string
Optional
Der Gruppenname der Kubernetes-Ressource.
criticalIncidents[].resource.location.kind
string
Optional
Die Art der Kubernetes-Ressource.
criticalIncidents[].resource.location.name
string
Optional
Der Name der betroffenen Kubernetes-Ressource.
criticalIncidents[].resource.location.namespace
string
Optional
Der Namespace der betroffenen Kubernetes-Ressource.
criticalIncidents[].resource.location.version
string
Optional
Die Version der Kubernetes-Ressource.
criticalIncidents[].stackTrace[]
object
Optional
Eine unstrukturierte Liste von Meldungen aus dem Stacktrace.
criticalIncidents[].stackTrace[].component
string
Optional
Der Name einer Database Service-Komponente, die die Nachricht protokolliert hat.
criticalIncidents[].stackTrace.message
string
Optional
Protokollierte Nachricht.
criticalIncidents[].transientUntil
string
Optional
„TransientUntil“ gibt an, dass das Problem bis zum angegebenen Zeitpunkt als vorübergehend betrachtet werden muss.
downstream
object
Optional
„Downstream“ enthält den beobachteten Status der nachgelagerten Replikationsdatenbank.
downstream.physicalDownstream
object
Optional
downstream.physicalDownstream.passwordResourceVersion
string
Optional
PasswordResourceVersion ist die Ressourcenversion des Secret-Passworts. Diese Version gibt an, wann das Passwort zuletzt in der Datenbank aktualisiert wurde.
downstream.physicalDownstream.setupStrategies
object
Optional
„SetupStrategies“ enthält Informationen zur Ausführung jeder versuchten Einrichtungsstrategie. Sie werden in dieser Liste in derselben Reihenfolge angezeigt, in der die Strategien in der Spezifikation definiert wurden.
downstream.physicalDownstream.setupStrategies.endedAt
string
Optional
„EndedAt“ ist der Zeitpunkt, zu dem der letzte Versuch dieser Strategie beendet wurde.
downstream.physicalDownstream.setupStrategies.message
string
Optional
„Message“ ist eine Beschreibung des Grunds für den aktuellen Status des Einrichtungsversuchs.
downstream.physicalDownstream.setupStrategies.retries
integer
Optional
„Retries“ (Wiederholungen) gibt an, wie oft diese Strategie wiederholt wurde.
downstream.physicalDownstream.setupStrategies.startedAt
string
Optional
„StartedAt“ ist die Zeit, zu der der letzte Versuch dieser Strategie gestartet wurde.
downstream.physicalDownstream.setupStrategies.state
string
Erforderlich
„Status“ ist der aktuelle Status dieser Einrichtungsstrategie. Es werden die folgenden Werte akzeptiert:
InProgress: Die Strategie wird derzeit ausgeführt.
Success: Die Strategie wurde erfolgreich abgeschlossen und es werden keine weiteren Einrichtungsstrategien versucht.
Error: Die Strategie ist fehlgeschlagen, wird aber noch einmal versucht. Im Feld „Wiederholungsversuche“ sehen Sie, wie oft diese Strategie wiederholt wurde.
Fallback: Die Strategie ist fehlgeschlagen und wird nicht noch einmal versucht. Stattdessen wird auf die nächste verfügbare Strategie zurückgegriffen, sofern vorhanden.
Unknown
downstream.physicalDownstream.setupStrategies.strategy
string
Erforderlich
„Strategy“ (Strategie) ist der Name des Strategietyps, für den dieser Status gilt.
downstream.physicalDownstream.state
object
Optional
„State“ ist der Status der Replikation, wie er in der Tabelle „pg_stat_wal_receiver“ des nachgeschalteten Datenbankservers angezeigt wird.
observedgeneration
integer
Optional
Intern: Die vom Controller beobachtete Generation.
reconciled
boolean
Optional
Intern: Gibt an, ob die Ressource vom Controller abgeglichen wurde.
upstream
object
Optional
„Upstream“ enthält den beobachteten Status der Upstream-Datenbank für die Replikation.
upstream.host
string
Optional
Der Host ist der Verbindungsendpunkt dieser Datenbank, auf den die Downstream-Datenbanken für die Replikation zugreifen können.
upstream.password
object
Optional
„Password“ ist der Verweis auf das Secret, in dem das Passwort des Replikationsnutzers für diese Datenbank gespeichert ist.
upstream.password.name
string
Optional
Der Name ist innerhalb eines Namespace eindeutig und dient als Verweis auf eine Secret-Ressource.
upstream.password.namespace
string
Optional
Der Namespace definiert den Bereich, in dem der Secret-Name eindeutig sein muss.
upstream.port
integer
Optional
„Port“ ist der Port dieser Datenbank, auf den nachgelagerte Datenbanken für die Replikation zugreifen können.
upstream.replicationslotname
string
Optional
„ReplicationSlotName“ ist der Name des Replikationsslots, der in dieser Datenbank erstellt wurde. Nachgeschaltete Datenbanken können diesen Replikations-Slot für die Replikation verwenden.
upstream.username
string
Optional
„Username“ ist der Name des Replikationsnutzers in dieser Datenbank. Downstream-Datenbanken können diesen Nutzer verwenden, um eine Verbindung zu dieser Datenbank für die Replikation herzustellen.