【发布时间】:2020-01-13 01:14:00
【问题描述】:
我在 Windows 上使用 minikube,只有一个节点“master”。
部署的 Spring Boot 应用程序具有 REST 端点,它提供了当前服务的客户端数量。当请求达到某个限制时,我想水平扩展或自动旋转 pod。
Lets say:
There is 1 pod in the cluster.
If the request limit reached 50 (for Pod 1), spin up a new pod.
If the request limit reached 50 for Pod 1 and Pod 2, spin up a new Pod (Pod 3).
我尝试研究如何实现这一点,但我无法弄清楚。 我所能找到的只是使用 HorizontalPodAutoscaler(HPA) 的 CPU 使用率来扩展。 获得有关如何使用 Kubernetes HPA 实现此目标的指导会很有帮助。
【问题讨论】:
-
通常自动缩放节点来自底层基础设施,如果使用 AWS,则自动缩放组,如果使用 Azure,则使用 Scaling Sets。如果要扩展 POD,则必须开始查看 Kubernetes 入口控制器,它们可以与入口负载均衡器一起确定是否启动新 Pod
-
@CallumLinington,水平 pod 自动缩放器正是用于扩展 pod。入口和节点自动缩放与它无关。
-
除了 HPA 仅用于 CPU 利用率 - 而不是 OP 要求的请求限制。并且看到负载均衡器正在跟踪连接,它们非常适合确定启动新节点的需求
-
应用程序已经跟踪了连接,并且有一个 REST api 当命中时给出了连接数。如果需要,我可以使用负载均衡器跟踪的连接计数。无论如何对我来说都很好,我的用例是在连接达到阈值限制时扩展 pod。
标签: kubernetes autoscaling minikube kubernetes-pod