首页 > 解决方案 > Kubernetes 能否像计算场一样工作并为每个 pod 路由一个请求

问题描述

我已经对旧版桌面应用程序进行了 docker 化。这个应用程序从命令行界面进行资源密集型图形渲染。

我想在“计算农场”中将这种渲染作为服务提供,我想知道 Kubernetes 是否可以用于此目的。

如果是这样,我如何在 Kubernetes 中确保每个 pod 一次只服务一个请求(这个应用程序是资源密集型的,可能不是线程安全的)?我应该在容器中编写一个单线程包装器/调用器应用程序并因此序列化请求吗?那么 K8s 是否足够聪明,可以将后续请求路由到空闲的 pod,而不是让它们堆积在过载的 pod 上?

标签: kubernetes

解决方案


有趣的问题。

内置的默认服务对象以及 kube-proxy 确实将请求路由到不同的 pod,但仅以循环方式进行,不适合我们的用例。

您的用例需要在集群设置期间对 kube-proxy 设置进行更改。这种方法很乏味,并且需要您拥有自己的集群设置(云服务不支持)。如此处所述。

最好的办法是设置一个像 Istio 这样的服务网格,它提供了几乎不需要配置的功能以及许多其他有用的功能。

看看是否有帮助。


推荐阅读