当我们在系统中运行导入时,我们遇到了问题。他有一个包含6个副本的pod,该pod调用由5个副本pod支持的服务。然而,我们的指标表明,在负载下,5个pod中只有一个获得了请求。我们使用ClusterIP服务来“路由”调用。
我们发现了this,更具体地说是this post,但目前还不清楚他报告的问题是否只针对长期存在的连接。
我们禁用了连接池,但在负载下我们仍然面临这种不平衡的行为。
我们已经没有选择了,所以这是我的问题:这是一个已知的行为(限制吗?)使用我们已有的k8s服务?在什么地方有记录吗?
PS:此服务只能从集群内部访问。PS2:服务定义
apiVersion: v1
kind: Service
metadata:
creationTimestamp: "2019-05-16T16:29:46Z"
name: my-service
namespace: my-ns
.....
spec:
clusterIP: <MyIp>
ports:
- port: 8080
protocol: TCP
targetPort: 8080
selector:
app: <my-selector>
sessionAffinity: None
type: ClusterIP
status:
loadBalancer: {}发布于 2020-05-14 22:57:33
我找到了答案。我部署了一个应用程序,该应用程序将通过服务调用端点,并将返回应答的节点。我注意到,在大约30秒的时间范围内,只有相同的节点会应答,然后它会切换到另一个节点以获得另一个时间范围,然后再返回。这看起来很奇怪,但似乎是服务负载平衡的行为。在一天结束的时候,如果你有一个一致的请求量,你就会有一个平衡的负载。我们的请求配置文件是在短时间内“突发”请求,所以这就是我们得到不平衡负载的原因。
https://stackoverflow.com/questions/61665267
复制相似问题