0
votes

I need to run a burstable workload on Kubernetes which is really difficult to estimate resources and limits for. I'm currently only using Horizontal Pod Autoscaler so I have the number of replicas increased according to the increasing demand for my hourly scheduled jobs. I also currently have set the memory requests and limits to be open, and the autoscaling is only CPU based. The problem is that leaving the memory limit open for pods leads to high pod eviction rates. I wonder if I can use Vertical Pod Autoscaler to recommend the pods' resource allocation and keep the Horizontal Pod Autoscaler object created both running simultaneously. The only reference I found on the documentation says that there is an object called Multidimensional Pod autoscaling, but it is only available for version 1.19+.

1
Please provide more information about your environment? Which cloud provider are you using? Estimated number of pods (before and after HPA execution) and resources (started values and end values based on VPA). Also depends on which metrics you want to autoscale them? If you would use the same metrics, there would be a conflict, but if you would choose 2 different metrics for HPA and VPA it might be useful. Your scenario how it would work would help.PjoterS

1 Answers

1
votes

Well, Multidimensional Pod Autoscaling seems to be only a GKE (preview) feature at this moment. When you like to use VPA and HPA together, you can only do this with HPA and custom metrics as it states in the docs:

Known limitations
...

  • Vertical Pod Autoscaler should not be used with the Horizontal Pod Autoscaler (HPA) on CPU or memory at this moment. However, you can use VPA with HPA on custom and external metrics.
    ...