Skip to content

Chart: CPU request for the gateway istio-proxy sidecar - #867

Closed
lorenzo-norcini-scale wants to merge 1 commit into
mainfrom
lorenzonorcini/gateway-sidecar-cpu-request
Closed

Chart: CPU request for the gateway istio-proxy sidecar#867
lorenzo-norcini-scale wants to merge 1 commit into
mainfrom
lorenzonorcini/gateway-sidecar-cpu-request

Conversation

@lorenzo-norcini-scale

@lorenzo-norcini-scale lorenzo-norcini-scale commented Aug 14, 2026

Copy link
Copy Markdown
Collaborator

What

Adds sidecar.istio.io/proxyCPU: 250m (values-configurable via gateway.sidecarCPURequest, no CPU limit) to the gateway pod annotations, alongside the existing memory-only annotations.

Why

During the 2026-08-13 incident recovery, scale-out landed new gateway pods on nodes at ~99% CPU request capacity. With no CPU request, the sidecars were starved during bootstrap, postStart hooks hung up to 14 minutes, and fewer than half of the new pods ever became Ready, so the scale-out reduced effective capacity instead of adding it. A CPU request gives the sidecar a scheduling guarantee; no limit is set to avoid throttling proxy tail latency.

🤖 Generated with Claude Code

Greptile Summary

Adds a configurable CPU request for the gateway’s Istio proxy sidecar while intentionally leaving its CPU limit unset.

  • Adds the sidecar.istio.io/proxyCPU gateway pod annotation.
  • Introduces gateway.sidecarCPURequest with a default value of 250m.

Confidence Score: 5/5

The PR appears safe to merge, with no concrete changed-code defects identified.

The new Helm value is safely defaulted when existing overlays omit the gateway mapping, and the resulting annotation uses the established gateway sidecar annotation pattern with a valid CPU quantity.

Important Files Changed

Filename Overview
charts/model-engine/templates/gateway_deployment.yaml Adds a correctly quoted, defaulted Istio proxy CPU-request annotation alongside the existing sidecar memory annotations.
charts/model-engine/values.yaml Adds the gateway sidecar CPU-request configuration with a valid Kubernetes quantity as its default.

Reviews (1): Last reviewed commit: "fix(chart): add istio-proxy CPU request ..." | Re-trigger Greptile

Context used:

The sidecar had memory annotations only. On nodes at full CPU request
capacity an unrequested sidecar is starved during bootstrap, its postStart
hook hangs, and new gateway pods never become Ready, which turns scale-out
into negative capacity. Request 250m by default (configurable, no limit).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@lorenzo-norcini-scale

Copy link
Copy Markdown
Collaborator Author

Superseded by the consolidated incident-hardening PR: see the PR referencing this one.

@lorenzo-norcini-scale

Copy link
Copy Markdown
Collaborator Author

Superseded by #868.

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