Skip to content

feat(vm): impl corefraction auto#2654

Closed
yaroslavborbat wants to merge 1 commit into
mainfrom
feat/vm/auto-corefraction
Closed

feat(vm): impl corefraction auto#2654
yaroslavborbat wants to merge 1 commit into
mainfrom
feat/vm/auto-corefraction

Conversation

@yaroslavborbat

@yaroslavborbat yaroslavborbat commented Jul 13, 2026

Copy link
Copy Markdown
Member

Description

Adds vertical CPU autoscaling for virtual machines. Setting spec.cpu.coreFraction: "auto" lets the VM automatically adjust its CPU share to real load: the fraction is raised when the VM is starved and lowered when it's idle, so users no longer have to size CPU by hand or over-provision to be safe.

Recommendations are produced by the stock VPA recommender, while the VM controller applies them in-place — the fraction changes without evicting the pod or restarting the VM. Autoscaling stays within the Burstable QoS range; opting back to a fixed 100% share is an explicit, restart-bearing action.

This is an EE feature, available only when both the VerticalVirtualMachineAutoscaler and HotplugCPUAndMemoryWithInPlaceResize feature gates are enabled.

Why do we need it, and what problem does it solve?

Picking the right coreFraction manually is guesswork: too low starves the VM, too high wastes cluster capacity. Automatic scaling keeps the CPU share matched to actual usage without user intervention and without VM downtime.

What is the expected result?

Enable both feature gates, then set spec.cpu.coreFraction: "auto" on a VM. Its CPU requests track the load — growing under pressure, shrinking when idle — with changes applied in-place. Setting an explicit percentage disables autoscaling for that VM.

Checklist

  • The code is covered by unit tests.
  • e2e tests passed.
  • Documentation updated according to the changes.
  • Changes were tested in the Kubernetes cluster manually.

Changelog entries

section: vm
type: feature
summary: "VirtualMachine CPU share can scale automatically with coreFraction: auto."

@yaroslavborbat
yaroslavborbat force-pushed the feat/vm/auto-corefraction branch 3 times, most recently from d619110 to ccaf3b8 Compare July 15, 2026 20:06
@yaroslavborbat yaroslavborbat added this to the v1.11.0 milestone Jul 16, 2026
@yaroslavborbat
yaroslavborbat force-pushed the feat/vm/auto-corefraction branch from af5a312 to d90c847 Compare July 16, 2026 06:12
@yaroslavborbat
yaroslavborbat marked this pull request as ready for review July 16, 2026 07:01
@yaroslavborbat
yaroslavborbat force-pushed the feat/vm/auto-corefraction branch from ad37f01 to b3399ce Compare July 16, 2026 07:19
@z9r5
z9r5 requested a review from MargaretKozlova July 16, 2026 07:22
Signed-off-by: Yaroslav Borbat <yaroslav.borbat@flant.com>
@yaroslavborbat
yaroslavborbat force-pushed the feat/vm/auto-corefraction branch from b3399ce to 63ba937 Compare July 16, 2026 07:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant