以自动化方式估计 Kubernetes Pod 资源规格

问题描述 投票:0回答:0

我们的开发人员正在开发 springboot java 应用程序,并将其部署到 AKS 集群。我们使用 Helm 和 Azure 管道将这些应用程序动态部署到 AKS 集群,并且 Pod 资源规范的值在 ADO 管道的变量组中定义。

但是我们在估计每个应用程序所需的资源规范时面临一些困难,因为每个应用程序都有不同的 JVM 设置和启动行为。由于我们没有适当的机制来定义资源请求和限制(分别为 Cpu 和 Mem),因此我们的混乱会因 ADO 管道中这些值的错误使用而过度使用。

因此,我们试图引入一些自动化机制,开发人员可以通过传递 JVM 参数或 springboot 应用程序需要考虑的一些特定事物来估计所需的内存和 cpu 请求和限制值,然后这些估计值可以在相应的变量组中使用。下面是 jvmSetings 中使用的一些组件。

那么这可以通过自动化的方式实现吗?

以下是开发者使用的一些jvmSettings参数

-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
spring-boot kubernetes automation jvm jvm-arguments
© www.soinside.com 2019 - 2024. All rights reserved.