Oracle Database Operator para Kubernetes
Al activar el complemento de cluster de Oracle Database Operator for Kubernetes, puede transferir los siguientes pares de clave/valor como argumentos.
Tenga en cuenta que para utilizar el operador de Oracle Database como complemento de cluster, también tiene que desplegar cert-manager (ya sea como un producto independiente o como un complemento de cluster). Si despliega cert-manager como un producto independiente, defina el argumento de configuración skipAddonDependenciesCheck en true.
| Clave (API y CLI) | Nombre mostrado de clave (consola) | Descripción | Necesario/Opcional | Valor por defecto | Valor de ejemplo |
|---|---|---|---|---|---|
affinity |
afinidad |
Grupo de reglas de programación de afinidad. Formato JSON en texto sin formato o codificado con Base64. No utilizado por:
Posibles equivalentes:
|
Opcional | nulo | nulo |
nodeSelectors |
selectores de nodos |
Puede utilizar selectores de nodos y etiquetas de nodos para controlar los nodos de trabajador en los que se ejecutan los pods de complementos. Para que un pod se ejecute en un nodo, el selector de nodos del pod debe tener la misma clave/valor que la etiqueta del nodo. Defina Formato JSON en texto sin formato o codificado con Base64. No utilizado por:
Posibles equivalentes:
|
Opcional | nulo | {"foo":"bar", "foo2": "bar2"}El pod solo se ejecutará en nodos que tengan la etiqueta |
numOfReplicas |
numOfReplicas | Número de réplicas del despliegue del complemento. No utilizado por:
Posibles equivalentes:
|
Obligatorio | 1Crea una réplica del despliegue del complemento por cluster. |
2Crea dos réplicas del despliegue del complemento por cluster. |
rollingUpdate |
rollingUpdate |
Controla el comportamiento deseado de la actualización sucesiva mediante maxSurge y maxUnavailable. Formato JSON en texto sin formato o codificado con Base64. No utilizado por:
Posibles equivalentes:
|
Opcional | nulo | nulo |
tolerations |
tolerancias |
Puede utilizar contaminantes y tolerancias para controlar los nodos de trabajador en los que se ejecutan los pods de complementos. Para que un pod se ejecute en un nodo que tenga un tinte, el pod debe tener una tolerancia correspondiente. Defina Formato JSON en texto sin formato o codificado con Base64. Posibles equivalentes:
|
Opcional | nulo | [{"key":"tolerationKeyFoo", "value":"tolerationValBar", "effect":"noSchedule", "operator":"exists"}]Solo los pods que tienen esta tolerancia se pueden ejecutar en nodos de trabajador que tengan el mantenimiento |
topologySpreadConstraints |
topologySpreadConstraints |
Cómo difundir vainas coincidentes entre la topología dada. Formato JSON en texto sin formato o codificado con Base64. No utilizado por:
|
Opcional | nulo | nulo |
| Clave (API y CLI) | Nombre mostrado de clave (consola) | Descripción | Necesario/Opcional | Valor por defecto | Valor de ejemplo |
|---|---|---|---|---|---|
manager.ContainerResources
|
recursos de contenedor de mánager |
Puede especificar las cantidades de recursos que solicitan los contenedores complementarios y establecer límites de uso de recursos que los contenedores complementarios no pueden superar. Formato JSON en texto sin formato o codificado con Base64. |
Opcional | nulo |
{"limits": {"cpu": "500m", "memory": "200Mi" }, "requests": {"cpu": "100m", "memory": "100Mi"}}
Cree contenedores complementarios que soliciten 100 millicores de CPU y 100 mebibytes de memoria. Limite los contenedores complementarios a 500 millicores de CPU y 200 mebibytes de memoria. |
skipAddonDependenciesCheck
|
skipAddonDependenciesCheck | Si se debe comprobar que se han desplegado otros complementos necesarios (como el complemento cert-manager). | Opcional | nulo |
true
|
En la siguiente tabla, se describen las consideraciones para configurar este complemento de cluster en clusters de gran tamaño.
| Nombre del Argumento | Número de nodos ordenado de roles | Descripción | A medida que aumenta el tamaño del cluster | Riesgos | Recomendación |
|---|---|---|---|---|---|
manager.ContainerResources
|
Y |
Define las solicitudes de CPU y memoria y los límites para los pod de operador. |
A medida que aumenta el tamaño del cluster, el operador experimenta lo siguiente:
|
Si los recursos tienen un tamaño insuficiente:
|
Asigne suficiente memoria y CPU para manejar la carga adicional en clusters grandes. Preste especial atención al tamaño de la memoria porque la caché del informador crece a medida que aumenta el tamaño del cluster. |
numOfReplicas
|
N |
Controla el número de pods de operador desplegados. |
Las réplicas adicionales mejoran la tolerancia a fallos y el failover a través de la elección de líderes. Solo un pod actúa como líder activo para un controlador. Otras réplicas permanecen en espera y toman el control solo si el líder falla. El aumento del número de réplicas no proporciona una escala lineal del rendimiento de conciliación porque las réplicas en espera no procesan bucles de conciliación para el mismo controlador. |
Un recuento bajo de réplicas aumenta el riesgo de tiempo de inactividad del operador y una recuperación más lenta después de los fallos. |
Utilice un número moderado de réplicas, como de tres a cinco, para proporcionar una alta disponibilidad. No aumente el número de réplicas para mejorar el rendimiento de la conciliación. |
affinity / nodeSelectors / tolerations
|
N |
Controle dónde se programan los pods del operador en el cluster. |
Colocación adecuada del pod:
|
Si no se define correctamente, el operador de Oracle Database puede aterrizar en los nodos incorrectos o no programar en absoluto, lo que puede provocar retrasos en la conciliación y un rendimiento inestable. |
Utilice estos argumentos para programar pods de operador en nodos de infraestructura dedicados. Aplique las reglas anti-afinidad de pod cuando sea necesario para mejorar la resiliencia. |
rollingUpdate
|
N |
Controla la estrategia de actualización de despliegue para el operador. |
Durante las actualizaciones en clusters grandes, la estrategia de actualización sucesiva:
|
Si no se configura correctamente, una actualización puede desactivar brevemente demasiados pods de Oracle Database Operator a la vez, lo que causa retrasos en la conciliación y pérdida de seguridad de failover. |
Configure los valores de actualización sucesiva, como |
topologySpreadConstraints
|
N |
Controla cómo se distribuyen las réplicas del operador entre los nodos y los dominios de disponibilidad. |
La distribución de réplicas evita que todos los pods de operador se ejecuten en el mismo nodo o en el mismo dominio de disponibilidad y reduce el efecto de fallos de nodo o de dominio de disponibilidad. |
Si no se configura correctamente, los pod de operador se pueden programar en el mismo nodo o en la misma zona de disponibilidad, lo que aumenta el riesgo de perder varias réplicas durante un fallo de nodo o zona. |
Utilice restricciones de distribución de topología para proporcionar alta disponibilidad en clusters de gran tamaño. |