Oracle Database Operator für Kubernetes
Wenn Sie das Cluster-Add-on für Oracle Database Operator for Kubernetes aktivieren, können Sie die folgenden Schlüssel/Wert-Paare als Argumente übergeben.
Um Oracle Database Operator als Cluster-Add-on zu verwenden, müssen Sie auch cert-manager bereitstellen (entweder als Standalone-Produkt oder als Cluster-Add-on). Wenn Sie cert-manager als Standalone-Produkt bereitstellen, setzen Sie das Konfigurationsargument skipAddonDependenciesCheck auf true.
| Schlüssel (API und CLI) | Anzeigename des Schlüssels (Konsole) | Beschreibung | Erforderlich/Optional | Standardwert | Beispielwert |
|---|---|---|---|---|---|
affinity |
Affinität |
Eine Gruppe von Affinitätsplanungsregeln. JSON-Format im Klartext oder Base64-codiert. Nicht verwendet von:
Mögliche Äquivalente:
|
Optional | Null | Null |
nodeSelectors |
Knotenselektoren |
Mit Knotenselektoren und Knotenlabels können Sie die Worker-Knoten steuern, auf denen Add-on-Pods ausgeführt werden. Damit ein Pod auf einem Knoten ausgeführt werden kann, muss der Knotenselektor des Pods denselben Schlüssel/Wert wie das Label des Knotens aufweisen. Setzen Sie JSON-Format im Klartext oder Base64-codiert. Nicht verwendet von:
Mögliche Äquivalente:
|
Optional | Null | {"foo":"bar", "foo2": "bar2"}Der Pod wird nur auf Knoten ausgeführt, die das Label |
numOfReplicas |
numOfReplicas | Die Anzahl der Replikate der Add-on-Bereitstellung. Nicht verwendet von:
Mögliche Äquivalente:
|
Erforderlich | 1Erstellt ein Replikat des Add-on-Deployments pro Cluster. |
2Erstellt zwei Replikate des Add-on-Deployments pro Cluster. |
rollingUpdate |
rollingUpdate |
Steuert das gewünschte Verhalten der rollierenden Aktualisierung durch maxSurge und maxUnavailable. JSON-Format im Klartext oder Base64-codiert. Nicht verwendet von:
Mögliche Äquivalente:
|
Optional | Null | Null |
tolerations |
Toleranzen |
Mit Taints und Toleranzen können Sie die Worker-Knoten steuern, auf denen Add-on-Pods ausgeführt werden. Damit ein Pod auf einem Knoten mit einem Taint ausgeführt werden kann, muss der Pod eine entsprechende Toleranz aufweisen. Setzen Sie JSON-Format im Klartext oder Base64-codiert. Mögliche Äquivalente:
|
Optional | Null | [{"key":"tolerationKeyFoo", "value":"tolerationValBar", "effect":"noSchedule", "operator":"exists"}]Nur Pods mit dieser Toleranz können auf Worker-Knoten ausgeführt werden, die den Taint |
topologySpreadConstraints |
topologySpreadConstraints |
So verteilen Sie passende Pods auf die angegebene Topologie. JSON-Format im Klartext oder Base64-codiert. Nicht verwendet von:
|
Optional | Null | Null |
| Schlüssel (API und CLI) | Anzeigename des Schlüssels (Konsole) | Beschreibung | Erforderlich/Optional | Standardwert | Beispielwert |
|---|---|---|---|---|---|
manager.ContainerResources
|
Managercontainerressourcen |
Sie können die Ressourcenmengen angeben, die von den Add-on-Containern angefordert werden, und Grenzwerte für die Ressourcennutzung festlegen, die von den Add-on-Containern nicht überschritten werden dürfen. JSON-Format im Klartext oder Base64-codiert. |
Optional | Null |
{"limits": {"cpu": "500m", "memory": "200Mi" }, "requests": {"cpu": "100m", "memory": "100Mi"}}
Erstellen Sie Add-on-Container, die 100 Millicores CPU und 100 Mebibyte Speicher anfordern. Begrenzen Sie Add-on-Container auf 500 Millicores CPU und 200 Mebibyte Arbeitsspeicher. |
skipAddonDependenciesCheck
|
skipAddonDependenciesCheck | Gibt an, ob andere erforderliche Add-ons bereitgestellt wurden (z. B. das Add-on "cert-manager"). | Optional | Null |
true
|
In der folgenden Tabelle werden die Aspekte beim Konfigurieren dieses Cluster-Add-ons in großen Clustern beschrieben.
| Argumentname | Rollen, Anzahl Knoten | Beschreibung | Bei zunehmender Clustergröße | Risiken | Empfehlung |
|---|---|---|---|---|---|
manager.ContainerResources
|
J |
Definiert die CPU- und Speicheranforderungen und Grenzwerte für die Operatorpods. |
Wenn die Clustergröße steigt, erlebt der Operator Folgendes:
|
Wenn die Ressourcen zu klein sind:
|
Weisen Sie ausreichend Arbeitsspeicher und CPU zu, um die zusätzliche Belastung in großen Clustern zu bewältigen. Achten Sie besonders auf die Speichergröße, da der Informer-Cache mit zunehmender Clustergröße wächst. |
numOfReplicas
|
N |
Steuert die Anzahl der bereitgestellten Operatorpods. |
Zusätzliche Replikate verbessern Fehlertoleranz und Failover durch Leaderwahl. Nur ein Pod fungiert als aktiver Leader für einen Controller. Andere Replikate bleiben im Standby und übernehmen nur, wenn der Leader ausfällt. Wenn Sie die Anzahl der Replikate erhöhen, wird der Reconciliation-Durchsatz nicht linear skaliert, da die Standby-Replikate keine Reconciliation-Schleifen für denselben Controller verarbeiten. |
Eine geringe Anzahl von Replikaten erhöht das Risiko von Ausfallzeiten des Operators und verlangsamt das Recovery nach Ausfällen. |
Verwenden Sie eine moderate Anzahl von Replikaten, z. B. drei bis fünf, um High Availability bereitzustellen. Erhöhen Sie nicht die Anzahl der Replikate, um die Abstimmungsperformance zu verbessern. |
affinity / nodeSelectors / tolerations
|
N |
Steuern Sie, wo die Operatorpods im Cluster geplant werden. |
Geeignete Pod-Platzierung:
|
Wenn der Oracle Database-Operator nicht korrekt eingestellt ist, kann er auf den falschen Knoten landen oder gar nicht planen. Dies kann zu einer verzögerten Abstimmung und einer instabilen Performance führen. |
Verwenden Sie diese Argumente, um Operatorpods auf dedizierten Infrastrukturknoten zu planen. Wenden Sie gegebenenfalls Pod-Anti-Affinitätsregeln an, um die Resilienz zu verbessern. |
rollingUpdate
|
N |
Steuert die Deployment-Aktualisierungsstrategie für den Operator. |
Bei Upgrades in großen Clustern gilt die Rolling Update-Strategie:
|
Wenn ein Upgrade nicht ordnungsgemäß konfiguriert ist, können zu viele Oracle Database Operator-Pods kurzzeitig heruntergefahren werden. Dies führt zu Verzögerungen bei der Abstimmung und dem Verlust der Failover-Sicherheit. |
Konfigurieren Sie Einstellungen für Rolling-Updates, wie |
topologySpreadConstraints
|
N |
Steuert, wie Operatorreplikate auf Knoten und Availability-Domains verteilt werden. |
Durch die Verteilung von Replikaten wird verhindert, dass alle Operator-Pods auf demselben Knoten oder in derselben Availability-Domain ausgeführt werden, und die Auswirkungen von Knoten- oder Availability-Domainausfällen werden reduziert. |
Wenn sie nicht korrekt konfiguriert sind, können Operator-Pods auf demselben Knoten oder in derselben Verfügbarkeitszone geplant werden, was das Risiko erhöht, dass mehrere Replikate bei einem Knoten- oder Zonenfehler verloren gehen. |
Verwenden Sie Topologie-Verteilungs-Constraints, um High Availability in großen Clustern bereitzustellen. |