【问题标题】:Horizontal Pod Autoscalar in Spring boot ApplicationSpring Boot 应用程序中的 Horizo​​ntal Pod Autoscaler
【发布时间】:2020-07-23 18:46:33
【问题描述】:

我有一个 Spring Boot 应用程序,并为此创建了一个部署 yaml 文件。 现在我已经为它分配了资源:

resources:
            requests:
              memory: "200Mi"
              cpu: "250m"
            limits:
              memory: "655Mi"
              cpu: "500m"

我已经创建了我的自动标量:

kubectl autoscale deployment demo-app --cpu-percent=50 --min=1 --max=10

现在我的问题是当我的应用程序启动时,pod 的 CPU 利用率几乎达到 100%(在启动期间仅 5-10 分钟然后恢复正常),因此我的自动标量创建了一个新的 pod。

但我想要的是它应该在 pod 启动后等待一个特定的时间段(以便完成就绪探测),然后只在需要时创建新的 pod

【问题讨论】:

    标签: kubernetes


    【解决方案1】:

    有一个标志--horizontal-pod-autoscaler-cpu-initialization-period 还可以引入就绪延迟:--horizontal-pod-autoscaler-initial-readiness-delay,您可以使用度量循环时间,--horizontal-pod-autoscaler-sync-period 来计算总延迟。

    这些标志可以帮助您设置值,从而避免在应用初始化期间出现自动缩放问题。

    阅读here

    【讨论】:

      【解决方案2】:

      有一个全局标志--horizontal-pod-autoscaler-cpu-initialization-period,这意味着Pod启动后可能会跳过CPU样本的时间。默认值为5分钟。您需要在kube 控制器管理器

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-03-26
        • 2021-06-01
        • 1970-01-01
        • 2019-06-28
        • 2018-10-09
        • 1970-01-01
        • 2019-03-31
        • 2019-08-22
        相关资源
        最近更新 更多