小编And*_*dré的帖子

Google App Engine - 始终运行实例

我希望我的App Engine始终运行一个实例.我想避免在没有交通的15分钟后第一次请求需要20秒才能完成.有一个名为"Always on"的功能,提到了几个地方来解决这个问题,但我无法在App Engine上找到它.

我试图将min-idle-instances设置为1,但是在没有流量15分钟后它仍然会启动一个新实例.有什么建议?

java google-app-engine

8
推荐指数
1
解决办法
1969
查看次数

GKE:如何处理 CPU 密集型初始化的部署?

我有一个 GKE 集群(n1-standard-1,主版本 1.13.6-gke.13),有 3 个节点,我有 7 个部署,每个节点都运行一个 Spring Boot 应用程序。为每个部署创建了一个默认的 Horizo​​ntal Pod Autoscaler,目标 CPU 为 80%,最少 1 / 最多 5 个副本。

在正常操作期间,每个部署通常有 1 个 Pod,CPU 使用率为 1-5%。但是当应用程序启动时,例如在执行滚动更新后,CPU 使用率会飙升,HPA 会扩展到报告 CPU 使用率达到 500% 或更多的最大副本数。

当多个部署同时启动时,例如集群升级后,经常会导致各种Pod因为CPU不足而无法调度,一些Pod处于“Preemting”状态。

我已将 HPA 更改为最多 2 个副本,因为目前已经足够了。但是我将来会添加更多部署,知道如何正确处理这个会很好。我对 Kubernetes 和 GCP 很陌生,所以我不确定如何解决这个问题。

这是今天早些时候集群升级后其中一个容器的 CPU 图表:

CPU使用率

一切都在默认命名空间中运行,我没有使用 100m 默认 CPU 请求触及默认 LimitRange。我应该修改它并设置限制吗?鉴于初始化需要资源,适当的限制是什么?还是我需要升级更多CPU的机器类型?

autoscaling spring-boot kubernetes google-kubernetes-engine

5
推荐指数
1
解决办法
432
查看次数