function-mesh
function-mesh copied to clipboard
Support vpa
Fixes #462
Motivation
Explain here the context, and why you're making that change. What is the problem you're trying to solve.
Modifications
Support VPA(vertical pod autoscaler)
Verifying this change
-
[x] Make sure that the change passes the CI checks.
-
[x] This change added tests and can be verified as follows:
- *Added integration tests for function with VPA enabled
Documentation
Check the box below.
Need to update docs?
-
[x]
doc-required
(If you need help on updating docs, create a doc issue)
-
[ ]
no-need-doc
(Please explain why)
-
[ ]
doc
(If this PR contains doc changes)
for different vendors:
-
openshift:
needs to be installed manually: https://docs.openshift.com/container-platform/4.11/nodes/pods/nodes-pods-vertical-autoscaler.html#nodes-pods-vertical-autoscaler-install_nodes-pods-vertical-autoscaler
-
GKE:
needs to be enabled manually: https://cloud.google.com/kubernetes-engine/docs/concepts/verticalpodautoscaler
-
AWS:
needs to install VPA operators manually: https://docs.aws.amazon.com/eks/latest/userguide/vertical-pod-autoscaler.html
-
Azure:
needs to enable vpa when creating cluster: https://learn.microsoft.com/en-us/azure/aks/vertical-pod-autoscaler#deploy-upgrade-or-disable-vpa-on-a-cluster
for all of these vendors, I think we can use this pr's helm dependencies to install VPA operators, it should work as expected, but I didn't test that
and about the JVM limits, there is an issue talking about it: https://github.com/kubernetes/autoscaler/issues/5029
it looks like someone is using VPA on jvm pod for memory requests spec(not including limit)
ping @fantapsody @nlu90 please help to review this when you have time, thanks.
@jiangpengcheng There are conflicts that need to be resolved
already resolved, it's ready to review, thanks