When deploying your decision service on OCP with Kogito, the created pods are deployed without any limitation on the consumed/allocated resources (CPU, memory and ephemeral-storage).
This kind of deployment may cause resource availability problems to the other applications running on the same cluster. It can also generate a compliance issue with respect to the product entitlement. According to IBM license terms, when the CPU Limit is not specified on a given container, the entire CPU capacity of the worker node on which the pod runs needs to be licensed.
To avoid these problems and to control ressource consumption, the Kogito Operator Runtime API handles the specifications of pod resources. The following example shows how to specify the requests and the limits of CPU and memory in a Kogito Runtime CR file:
apiVersion: rhpam.kiegroup.org/v1
kind: KogitoRuntime
metadata:
name: my-app-quarkus
namespace: dm-kogito
spec:
image: 'image-registry.openshift-image-registry.svc:5000/dm-kogito/my-app-quarkus'
replicas: 2
runtime: quarkus
resources:
limits:
cpu: '2'
memory: 4Gi
requests:
cpu: '1'
memory: 2Gi
#kogito