Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add information about usage of batch processing for check capacity in FAQ #7282

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 32 additions & 0 deletions cluster-autoscaler/FAQ.md
Original file line number Diff line number Diff line change
Expand Up @@ -645,6 +645,38 @@ When using this class, Cluster Autoscaler performs following actions:
* Adds a Provisioned=True condition to the ProvReq if the node group scale up request is successful.
* Adds a BookingExpired=True condition when the 10-minute reservation period expires.

### How can I tune Cluster Autoscaler's performance for processing ProvisioningRequests?

Cluster Autoscaler can be run in batch processing mode for CheckCapacity
ProvisioningRequests. In this mode, Cluster Autoscaler processes multiple
CheckCapacity ProvisioningRequests in a single iteration. This mode is useful for
scenarios where a large number of CheckCapacity ProvisioningRequests
need to be processed.

However, enabling batch processing for CheckCapacity ProvisioningRequests can adversely
affect the performance of processing other types of ProvisioningRequests and incoming pods
since iterations where CheckCapacity ProvisioningRequests are processed will take longer
and scale-ups for other types of ProvisioningRequests and incoming pods will not be processed
during that time.

#### Enabling Batch Processing

1. **Cluster Autoscaler Version**: Ensure you are using Cluster Autoscaler version 1.31.1 or later.

2. **Feature Flag**: Enable batch processing mode by setting the following flag in your
Cluster Autoscaler configuration:
`--check-capacity-batch-processing=true`.

3. **Batch Size**: Set the maximum number of CheckCapacity ProvisioningRequests
to process in a single iteration by setting the following flag in your Cluster
Autoscaler configuration:
`--max-batch-size=<batch-size>`. The default value is 10.

4. **Batch Timebox**: Set the maximum time in seconds that Cluster Autoscaler will
spend processing CheckCapacity ProvisioningRequests in a single iteration by
setting the following flag in your Cluster Autoscaler configuration:
`--batch-timebox=<timebox>`. The default value is 5m.

****************

# Internals
Expand Down
Loading