Kubernetes 称重吊舱运行时,负载平衡无法正常工作 发生了什么:
当我在nginx上执行压力测试时,nginx部署已经扩展,但是新创建的nginx pod没有任何负载。如果我停止压力测试两分钟,所有的吊舱都会正常工作。如下图所示: 您期望发生的事情: 一旦pod创建并通过hpa运行,它就可以正常参与负载平衡 如何复制(尽可能少且精确): 创建bitnami/nginx使用头盔:Kubernetes 称重吊舱运行时,负载平衡无法正常工作 发生了什么:,kubernetes,Kubernetes,当我在nginx上执行压力测试时,nginx部署已经扩展,但是新创建的nginx pod没有任何负载。如果我停止压力测试两分钟,所有的吊舱都会正常工作。如下图所示: 您期望发生的事情: 一旦pod创建并通过hpa运行,它就可以正常参与负载平衡 如何复制(尽可能少且精确): 创建bitnami/nginx使用头盔: # helm get values nginx -ntest-p1 USER-SUPPLIED VALUES: autoscaling: enabled: false max
# helm get values nginx -ntest-p1
USER-SUPPLIED VALUES:
autoscaling:
enabled: false
maxReplicas: 40
minReplicas: 1
targetCPU: 30
targetMemory: 30
resources:
limits:
cpu: 200m
memory: 128Mi
requests:
cpu: 200m
memory: 128Mi
还有什么我们需要知道的吗
我的测试工具:http\u加载
如果我在scaledown期间启动压力测试,它会告诉我没有通往主机错误的路线
环境:
Kubernetes版本(使用kubectl版本):v1.18.8-aliyun.1
云提供商或硬件配置:阿里云
OS (e.g: cat /etc/os-release): Alibaba Cloud Linux (Aliyun Linux) 2.1903 LTS (Hunting Beagle)
Kernel (e.g. uname -a): Linux 4.19.91-23.al7.x86_64 #1 SMP Tue Mar 23 18:02:34 CST 2021 x86_64 x86_64 x86_64 GNU/Linux
Network plugin and version (if this is a network-related bug): flannel:v0.11.0.2-g6e46593e-aliyun
其他:
kube代理模式为ipvs,其他配置为默认配置
github上也有同样的问题:我不熟悉http\u加载,而且文档非常稀少。 根据您的观察,我假设http_load使用http keepalive,因此重用TCP连接。Kubernetes在TCP级别进行负载平衡,因此只有新的连接才能到达添加的副本
您可以将nginx配置为不提供keepalive,这将降低常规用例的效率,也可以在放大后启动多个http\u加载实例以观察效果。谢谢您的回答。我试过你说的方法,但得到了同样的结果。我在这里发现了与我相同的问题:这确实是IPV引起的一个不同问题,而不是像人们怀疑的那样保持生命。