weaveworks / service

☁️ Images for Weave Cloud (R) (TM) (C) ☁️
https://cloud.weave.works
2 stars 2 forks source link

GitOps vertical pod autoscaler #2292

Closed awh closed 2 years ago

awh commented 6 years ago

@bboreham and I were just discussing maintenance of the resource requests on the deployment manifests underpinning Weave Cloud. In the past this has been done by Bryan with pencil and paper, and more recently using information directly from the dashboard service, but ideally we would have an automated solution. Bryan pointed to the vertical pod autoscaler project, but remarked that it does not operate according to GitOps principles, so we wondered if we could make something that fits into the same model Flux uses for automatic updates: a new component that watches actual usage, and then commits resource request updates to the manifests based on configurable policy annotations.

Example policies might include:

WC UI features might include:

stefanprodan commented 6 years ago

There is a proposal to allow VPA to make pod resource updates without restarts https://docs.google.com/document/d/18K-bl1EVsmJ04xeRq9o_vfY2GDgek6B6wmLjXw-kos4/edit?ts=5b96bf40

squaremo commented 6 years ago

I have thought about this before in the context of horizontal pod autoscaler. I think what is needed is a slightly different (but not incompatible) mode of operation to flux.

Rather than recreating all the mechanisms of the HorizontalPodAutoscaler, or VerticalPodAutoscaler, and whatever else comes along, it might be better to let them do their thing, but make sure the cluster state can still be recovered from git by observing the given values and committing changes.

So that it doesn't flap, or otherwise constantly commit needless changes, we'd need to transform the signal into something stepwise. The idea here would be to give thresholds for commits, like "write a commit when the value has increased by 10%, or decreased by 20%".

I recommend giving this a read: https://medium.com/@mt165/latching-mutations-with-gitops-92155e84a404

ngehani commented 6 years ago

May want to compare it to these people - http://www.magalix.com/

squaremo commented 6 years ago

http://www.magalix.com/

Weave Cloud has nowhere near enough lightning coming out of it.

jml commented 6 years ago

Relates to #1937