我们在openshift环境中具有以下设置:
名称空间B中的应用程序A,该应用程序A通过路由和有关负载平衡的以下配置公开:
haproxy.router.openshift.io/balance: roundrobin
haproxy.router.openshift.io/disable_cookies: 'True'
名称空间D(相同群集)中的应用程序C,由应用程序A通过(内部)服务调用。
当前,我们正在为应用程序A的Pod体验良好的负载平衡,这意味着Pod具有大致相同的CPU /内存使用量和请求/秒。
但是,通过服务调用的应用程序C以每秒1:2的比例显示(例如,对于两个Pod)平均请求/秒。我能找到的文档中的唯一信息是,在正常情况下,kubernetes应该对这种内部服务调用进行负载平衡。
sessionAffinity: None
也已设置。
我们正在使用Openshift v3.11.161 (Kubernetes v1.11)
。有什么我不知道的吗?
编辑:服务对象:
apiVersion: v1
kind: Service
metadata:
annotations:
kubectl.kubernetes.io/last-applied-configuration: >
{"apiVersion":"v1","kind":"Service","metadata":{"annotations":{},"labels":{"app":"test","template":"test-template"},"name":"test-service","namespace":"namespace"},"spec":{"ports":[{"name":"8080-tcp","port":8080,"protocol":"TCP","targetPort":8080}],"selector":{"deploymentconfig":"test-dc"},"sessionAffinity":"None"}}
creationTimestamp: 'timestamp'
labels:
app: test
template: test-template
name:test-service
namespace: namespace
resourceVersion: '73875211'
selfLink: /test/test
uid: uid
spec:
clusterIP: x.y.z
ports:
- name: 8080-tcp
port: 8080
protocol: TCP
targetPort: 8080
selector:
deploymentconfig: test
sessionAffinity: None
type: ClusterIP
status:
loadBalancer: {}
亲切的问候