Let the Operator adjust replicas
Configure the target workload, replica bounds, step limits, and cooldowns. Auto requires authorization at both module and global levels before the Operator applies valid advice.
Manage everything on the platform modules: the operator reads them and writes the replicas, and creates no resource of its own in the cluster. A target has exactly one replica owner.
One replica owner per target
Do not let the Operator, HPA, KEDA, or duplicate scalers write the same workload. Stop the previous controller and release ownership before reviewing the new controller in Observe.
Apply resource advice to new Pods
Admission reads the latest valid recommendation and adjusts CPU / memory requests and configured limits on new Pods. Unavailable advice should preserve original resources and allow deployment.
New recommendations do not immediately change running Pods. Apply settings through creation or rolling updates. Assess and authorize memory-limit reductions separately.
Review actual outcomes
Inspect scaling and admission details for advice, applied results, and pause or failure reasons. Check current and Ready replicas, workload demand, and resource use to distinguish a submitted change from ready capacity.
Did capacity arrive before demand?
Open Expansion timeliness from scale-up records to inspect timely rate, late-arrival P90, emergency share, peak-underestimation P90, horizon-to-lead ratio, and decision wait. Each measure includes sample counts and status. Insufficient samples remain pending; suitable settings alone do not establish successful scale-up outcomes.
Upward decisions are evaluated against subsequent demand and Ready replicas as timely, late, or demand not arriving. Evaluated readiness and lateness feed later lead times. This outcome assessment covers scale-ups rather than scale-downs.
Report actions after an outage
The Operator queues reports before sending and replays them in occurrence order after recovery. --report-spool-file persists them to a mounted file. Deployment manifests use emptyDir, surviving container restarts within the same Pod, not necessarily Pod replacement.
The queue holds 10,000 records; overflow drops the oldest and increments a counter. Explicitly rejected records are removed so they do not block later reports. This is bounded delivery storage, not indefinite audit retention.
Optional action columns include record_id, occurrence and reporting times, decision source, outage state, and Operator identity. The platform deduplicates by record ID and archives late reports by occurrence time.
Requests, limit ratios, and OOM floors
When configured, limit ratios apply to the final request: a 10 GiB memory request with a 1.2 ratio produces a 12 GiB limit. OOM uplift raises the request floor without repeatedly compounding the limit ratio.
Admission calls carry request_uid and operation for attribution and deduplication. Queries without a request UID still return advice but do not create admission records.