Skip to content

docs: add VPA scaling recommendations and a wrt-vpa example - #634

Merged
jaypipes merged 5 commits into
temporalio:mainfrom
Sanil2108:docs/630-vpa-scaling-recommendations
Oct 10, 2026
Merged

jaypipes merged 5 commits into
temporalio:mainfrom
Sanil2108:docs/630-vpa-scaling-recommendations

Conversation

@Sanil2108

Copy link
Copy Markdown
Contributor

What was changed

  • docs/scaling-recommendations.md: new "Vertical scaling with VPA" section covering prerequisites, how a per-version VPA behaves, update modes for workers, the VPA updater's --min-replicas default (which skips versions running one pod), and which HPA and KEDA combinations are safe.
  • examples/wrt-vpa.yaml: one VPA per version with InPlaceOrRecreate, updatePolicy.minReplicas: 1 and bounds on the recommendation.
  • docs/worker-resource-templates.md: a link from the existing VPA example to the new section.

Why?

Follow-up to #622 and #623, which added spec.targetRef injection for VPA.

The helloworld demo sets no resource requests, so its pods are BestEffort and an in-place resize would fall back to an eviction. The example lists requests as a prerequisite for that reason. Happy to add requests to the demo in a follow-up if that's useful.

Checklist

  1. Closes [Docs] Document VerticalPodAutoscaler support #630

  2. How was this tested:

    • Ran examples/wrt-vpa.yaml through validateWorkerResourceTemplateSpec with VerticalPodAutoscaler in the allowed kinds: accepted. As controls, it is rejected without the allow-list entry and with a hardcoded targetRef.
    • Checked the WorkerResourceTemplate against its CRD schema, and the rendered VPA (with targetRef injected) against the VPA v1 CRD schema, including a check for unknown fields.
    • I did not run it end to end on a cluster.
  3. Any docs updates needed?
    This PR is docs only.

Picked this up per my comment on #630. Happy to close it if you already had something in progress.

Adds a VPA section to docs/scaling-recommendations.md: prerequisites, how a
per-version VPA behaves, update modes for workers, the updater's
--min-replicas default, and which HPA and KEDA combinations are safe. Adds
examples/wrt-vpa.yaml and links the new section from the VPA example in
docs/worker-resource-templates.md.

Closes temporalio#630
@Sanil2108
Sanil2108 requested review from a team, eniko-dif and jlegrone as code owners October 7, 2026 06:43
@CLAassistant

CLAassistant commented Oct 7, 2026 •

Copy link
Copy Markdown

CLA assistant check
All committers have signed the CLA.

@jaypipes jaypipes added this to the vNext milestone Oct 7, 2026
@jaypipes

jaypipes commented Oct 7, 2026

Copy link
Copy Markdown
Collaborator

@Sanil2108 please do sign the CLA :)

@jaypipes jaypipes left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Two relatively minor suggested changes, otherwise this is awesome, thank you @Sanil2108!

Comment thread docs/scaling-recommendations.md Outdated
Comment thread docs/scaling-recommendations.md Outdated
Comment thread docs/scaling-recommendations.md
@Sanil2108

Copy link
Copy Markdown
Contributor Author

@jaypipes addressed both of your comments, mind taking another look?

@jaypipes jaypipes left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Awesome, thank you @Sanil2108 :)

@jaypipes
jaypipes enabled auto-merge (squash) October 10, 2026 11:41
@jaypipes
jaypipes merged commit b338a47 into temporalio:main Oct 10, 2026
18 checks passed
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.

[Docs] Document VerticalPodAutoscaler support

4 participants