Is this a BUG REPORT or FEATURE REQUEST?:
/kind bug
What happened:
Upon removing an endpoint, the ipvs proxier immediately deletes the ipvs real server, causing all connections to get dropped.
What you expected to happen:
It should allow the terminating pod to gracefully close connections, just like the iptables proxier.
How to reproduce it (as minimally and precisely as possible):
- Enable ipvs proxier
- Create a keepalive / long lived connection to a pod (e.g.
while :; do echo -e "GET / HTTP/1.1\nhost: $host\n\n"; sleep 5; echo; done | telnet $serviceip 80)
- Delete that pod - observe the connection gets closed immediately, further requests will fail. On iptables proxier, it will continue to work (until the pod itself stops or closes the connection).
Anything else we need to know?:
The ipvs proxier should instead be setting weight to 0, then reaping the stale real servers after some time period (that should be greater than any pod's graceful termination time). This may also fix the existing bug around UDP connections getting dropped prematurely (#45976).
Environment:
- Kubernetes version (use
kubectl version): tested on 1.8, but same issue in 1.9 afaict
- Cloud provider or hardware configuration: AWS
- OS (e.g. from /etc/os-release): Ubuntu 16.04
- Kernel (e.g.
uname -a): 4.4.0
- Install tools:
- Others:
Is this a BUG REPORT or FEATURE REQUEST?:
/kind bug
What happened:
Upon removing an endpoint, the ipvs proxier immediately deletes the ipvs real server, causing all connections to get dropped.
What you expected to happen:
It should allow the terminating pod to gracefully close connections, just like the iptables proxier.
How to reproduce it (as minimally and precisely as possible):
while :; do echo -e "GET / HTTP/1.1\nhost: $host\n\n"; sleep 5; echo; done | telnet $serviceip 80)Anything else we need to know?:
The ipvs proxier should instead be setting weight to 0, then reaping the stale real servers after some time period (that should be greater than any pod's graceful termination time). This may also fix the existing bug around UDP connections getting dropped prematurely (#45976).
Environment:
kubectl version): tested on 1.8, but same issue in 1.9 afaictuname -a): 4.4.0