Getting started with resource optimization for OpenShift
Learn about resource optimization for OpenShift
Abstract
Preface
As part of cost management, resource optimization for OpenShift assesses and monitors your usage across clusters to optimize your Red Hat OpenShift resources.
Chapter 1. What is resource optimization for OpenShift?
Resource optimization for OpenShift uses current and historical data from OpenShift to recommend actions to take:
- Shows metrics for CPU and memory usage and analyzes them
- Compares defined container requests and limits
- Analyzes the historical usage patterns to return optimization recommendations
- Reports usage of applications and deployments
- Optimizes the size of your pods
- Manages costs
The data that resource optimization for OpenShift provides can improve your resource allocation and help you save money on your OpenShift cluster deployment.
Chapter 2. Prerequisites
To use resource optimization for OpenShift, you must have completed the following steps:
- You installed the Cost Management Metrics Operator version 3.3.0 or newer.
- You added your OpenShift integration to cost management. For more information, see Integrating OpenShift Container Platform data into cost management.
Chapter 3. Resource optimization for OpenShift optimization reports
Access resource optimization for OpenShift from the Red Hat Hybrid Cloud Console to see detailed recommendations for how to optimize your Red Hat OpenShift clusters.
3.1. Enabling optimization
To receive resource optimization recommendations for your namespaces, you must first enable each namespace. To enable a namespace, label it with insights_cost_management_optimizations='true'
.
In the CLI, run: oc label namespace NAMESPACE insights_cost_management_optimizations="true" --overwrite=true
3.2. Viewing optimization reports
Prerequisites
- You added an OpenShift integration to Red Hat Hybrid Cloud Console.
- You uploaded at least 24 hours of data from the operator.
- You logged in to the Red Hat Hybrid Cloud Console.
Procedure
- In cost management, click the tab Optimizations.
- Search for an optimization or use the filter. Click the link to the optimization that you selected.
- View details about the recommendation and toggle between Cost optimizations and Performance optimizations. For more information, see Optimizing for cost or for performance.
3.3. Optimizing for cost or for performance
After you select an optimization, you can toggle between two tabs called Cost optimizations and Performance optimizations. Optimizing for cost uses less resources and is useful when you are performing tests where there is no impact to users. Optimizing for performance provides all the resources possible and is helpful for apps running in a production cluster.
In Cost optimizations, recommendations get generated when CPU usage is at or above the 60th percentile and memory usage is at the 100th percentile. In Performance optimizations, recommendations get generated when CPU usage is at or above the 98th percentile and when memory usage is at the 100th percentile.
3.4. Understanding box plots
On the Optimizations page, there are two box plots for your Current CPU utilization and your Current memory utilization. These visualizations can help you understand resource distribution and identify outliers in your data. You can export the data in CSV and JSON format.
The box plots display the following data points in millicpu (m) for CPU and in mebibytes (Mi) for memory:
- Minimum
- Maximum
- Median
- First quartile (Q1): value where 25% of data points are when they are arranged in increasing order
- Third quartile (Q3): value where 75% of data points are when they are arranged in increasing order
- Recommended limit
- Recommended request
The data points are based on the time period that you selected:
- 1 day = 4 data points
- 7 days = 7 data points
- 14 days = 14 data points