-
Notifications
You must be signed in to change notification settings - Fork 41.3k
Description
What happened:
Service A
with clusterIP 169.169.14.147
and a domain k8s.dev.example.com
, the domain resolve to ingress-nginx. Anothor service B
will request A
, when use domain it works fine. I think using clusterIP directly will get better performance because it saves some time for dns resolve and ingress-nginx proxy, so I change domain to clusterIP. But the result was not expected, it got worse, very low throughput and high latency.
What you expected to happen:
On the above situation, clusterIP should have better performance than ingress-nginx.
How to reproduce it (as minimally and precisely as possible):
ipvs
mode, do test with ab
# clusterIP
ab -c100 -t300 -n20000000 -r http://169.169.14.147/
# domain resolve to ingress-nginx
ab -c100 -t300 -n20000000 -r http://k8s.dev.example.com/
Anything else we need to know?:
I install an ipvs enviroment manually and do some test, and found it possiblly because ipvs will use iptables to realize SNAT
Environment:
- Kubernetes version (use
kubectl version
): 1.11.1 - Cloud provider or hardware configuration:
- OS (e.g. from /etc/os-release): centos 7.2
- Kernel (e.g.
uname -a
): 3.10 - Install tools: binary
- Others:
/kind bug