Benutzerdefinierte Ressourcendefinition für Failover v1.1.1

Spezifikationsschema

„FailoverSpec“ stellt die Parameter eines einzelnen Failover-Vorgangs dar.

dbclusterRef: string
newPrimary: string

Feld

Typ
Erforderlich oder optional

 

Beschreibung
dbclusterRef
string
Erforderlich
DBClusterRef ist der Name des DBClusters, für das ein Failover eingeleitet werden soll. Das Failover-Objekt muss im selben Namespace wie der DBCluster erstellt werden, auf den es verweist.
newPrimary
string
Optional
NewPrimary ist die Standby-Instanz, die als neue primäre Instanz hochgestuft werden soll. Wenn Sie das Feld leer lassen, wählt das System automatisch die beste Instanz für den Failover aus.

Statusschema

„FailoverStatus“ gibt den aktuellen Status eines Failovers an.

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
internal:
  newPrimary: string
  oldPrimary: string
  phase: string
observedGeneration: integer
reconciled: boolean
startTime: string
state: string

Feld

Typ
Erforderlich oder optional

 

Beschreibung
conditions[]
object
Optional
„Zustände“ entspricht den neuesten verfügbaren Beobachtungen zum aktuellen Status der Entität.
conditions[].lastTransitionTime
string
Erforderlich
Mit „lastTransitionTime“ wird der Zeitpunkt angegeben, zu dem der Bedingung zuletzt von einem Status zu einem anderen Status geändert wurde. Das geschieht, wenn sich die zugrunde liegende Bedingung geändert hat. Wenn die Zeit, zu der sich die zugrunde liegende Bedingung geändert hat, nicht bekannt ist, verwenden Sie die Zeit, zu der sich das API-Feld geändert hat.
conditions[].message
string
Erforderlich
message ist eine für Menschen lesbare Nachricht mit Details zur Umstellung. Dies kann auch ein leerer String sein.
conditions[].observedGeneration
integer
Optional
„observedGeneration“ entspricht der .metadata.generation, anhand derer die Bedingung festgelegt wurde. 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 angeben, ob die Werte als garantierte API gelten. Der Wert muss ein CamelCase-String sein. Dieses Feld ist möglicherweise nicht leer.
conditions[].status
string
Erforderlich
Status der Bedingung, entweder „Wahr“, „Falsch“ oder „Unbekannt“.
conditions[].type
string
Erforderlich
Bedingungstyp in CamelCase oder in foo.beispiel.de/CamelCase. Viele Werte für „condition.type“ sind für alle Ressourcen gleich, z. B. „Verfügbar“. Da beliebige Bedingungen nützlich sein können, z. B. .node.status.conditions, ist die Möglichkeit zur Konfliktbehebung wichtig. Der reguläre Ausdruck, mit dem die Übereinstimmung erfolgt, lautet (dns1123SubdomainFmt/)?(qualifiedNameFmt).
createTime
string
Optional
„CreateTime“ ist der Zeitpunkt, zu dem der interne Failover-Workflowmechanismus erstellt wurde.
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, zu dem dieser Vorfall an der Quelle erstellt wurde.
criticalIncidents[].message
string
Optional
Die Nachricht beschreibt den aufgetretenen Vorfall oder Fehler.
criticalIncidents[].messageTemplateParams
object
Optional
„MessageTemplateParams“ enthält Schlüssel/Wert-Paare, die zum Generieren einer nutzerfreundlichen, datengetriebenen Version der Mitteilung in der Benutzeroberfläche erforderlich sind.
criticalIncidents[].resource
object
Erforderlich
Die Ressource enthält Informationen zur Datenbankdienstkomponente, über die das Problem gemeldet wurde, sowie Informationen zur Kubernetes-Ressource.
criticalIncidents[].resource.component
string
Erforderlich
„Component“ ist eine interne Kennung des Datenbankdienst-Subsystems, über das das Problem gemeldet wurde.
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 Stack-Trace.
criticalIncidents[].stackTrace[].component
string
Optional
Der Name einer Datenbankdienstkomponente, die die Meldung protokolliert hat.
criticalIncidents[].stackTrace.message
string
Optional
Geloggte Nachricht.
criticalIncidents[].transientUntil
string
Optional
Wenn „TransientUntil“ vorhanden ist, wird damit angegeben, dass das Problem bis zum angegebenen Zeitpunkt als vorübergehend betrachtet werden muss.
endTime
string
Optional
EndTime ist der Zeitpunkt, zu dem der Failover seinen Endzustand erreicht hat.
internal
object
Optional
„Intern“ wird von den Systemcontrollern verwendet. Verlassen Sie sich nicht auf die Informationen in diesem Abschnitt.
internal.newPrimary
string
Erforderlich
NewPrimary ist die Instanz, auf die Sie den Failover ausführen möchten.
internal.oldPrimary
string
Erforderlich
OldPrimary ist die Instanz, die zu Beginn des Failover die primäre Instanz war.
internal.phase
string
Optional
Mit „Phase“ wird der aktuelle Status des Failover überwacht.
observedGeneration
integer
Optional
Intern: Die vom Controller beobachtete Generation.
reconciled
boolean
Optional
„Intern“: Gibt an, ob die Ressource vom Controller abgeglichen wurde.
startTime
string
Optional
StartTime ist der Zeitpunkt, zu dem der Failover-Vorgang gestartet wurde.
state
string
Optional
„Status“ ist der aktuelle Status des Failover-Vorgangs. Die Werte sind „In Bearbeitung“, „Erfolgreich“, „Failed_RollbackInProgress“, „Failed_RollbackSuccess“ und „Failed_RollbackFailed“.
  • „In Progress“ bedeutet, dass das Failover noch läuft.
  • „Success“ bedeutet, dass der Failover abgeschlossen wurde. Sie ist abgeschlossen, wenn die neue primäre Instanz erfolgreich hochgestuft wurde.
  • „Failed_RollbackInProgress“ bedeutet, dass der Operator die neue primäre Instanz nicht hochstufen konnte und versucht, die alte primäre Instanz neu zu starten.
  • „Failed_RollbackSuccess“ bedeutet, dass der Operator die neue primäre Instanz nicht hochstufen konnte und die alte primäre Instanz erfolgreich neu gestartet wurde.
  • „Failed_RollbackFailed“ bedeutet, dass der Operator die neue primäre Instanz nicht hochstufen und die alte primäre Instanz nicht neu starten konnte. Der DBCluster muss möglicherweise manuell repariert werden.