Pod 副本上的负载平衡

时间:2021-07-27 05:51:40

标签: kubernetes devops azure-aks

我们有一个 AKS 集群,我们希望在我们的架构中实现以下两点:

  1. 我们有 pod 的副本,我们希望一个 pod 只处理 1 个请求。 基本上是一个 Pod - 一个请求设计。
  2. 当所有 Pod 都忙时,下一个请求不应该在 POD 级别排队,而是应该在 服务级别排队,一旦任何一个繁忙的 Pod 变成idle 或 available 则只应在空闲 Pod 上分派排队的请求。

如何实现以上目标?

1 个答案:

答案 0 :(得分:0)

通常,这可以通过创建按需创建 pod 的自定义代理来实现,但在实践中会非常困难并且性能会很差。 David Maze 在他的评论中很好地解释了这一点:

<块引用>

您需要编写一个可以访问 Kubernetes API 的自定义代理,该代理可以按需创建新的 Pod;这不是标准的 Kubernetes 设置。这也是一个非常重量级的设置(如果拉取和部署一个新的 pod 需要几十秒的时间,你可以很容易地达到 HTTP 请求超时)并且每个 Web 框架都支持每个进程处理多个请求。