Oracle Database Operator for Kubernetes
When you enable the Oracle Database Operator for Kubernetes cluster add-on, you can pass the following key/value pairs as arguments.
Note that to use the Oracle Database Operator as a cluster add-on, you also have to deploy cert-manager (either as a standalone product, or as a cluster add-on). If you deploy cert-manager as a standalone product, set the skipAddonDependenciesCheck configuration argument to true.
| Key (API and CLI) | Key's Display Name (Console) | Description | Required/Optional | Default Value | Example Value |
|---|---|---|---|---|---|
affinity |
affinity |
A group of affinity scheduling rules. JSON format in plain text or Base64 encoded. Not used by:
Possible equivalents:
|
Optional | null | null |
nodeSelectors |
node selectors |
You can use node selectors and node labels to control the worker nodes on which add-on pods run. For a pod to run on a node, the pod's node selector must have the same key/value as the node's label. Set JSON format in plain text or Base64 encoded. Not used by:
Possible equivalents:
|
Optional | null | {"foo":"bar", "foo2": "bar2"}The pod will only run on nodes that have the |
numOfReplicas |
numOfReplicas | The number of replicas of the add-on deployment. Not used by:
Possible equivalents:
|
Required | 1Creates one replica of the add-on deployment per cluster. |
2Creates two replicas of the add-on deployment per cluster. |
rollingUpdate |
rollingUpdate |
Controls the desired behavior of rolling update by maxSurge and maxUnavailable. JSON format in plain text or Base64 encoded. Not used by:
Possible equivalents:
|
Optional | null | null |
tolerations |
tolerations |
You can use taints and tolerations to control the worker nodes on which add-on pods run. For a pod to run on a node that has a taint, the pod must have a corresponding toleration. Set JSON format in plain text or Base64 encoded. Possible equivalents:
|
Optional | null | [{"key":"tolerationKeyFoo", "value":"tolerationValBar", "effect":"noSchedule", "operator":"exists"}]Only pods that have this toleration can run on worker nodes that have the |
topologySpreadConstraints |
topologySpreadConstraints |
How to spread matching pods among the given topology. JSON format in plain text or Base64 encoded. Not used by:
|
Optional | null | null |
| Key (API and CLI) | Key's Display Name (Console) | Description | Required/Optional | Default Value | Example Value |
|---|---|---|---|---|---|
manager.ContainerResources
|
manager container resources |
You can specify the resource quantities that the add-on containers request, and set resource usage limits that the add-on containers cannot exceed. JSON format in plain text or Base64 encoded. |
Optional | null |
{"limits": {"cpu": "500m", "memory": "200Mi" }, "requests": {"cpu": "100m", "memory": "100Mi"}}
Create add-on containers that request 100 milllicores of CPU, and 100 mebibytes of memory. Limit add-on containers to 500 milllicores of CPU, and 200 mebibytes of memory. |
skipAddonDependenciesCheck
|
skipAddonDependenciesCheck | Whether to check that other required add-ons have been deployed (such as the cert-manager add-on). | Optional | null |
true
|
The following table describes considerations for configuring this cluster add-on in large clusters.
| Argument Name | Roles wrt number of Nodes | Description | As cluster size increases | Risks | Recommendation |
|---|---|---|---|---|---|
manager.ContainerResources
|
Y |
Defines the CPU and memory requests and limits for the operator pods. |
As the cluster size increases, the operator experiences:
|
If the resources are undersized:
|
Allocate sufficient memory and CPU to handle the additional load in large clusters. Give particular attention to memory sizing because the informer cache grows as the cluster size increases. |
numOfReplicas
|
N |
Controls the number of operator pods deployed. |
Additional replicas improve fault tolerance and failover through leader election. Only one pod acts as the active leader for a controller. Other replicas remain on standby and take over only if the leader fails. Increasing the number of replicas does not provide linear scaling of reconciliation throughput because the standby replicas do not process reconciliation loops for the same controller. |
A low replica count increases the risk of operator downtime and slower recovery after failures. |
Use a moderate number of replicas, such as three to five, to provide high availability. Do not increase the number of replicas to improve reconciliation performance. |
affinity
/
nodeSelectors
/
tolerations
|
N |
Control where the operator pods are scheduled in the cluster. |
Appropriate pod placement:
|
If not set correctly, the Oracle Database Operator may land on the wrong nodes or fail to schedule at all, which can lead to delayed reconciliation, and unstable performance. |
Use these arguments to schedule operator pods on dedicated infrastructure nodes. Apply pod anti-affinity rules where necessary to improve resilience. |
rollingUpdate
|
N |
Controls the deployment update strategy for the operator. |
During upgrades in large clusters, the rolling update strategy:
|
If not configured well, an upgrade can briefly take down too many Oracle Database Operator pods at once, causing reconciliation delays, and loss of failover safety. |
Configure rolling update settings, such as
|
topologySpreadConstraints
|
N |
Controls how operator replicas are distributed across nodes and availability domains. |
Distributing replicas prevents all operator pods from running on the same node or in the same availability domain and reduces the effect of node or availability-domain failures. |
If not configured correctly, operator pods may be scheduled on the same node or in the same availability zone, increasing the risk of losing multiple replicas during a node or zone failure. |
Use topology spread constraints to provide high availability in large clusters. |