我正在尝试为我的应用程序部署后端服务API(在python和flask环境中运行tensorflow模型,当然还有GPU),这需要可扩展,以便我可以同时说出1000个请求。
模型需要每个请求运行15秒,这相对较慢,并且我需要为每个请求满足firebaseapp的超时限制。问题是我想在google-kubernetes-engine中部署这个东西,但我不知道如何部署我的图像,以便每个pod(运行图像)只在一个gpu节点中运行(反之亦然)并且每个请求都定向到一个可用的pod,这意味着没有两个请求被定向到同一个pod。
我知道有一种叫做Daemonset https://cloud.google.com/kubernetes-engine/docs/concepts/daemonset但是我不确定这是否符合我的需要。另一个问题是,是否可以按请求(或通过pod可用性)扩展pod / gpu-nodes?例如,如果当前只有一个节点运行一个pod,则可以提供第一个传入请求,如果第二个请求进入,则需要生成第二个pod / gpu-node来提供请求。什么是交通指挥机制?是Ingress服务吗?如何检测流量引导机制中的pod可用性?总而言之,这里有三个问题:1。如何将每个请求定向到每个不同的pod? 2.如何在一个GPU节点中只运行一个pod? 3.如何缩放(Daemonset的一个单位可能?)并快速缩放以便每个请求可以在30秒内提供?