doc: add an initial compute autoscaling RFC - #197
Conversation
|
@savme what's it look like to leverage the HPA controller? We would just need to run a small prometheus deployment in the cluster for instance metrics? |
|
@scotwells assuming we'd run stock HPA at the edge, I think Prometheus would only be one piece. We'd also need to:
|
|
@savme nice! That seems like a pretty clean path. Thoughts on trying that before we reach to re-implementing the capabilities HPA gives us? |
|
@scotwells good call! The RFC is close enough to HPA, so this is definitely worth prototyping first. I think most of the timing defaults that may not work well for us are probably tunable anyway. I'll try an HPA-based approach so we can see what the integration looks like and whether we're happy with the scaling latency/behavior. I'll update the doc based on what we find |
|
Linking related work here: datum-cloud/unikraft-provider#54 |
Proposes adding load-driven horizontal autoscaling for Compute workloads.
The autoscaler would read CPU/memory usage, compare it to the workload's configured targets, and update the desired replica target through the
WorkloadDeploymentscale subresource. It follows Kubernetes HPA's basic ratio formula, but uses faster scale-up and shorter scale-down smoothing because Compute instances start in milliseconds.Scaling decisions happen per deployment/location. The autoscaler only sets the desired target; existing instance management policy still controls how instances are created or deleted.
Scale-to-zero, wake-on-traffic, and the concrete metrics source integration are left for separate work.
Related to datum-cloud/enhancements#799