我有一个单节点迷你库集群,其中 5个吊舱具有相同的Docker映像。我想同时向此节点发出5个或更多请求,并希望将请求分配到各个容器中。但是,当我发出的请求等于或大于节点中的容器时,某些请求将失败( 500内部服务器错误)。我确认请求没有通过他们的日志到达Pod,所以我认为该节点无法同时处理那么多请求。
有没有一种方法可以向节点发出并行请求,并在没有可用容器的情况下将其正确分配到各个容器中并进行缓冲。
使用过this教程来创建我的集群
使用this使用以下cmd进行缩放
kubectl scale deployment --replicas=5
我正在使用Python请求库来请求节点ip。对于并行请求,我使用具有5个进程的多处理池
def fn_to_req_node(string):
requests.post(http://nodeip:nodeport, data=json.dumps(string), headers=headers)
pool= Pool(processes=5)
pool.apply_async(fn_to_req_node, (string1))
pool.apply_async(fn_to_req_node, (string2))
pool.apply_async(fn_to_req_node, (string3))
pool.apply_async(fn_to_req_node, (string4))
pool.apply_async(fn_to_req_node, (string5))
更新:在带有外部负载均衡器的GCE上进行了尝试,但存在相同的问题-某些请求出现500个内部服务器错误。
答案 0 :(得分:0)
您如何公开运行在Pod上的服务器,是否正在使用负载平衡器/服务?
如果使用负载平衡器公开应用程序,则负载平衡器将负责在pod之间分配请求。