Benutzerdefinierte Ressourcendefinition für die Umstellung auf Version 1.1.1

Spezifikationsschema

SwitchoverSpec definiert den ausgewählten Status von Switchover.

dbclusterRef: string
newPrimary: string
newPrimaryInstance: string
primaryHost: string

Feld

Typ
Erforderlich oder optional

 

Beschreibung
dbclusterRef
string
Optional
DBClusterRef ist der Name des Datenbankclusters, für das ein Umstieg eingeleitet werden soll. Das Switchover-Objekt muss im selben Namespace wie der DBCluster erstellt werden, auf den es verweist. Dieses Feld ist für die Umstellung erforderlich.
newPrimary
string
Optional
NewPrimary ist die Stand-by-Instanz, die mit der aktuellen primären Instanz getauscht werden soll.
newPrimaryInstance
string
Optional
NewPrimaryInstance ist die Standby-Instanz, die mit der aktuellen primären Instanz getauscht werden soll. Eingestellt: Verwenden Sie stattdessen das Feld „NewPrimary“.
primaryHost
string
Optional
PrimaryHost ist die IP-Adresse, die immer auf die primäre Instanz verweist.

Statusschema

SwitchoverStatus definiert den beobachteten Status von 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

Feld

Typ
Erforderlich oder optional

 

