Optimizing resource usage with IBM Turbonomic
IBM Turbonomic can be used to optimize the usage of resources by your deployments. Turbonomic is an AI-powered solution that continuously analyzes workload demand and automates CPU and memory adjustments to keep applications performant and cost-efficient.
Before you begin
Turbonomic connects to your
cluster through Kubeturbo, an agent that collects
real-time resource metrics and reports them to Turbonomic for optimization analysis. To
use Turbonomic, install and
configure the IBM Turbonomic
Platform operator and connect your cluster as a target. For more
information, see the IBM Turbonomic
documentation
. The following procedure assumes Turbonomic is installed and Kubeturbo is
reporting cluster data.
About this task
Your deployments are managed by the operators through custom resources (CRs). If resource values are changed directly on a deployment, the operator reverts them during its next reconciliation. For this reason, Turbonomic does not modify the deployment directly. Instead, it uses Operator Resource Mappings (ORMs) to write recommended resource values into the corresponding CR, and the operator then reconciles the values to the pods.
For IBM® Content Cortex deployments, Turbonomic supports optimization for both the Content operator and the Content Cortex AI Services operator.
Two prerequisites are specific to your deployment and are not covered by the Turbonomic documentation:
-
Content Cortex deployment custom resources do not include a
resourcesparameter by default. Because Turbonomic can update only the fields that exist, you must add an emptyresources: {}block to each component section you want optimized before you apply any ORM. -
Turbonomic must be granted access to write to your deployment CRs. Grant access by adding the relevant API groups and resource kinds to the
ormOwnerssection of the Kubeturbo CR.
Procedure
Results
Turbonomic analyzes workload resource utilization and generates resize actions to optimize resource allocation. When these actions are executed, Turbonomic writes the recommended CPU and memory adjustments to the custom resources (CRs) rather than directly to the underlying deployments. The operators then reconcile the updated CRs and apply the revised resource allocations to the running pods.
What to do next
If you no longer want Turbonomic to manage resources through Operator Resource Mappings (ORM), you can remove the ORM from the cluster.