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

Merged
merged 1 commit into from
Nov 8, 2024
Merged
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 @@ -707,6 +707,38 @@ spec:
args: ["sleep"]
```

### 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.32.0 or later.

2. **Feature Flag**: Batch processing is disabled by default, it can be enabled by
setting the following flag in your Cluster Autoscaler configuration:
`--check-capacity-batch-processing=true`.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Disabled by default?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, batch processing is disabled by default. Specified in the file.


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 10s.

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

# Internals
Expand Down
Loading