rail-knative/substrate/v1.22.0/hpa-caps.patch.yaml
tegwick 76cb9c7ad9 RAIL-KNATIVE-WP-0003: cap Knative HPAs for one node, trim substrate CPU requests to 60m
Declare maxReplicas activator 20->3, webhook 5->2, 3scale-kourier-gateway
10->3 and 10m CPU requests for all six substrate containers (220m->60m),
per the resource-control node budget of 2026-10-21 (CUST-WP-0071,
RESOURCE-WP-0008). Read-only BEFORE evidence under
docs/evidence/2026-10-21-hpa-caps-before/. Not applied; railiance-cluster
overlays must follow (handoff in T02).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 8340@bnt-lap001
Assistant-Session: 2e192b3d-b3e8-4403-94d4-d55a2c8b476c
2026-10-21 08:40:35 +02:00

37 lines
1.2 KiB
YAML

# Declared HPA ceilings for the Knative Serving + Kourier v1.22.0 substrate on a
# single node (railiance01). Strategic-merge patches over the upstream HPAs in
# serving-core.yaml and kourier.yaml; only maxReplicas changes. minReplicas (1)
# and the CPU target (100% of request) stay upstream.
# The HPAs scale on percent of the CPU request, so after the 10m request trim
# (cpu-requests.patch.yaml) the same load reads ~5x higher. These caps bound the
# worst-case scale-out on one node to 3+2+3 pods instead of 20+5+10.
# RAIL-KNATIVE-WP-0003; evidence: resource-control
# docs/evidence/2026-10-21-node-allocation-review.md ("Knative HPA scale-out
# headroom" 1520m -> 230m).
---
# upstream v1.22.0: minReplicas 1, maxReplicas 20
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
name: activator
namespace: knative-serving
spec:
maxReplicas: 3
---
# upstream v1.22.0: minReplicas 1, maxReplicas 5
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
name: webhook
namespace: knative-serving
spec:
maxReplicas: 2
---
# upstream v1.22.0: minReplicas 1, maxReplicas 10
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
name: 3scale-kourier-gateway
namespace: kourier-system
spec:
maxReplicas: 3