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 muss innerhalb eines Namespace eindeutig sein, um auf eine Secret-Ressource zu verweisen.
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 zum 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 Replikations-Slot 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 – Erläuterung.
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 muss innerhalb eines Namespace eindeutig sein, um auf eine Secret-Ressource zu verweisen.
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 Standby-Apps 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
„Conditions“ entspricht den neuesten verfügbaren Beobachtungen zum aktuellen Zustand der Entität.
conditions[].lastTransitionTime
string
Erforderlich
„lastTransitionTime“ gibt an, wann sich der Status der Bedingung zuletzt geändert hat. Dies geschieht, wenn sich die zugrunde liegende Bedingung geändert hat. Wenn nicht bekannt ist, wann sich die zugrunde liegende Bedingung geändert hat, geben Sie stattdessen an, wann 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 .metadata.generation 12 ist, .status.conditions[x].observedGeneration aber 9, ist die Bedingung im Hinblick auf den aktuellen Zustand 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 Binnenmajuskelformat sein. Dieses Feld darf nicht leer sein.
conditions[].status
string
Erforderlich
Status der Bedingung, entweder „Wahr“, „Falsch“ oder „Unbekannt“.
conditions[].type
string
Erforderlich
Bedingungstyp im Binnenmajuskelformat 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 zur Konfliktlösung wichtig. Der reguläre Ausdruck, mit dem er ü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
„Resource“ 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 Nachrichten aus dem Stacktrace.
criticalIncidents[].stackTrace[].component
string
Optional
Der Name einer Database Service-Komponente, die die Nachricht in Logs erfasst hat.
criticalIncidents[].stackTrace.message
string
Optional
Logeintrag.
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
Die Nachricht enthält eine Beschreibung, warum sich der Einrichtungsversuch in diesem Status befindet.
downstream.physicalDownstream.setupStrategies.retries
integer
Optional
„Neuversuche“ gibt an, wie oft diese Strategie wiederholt wurde.
downstream.physicalDownstream.setupStrategies.startedAt
string
Optional
„StartedAt“ ist der Zeitpunkt, zu dem der letzte Versuch dieser Strategie gestartet wurde.
downstream.physicalDownstream.setupStrategies.state
string
Erforderlich
„State“ ist der aktuelle Zustand 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 „Wiederholungen“ 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“ ist der Name des Strategietyps, für den dieser Status gilt.
downstream.physicalDownstream.state
object
Optional
„State“ ist der Replikationsstatus, wie er in der Tabelle „pg_stat_wal_receiver“ des nachgeschalteten Datenbankservers angezeigt wird.
observedgeneration
integer
Optional
Intern: Die vom Controller beobachtete Generierung.
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
„Host“ ist der Verbindungsendpunkt dieser Datenbank, auf den die Downstream-Datenbanken für die Replikation zugreifen können.
upstream.password
object
Optional
„Passwort“ 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 muss innerhalb eines Namespace eindeutig sein, um auf eine Secret-Ressource zu verweisen.
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.