我们有一个AKS集群,我们希望在我们的架构中实现以下两点:
- 我们有pod的副本,我们希望只有一个请求由一个pod服务。基本上一个pod -一个请求设计。
- 当所有POD都忙时,下一个请求不应该在POD级别排队,而应该在服务级别排队一旦任何一个繁忙的pod变得空闲或可用,那么只有排队的请求应该在空闲的pod上调度。
如何实现以上目标?
一般来说,这可以通过创建一个定制代理来实现,该代理可以按需创建pod,但在实践中这将非常困难,而且性能会很差。David Maze在他的评论中对此做了很好的解释:
你需要写一个可以访问Kubernetes API的自定义代理,可以根据需要创建新的pod;这不是一个标准的Kubernetes设置。这也是一个非常重量级的设置(如果需要几十秒的时间来拉出和部署一个新的pod,那么很容易就会遇到HTTP请求超时),每个Web框架都支持每个进程处理多个请求。