Spezifikationsschema
„SwitchoverSpec“ definiert den ausgewählten Zustand des Wechsels.
dbclusterRef: string
newPrimary: string
newPrimaryInstance: string
primaryHost: string
Feld TypErforderlich oder optional |
Beschreibung |
|---|---|
dbclusterRef
| |
stringOptional |
„DBClusterRef“ ist der Name von DBCluster, für den ein Wechsel initiiert werden soll.
Das Switchover-Objekt muss im selben Namespace wie DBCluster erstellt werden, auf den es verweist. Dieses Feld ist für den Wechsel erforderlich.
|
newPrimary
| |
stringOptional | „NewPrimary“ ist die Stand-by-Instanz, die mit der aktuellen primären Instanz getauscht werden soll. |
newPrimaryInstance
| |
stringOptional | „NewPrimaryInstance“ ist die Stand-by-Instanz, die mit der aktuellen primären Instanz getauscht werden soll. Eingestellt: Verwenden Sie stattdessen das Feld „NewPrimary“. |
primaryHost
| |
stringOptional | „PrimaryHost“ ist die IP, die immer auf die primäre Instanz verweist. |
Statusschema
„SwitchoverStatus“ definiert den beobachteten Zustand des Wechsels.
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 TypErforderlich oder optional |
Beschreibung |
|---|---|
conditions
| |
list (object)Optional | „Conditions“ entspricht den neuesten verfügbaren Beobachtungen zum aktuellen Status der Entität. |
conditions[]
| |
objectOptional | „Condition“ enthält Details zu einem Aspekt des aktuellen Zustand dieser API-Ressource. – Dieses Struct ist für die direkte Verwendung als Array im Feldpfad .status.conditions vorgesehen. Beispiel: \n type FooStatus struct{ // stellt die Beobachtungen des aktuellen Zustands von foo dar. // Bekannte .status.conditions.type sind: \"Available\", \"Progressing\", und \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields } |
conditions[].lastTransactionTime
| |
stringErforderlich | Mit „lastTransitionTime“ wird der Zeitpunkt angegeben, zu dem die Bedingung zuletzt von einem Status zu einem anderen Status geändert wurde. Das sollte der Zeitpunkt sein, an dem sich die zugrunde liegende Bedingung geändert hat. Wenn diese Zeit nicht bekannt ist, kann die Zeit verwendet werden, zu der sich das API-Feld geändert hat. |
conditions[].message
| |
stringErforderlich | „message“ ist eine menschenlesbare Nachricht mit Details zur Umstellung. Dies kann auch ein leerer String sein. |
conditions[].observedGeneration
| |
integerOptional | „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 Zustand der Instanz nicht mehr aktuell. |
conditions[].reason
| |
stringErforderlich | „reason“ enthält eine programmatische Kennung, die den Grund für die letzte Statusänderung der Bedingung angibt. Produzenten 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
| |
stringErforderlich |
Zulässige Werte: |
conditions[].type
| |
stringErforderlich | Bedingungstyp im Binnenmajuskelformat oder in foo.example.com/CamelCase. --- Viele .condition.type-Werte sind ressourcenübergreifend konsistent, z. B. „Available“. Da jedoch beliebige Bedingungen nützlich sein können (siehe .node.status.conditions), ist die Möglichkeit zur Konfliktlösung wichtig. Der entsprechende reguläre Ausdruck lautet (dns1123SubdomainFmt/)?(qualifiedNameFmt). |
createTime
| |
stringOptional | „CreateTime“ ist der Zeitpunkt, zu dem der interne Switchover-Workflow-Mechanismus erstellt wurde. |
criticalIncidents
| |
list (object)Optional | „CriticalIncidents“ ist eine einfache Liste aller aktiven kritischen Vorfälle. |
criticalIncidents[]
| |
objectOptional | „CriticalIncident“ enthält alle Informationen zu einem laufenden kritischen Vorfall. |
criticalIncidents[].code
| |
stringErforderlich | „Code“ ist der Fehlercode dieses bestimmten Fehlers. Fehlercodes sind DBSE-Strings mit einer Zahl, z. B. „DBSE1012“. |
criticalIncidents[].createTime
| |
stringErforderlich | „CreateTime“ ist der Zeitstempel, der angibt, wann dieser Vorfall am Ursprungsort erstellt wurde. |
criticalIncidents[].message
| |
stringOptional | Die Nachricht beschreibt den Vorfall/Fehler, der aufgetreten ist. |
criticalIncidents[].messageTemplateParams
| |
objectOptional | „MessageTemplateParams“ enthält Schlüssel/Wert-Paare, die zum Generieren einer nutzerfreundlichen datengesteuerten Version von „Message“ in der Benutzeroberfläche erforderlich sind. |
criticalIncidents[].resource
| |
objectErforderlich | Die Ressource enthält Informationen zur Database Service-Komponente, die den Vorfall gemeldet hat, sowie zur Kubernetes-Ressource. |
criticalIncidents[].resource.component
| |
stringErforderlich | „Component“ ist eine interne Kennung des Subsystems des Datenbankdienstes, das den Vorfall gemeldet hat. |
criticalIncidents[].resource.location
| |
objectOptional | Standort |
criticalIncidents[].resource.location.cluster
| |
stringOptional | „Cluster“ ist der Name des Clusters der betroffenen Kubernetes-Ressource. |
criticalIncidents[].resource.location.group
| |
stringOptional | „Group“ ist der Gruppenname der Kubernetes-Ressource. |
criticalIncidents[].resource.location.kind
| |
stringOptional | „Kind“ ist die Art der Kubernetes-Ressource. |
criticalIncidents[].resource.location.name
| |
stringOptional | „Name“ ist der Name der betroffenen Kubernetes-Ressource. |
criticalIncidents[].resource.location.namespace
| |
stringOptional | „Namespace“ ist der Namespace der betroffenen Kubernetes-Ressource. |
criticalIncidents[].resource.location.version
| |
TYPEOptional | „Group“ ist die Version der Kubernetes-Ressource. |
criticalIncidents[].stackTrace
| |
list (object)Optional | „StackTrace“ enthält eine unstrukturierte Liste von Nachrichten aus dem Stacktrace. |
criticalIncidents[].stackTrace[]
| |
objectOptional | „CriticalIncidentStackTraceMessage“ enthält Stacktrace-Informationen, die für den Vorfall verfügbar sind. |
criticalIncidents[].stackTrace[].component
| |
stringOptional | „Component“ ist der Name einer Database Service-Komponente, die die Nachricht in einem Log erfasst hat. |
criticalIncidents[].stackTrace[].message
| |
stringOptional | Logeintrag. |
criticalIncidents[].stackTrace[].message
| |
stringOptional | „TransientUntil“ gibt an, dass das Problem bis zum angegebenen Zeitpunkt als vorübergehend betrachtet werden sollte. |
endTime
| |
stringOptional | „EndTime“ ist der Zeitpunkt, zu dem der Wechsel den endgültigen Zustand erreicht hat. |
internal
| |
objectOptional | „Internal“ wird von den Systemcontrollern verwendet. Verlassen Sie sich nicht auf die Informationen in diesem Abschnitt. |
internal.newPrimary
| |
stringErforderlich | „NewPrimary“ ist die Instanz, zu der wir wechseln möchten. |
internal.oldPrimary
| |
stringErforderlich | „OldPrimary“ ist die Instanz, die zu Beginn der Umstellung die primäre Instanz war. |
internal.phase
| |
stringOptional |
Zulässige Werte: |
observedGeneration
| |
integerOptional | Intern: Die vom Controller beobachtete Generierung. |
reconciled
| |
booleanOptional | Intern: Gibt an, ob die Ressource vom Controller abgeglichen wurde. |
startTime
| |
stringOptional | „StartTime“ ist der Zeitpunkt, zu dem der Wechselvorgang gestartet wurde. |
state
| |
stringOptional |
Zulässige Werte: InProgress, Success, Failed_RollbackInProgress, Failed_RollbackSuccess und Failed_RollbackFailed. InProgress bedeutet, dass der Wechsel noch läuft. Success bedeutet, dass der Wechsel abgeschlossen ist. 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 hat. 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.
|