Estimate Kubernetes pods resource specification in an automated way

34 Views Asked by At

Our Developers are developing springboot java application and which are deploying to AKS cluster. We have Helm and Azure pipelines to deploy these apps to the AKS cluster dynamically and the values for the Pod resource speicification are defined in Variablegroups of the ADO pipelines and.

But we are facing some difficlties to estimate the required resource specification for their each apps,because each apps has different JVM settings and startup behaviour. Since we dont have a proper mechanisam inplace to define the Resource Request and Limit (Cpu and Mem respectively), our clutsers are over committed by the mis usage of these values in ADO pipelines.

So we are trying to introduce some automated mechanism, where a developer can estimate their required memory& cpu request and limit values by passing their JVM arguments or some specific things to be considered for springboot application, then these estimated values can be used in the corresponding Variables groups. below are the some components which are used in jvmSetings.

So is this possible to achieve in an automated way ?

Below are the some of the jvmSettings parameters used by the developers

-Xmx650m 
-XX:MaxGCPauseMillis=100
-XX:MetaspaceSize=150m
-XX:MaxMetaspaceSize=150m 
-XX:MaxMetaspaceFreeRatio=100
-XX:CompressedClassSpaceSize=25m
-XX:InitialCodeCacheSize=100m
-XX:ReservedCodeCacheSize=100m
-XX:MaxDirectMemorySize=100m
-XX:+DisableExplicitGC
0

There are 0 best solutions below