Beschreibung
conditions
list (object)
Optional
„Zustände“ entspricht den neuesten verfügbaren Beobachtungen zum aktuellen Status der Entität.
conditions[]
object
Optional
„Zustand“ enthält Details zu einem Aspekt des aktuellen Status dieser API-Ressource. --- Diese Struktur ist für die direkte Verwendung als Array unter dem Pfad „.status.conditions“ vorgesehen. Beispiel: \n type FooStatus struct{ // Stellt die Beobachtungen des aktuellen Status eines Foo dar. // Bekannte .status.conditions.type sind: \"Available\", \"Progressing\" und \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Bedingungen []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }
conditions[].lastTransactionTime
string
Erforderlich
Mit „lastTransitionTime“ wird der Zeitpunkt angegeben, zu dem der Bedingung zuletzt von einem Status zu einem anderen Status geändert wurde. Dies sollte der Zeitpunkt sein, zu dem sich die zugrunde liegende Bedingung geändert hat. Wenn das nicht bekannt ist, ist es in Ordnung, die Uhrzeit zu verwenden, zu der sich das API-Feld geändert hat.
conditions[].message
string
Erforderlich
ist eine menschenlesbare 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 betrachtet werden. Der Wert sollte ein CamelCase-String sein. Dieses Feld darf nicht leer sein.
conditions[].status
string
Erforderlich

Gültige Werte: "True", "False", Unknown

Status der Bedingung, entweder „Wahr“, „Falsch“ oder „Unbekannt“.
conditions[].type
string
Erforderlich
Bedingungstyp in CamelCase oder in foo.beispiel.de/CamelCase. --- Viele .condition.type-Werte sind für alle Ressourcen gleich, z. B. „Verfügbar“. Da aber beliebige Bedingungen nützlich sein können (siehe .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 die Zeit, zu der der interne Mechanismus für den Umstieg erstellt wurde.
criticalIncidents
list (object)
Optional
„CriticalIncidents“ ist eine einfache Liste aller aktiven kritischen Vorfälle.
criticalIncidents[]
object
Optional
„CriticalIncident“ enthält alle Informationen zu einem laufenden kritischen Vorfall.
criticalIncidents[].code
string
Erforderlich
Code ist der Fehlercode dieses bestimmten Fehlers. Fehlercodes sind DBSE-Nummernstrings 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/Fehler.
criticalIncidents[].messageTemplateParams
object
Optional
„MessageTemplateParams“ enthält Schlüssel/Wert-Paare, die zum Generieren einer nutzerfreundlichen, datengetriebenen Version der Mitteilung auf der Benutzeroberfläche erforderlich sind.
criticalIncidents[].resource
object
Erforderlich
Die Ressource enthält Informationen zur Datenbankdienstkomponente, über die das Problem gemeldet wurde, sowie zur Kubernetes-Ressource.
criticalIncidents[].resource.component
string
Erforderlich
„Component“ ist eine interne Kennung des Subsystems „Database Service“, über das das Problem gemeldet wurde.
criticalIncidents[].resource.location
object
Optional
Standort
criticalIncidents[].resource.location.cluster
string
Optional
Cluster ist der Name des Clusters der betroffenen Kubernetes-Ressource.
criticalIncidents[].resource.location.group
string
Optional
„Group“ ist der Gruppenname der Kubernetes-Ressource.
criticalIncidents[].resource.location.kind
string
Optional
„Kind“ ist der Typ der Kubernetes-Ressource.
criticalIncidents[].resource.location.name
string
Optional
„Name“ ist der Name der betroffenen Kubernetes-Ressource.
criticalIncidents[].resource.location.namespace
string
Optional
Namespace ist der Namespace der betroffenen Kubernetes-Ressource.
criticalIncidents[].resource.location.version
TYPE
Optional
„group“ ist die Version der Kubernetes-Ressource.
criticalIncidents[].stackTrace
list (object)
Optional
StackTrace enthält eine unstrukturierte Liste von Nachrichten aus dem Stack-Trace.
criticalIncidents[].stackTrace[]
object
Optional
CriticalIncidentStackTraceMessage enthält Stack-Trace-Informationen, die für den Vorfall verfügbar sind.
criticalIncidents[].stackTrace[].component
string
Optional
„Component“ ist der Name einer Datenbankdienstkomponente, die die Meldung protokolliert hat.
criticalIncidents[].stackTrace[].message
string
Optional
Geloggte Nachricht.
criticalIncidents[].stackTrace[].message
string
Optional
Wenn „TransientUntil“ vorhanden ist, wird damit angegeben, dass das Problem bis zum angegebenen Zeitpunkt als vorübergehend betrachtet werden sollte.
endTime
string
Optional
„EndTime“ ist der Zeitpunkt, zu dem die Umstellung den Endstatus erreicht hat.
internal
object
Optional
„Intern“ wird von den Systemcontrollern verwendet. Die Informationen in diesem Abschnitt sind nicht verlässlich.
internal.newPrimary
string
Erforderlich
NewPrimary ist die Instanz, zu der wir versuchen, umzustellen.
internal.oldPrimary
string
Erforderlich
„OldPrimary“ ist die Instanz, die zu Beginn der Umstellung die primäre Instanz war.
internal.phase
string
Optional

Zulässige Werte: UpdateDbcluster, StopPrimary, PromoteStandby, ValidateNewPrimary, UpdateOldPrimaryResources, UpdateNewPrimaryResources, UpdateOldPrimaryConfigs, Complete, SyncOldPrimary, StartOldPrimary, PreSuccess, RepointStandbys, RollbackPrimary, RollbackStandbys

Mit der Phase wird der aktuelle Status der Umstellung erfasst.
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 die Umstellung gestartet wurde.
state
string
Optional

Zulässige Werte: InProgress, Success, Failed_RollbackInProgress, Failed_RollbackSuccess, Failed_RollbackFailed

„State“ ist der aktuelle Status des Umstellungsvorgangs. Die Werte sind InProgress, Success, Failed_RollbackInProgress, Failed_RollbackSuccess und Failed_RollbackFailed. InProgress bedeutet, dass die Umstellung noch nicht abgeschlossen ist. Success bedeutet, dass die Umstellung abgeschlossen ist. Failed_RollbackInProgress bedeutet, dass der Operator die neue primäre Instanz nicht als primäre Instanz festlegen konnte und versucht, die alte primäre Instanz neu zu starten. Failed_RollbackSuccess bedeutet, dass der Operator die neue primäre Instanz nicht zum primären Knoten machen konnte und die alte primäre Instanz erfolgreich neu gestartet hat. Failed_RollbackFailed bedeutet, dass der Betreiber die neue primäre Instanz nicht als primäre Instanz festlegen und die alte primäre Instanz nicht neu starten konnte. Der DBCluster muss möglicherweise manuell repariert werden.