Repository navigation
docs(kruiseagents): add PoolAutoscaler user manual - #401
Merged
furykerry merged 5 commits intoSep 10, 2026
Merged
Conversation
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
Welcome @ywExcellent! It looks like this is your first PR to openkruise/openkruise.io 🎉 |
Add a bilingual (EN/ZH) user manual for PoolAutoscaler covering: - Background, use cases, and prerequisites - Step-by-step guide: create the warm pool SandboxSet, configure the PoolAutoscaler capacity policy, run business traffic to verify scaling (with an embedded single-file verification script), observe scaling and startup protection, and optionally remove the policy - Capacity policy watermarks and scale-down reachability constraints (including the 100% target pitfall) - Parameter configuration constraints from webhook validation - Exception scenarios: scale-up rate limiting (ScalingLimited) trigger and recovery - CRD field reference Both language versions are added in the same change and the page is registered in sidebars-kruiseagents.js after Warm Pool Management. Signed-off-by: 少师 <zengyuwei.zyw@alibaba-inc.com>
ywExcellent
force-pushed
the
docs/poolautoscaler-user-manual
branch
from
September 7, 2026 14:34
30ca89e to
c1024fb
Compare
furykerry
reviewed
Sep 10, 2026
| The SandboxSet's `spec.scaleStrategy.maxUnavailable` doubles as the startup budget; when unset it defaults to the current replica count (equivalent to 100%, i.e. no cap on concurrent scale-up). Note this is a different field from `updateStrategy.maxUnavailable` (for rolling updates, default 20%). Sandboxes in the creating phase occupy the budget through two counters: | ||
|
|
||
| - **Failed**: Ready condition is `False` with reason `StartContainerFailed` or `PodCreateFailed` — a definitive startup failure (container startup failure, image/config errors, create API failures, etc.). | ||
| - **TimedOut**: stuck in Creating/ResourcePending longer than 50 seconds (the built-in pending timeout) without becoming Ready. |
|
|
||
| - **Mostly TimedOut**: the underlying creation speed cannot keep up with the scaling rhythm. Lower the SandboxSet's `scaleStrategy.maxUnavailable` to reduce the per-batch creation volume, or contact the cluster administrator to evaluate underlying supply capacity. | ||
|
|
||
| ## Capacity Policy Parameters and Scale-Down Reachability |
Member
There was a problem hiding this comment.
consider rephrase the title as Capacity Policy Parameters Tuning Guide
- Add Unschedulable to the Failed startup-blocker reasons (schedule failures) - Add apiVersion/kind to the ScalingLimited condition YAML example - Rename 'Capacity Policy Parameters and Scale-Down Reachability' to 'Capacity Policy Parameters Tuning Guide' and update anchor references - Document the startup-budget role of scaleStrategy.maxUnavailable in warmpool-management.md with a link to the PoolAutoscaler manual - Apply the same changes to the Simplified Chinese mirror Signed-off-by: 少师 <zengyuwei.zyw@alibaba-inc.com>
…up-budget semantics agents #910 changed scaleStrategy.maxUnavailable from a general unavailable-replica budget to a startup-failure budget: healthy Creating sandboxes no longer consume the budget, and batches no longer wait for the previous batch to become available. - Describe the field as a per-batch creation cap and the startup budget, instead of a cap on concurrently creating sandboxes - Fix the batching tip: the next batch is issued once the controller observes the previous batch, not after it becomes available - Clarify that only definitively failing sandboxes (failed reasons or pending timeout) occupy the budget; healthy creating ones do not - Fix the REPLICAS column description: claimed sandboxes are not counted (creating + available only) - Add the UPDATEDREPLICAS/UPDATEDAVAILABLEREPLICAS columns to the kubectl get sbs example to match the CRD printer columns - Apply the same changes to the Simplified Chinese mirror Signed-off-by: 少师 <zengyuwei.zyw@alibaba-inc.com>
Keep the warm-pool example platform-neutral and clarify its English guidance. Signed-off-by: 守辰 <shouchen.zz@alibaba-inc.com>
Integrate reviewed upstream documentation changes with the platform-neutral PoolAutoscaler example. Signed-off-by: 守辰 <shouchen.zz@alibaba-inc.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Ⅰ. Describe what this PR does
Adds a bilingual (EN/ZH) user manual for PoolAutoscaler, the warm-pool autoscaling capability of Kruise Agents, covering:
minReplicas+1upper-watermark rule, and whytargetAvailable: "100%"makes an idle pool never shrinkscaleStrategy.maxUnavailable), Failed/TimedOut counters, ScalingLimited condition, automatic recovery, and troubleshooting commandsThe page is registered in
sidebars-kruiseagents.jsunder User Manuals, right after Warm Pool Management, which it builds upon.Ⅱ. Does this pull request fix one issue?
NONE
Ⅲ. Describe how to verify it
sed, passespython3 -m py_compile;--helpand the missing-E2B_API_KEYerror path verified.node -e "require('./sidebars-kruiseagents.js')"passes.pkg/webhook/poolautoscaler/validatingin openkruise/agents.Ⅳ. Special notes for reviews