You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Linux lej01-i1-srv-08 4.4.0-36-generic #55-Ubuntu SMP Thu Aug 11 18:01:55 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
Install tools:
Others:
What happened:
I setup a service with type NodePort. This service should forward UDP syslog to a logstash pod. The traffic comes from a nginx outside of the cluster. If the backend pod get deleted old connections are not deleted. The conntrack output later shows active connections for both, the old and the new backend.
What you expected to happen:
The connections for the old backend get deleted.
How to reproduce it (as minimally and precisely as possible):
Start a service from with NodePort and UDP.
Add one backend to that service
Produce Traffic to the NodePort
Delete the backend and create new backend.
Watch the connection via conntrack.
Anything else we need to know:
The issue seems to be related to this function: https://github.com/kubernetes/kubernetes/blob/master/pkg/proxy/iptables/proxier.go#L791
It is changed in recent versions but the conntrack statement includes the service IP. Since we talk to the NodePort, the service IP does not appear in the conntrack connections. My proposal is to delete all udp connections to the backend IP (endpointIP) and the backendPort.
The text was updated successfully, but these errors were encountered:
Is this a request for help? (If yes, you should use our troubleshooting guide and community support channels, see http://kubernetes.io/docs/troubleshooting/.):
no
What keywords did you search in Kubernetes issues before filing this one? (If you have found any duplicates, you should instead reply there.):
nodeport udp
Is this a BUG REPORT or FEATURE REQUEST? (choose one):
BUG REPORT
Kubernetes version (use
kubectl version
):Environment:
uname -a
):What happened:
I setup a service with type NodePort. This service should forward UDP syslog to a logstash pod. The traffic comes from a nginx outside of the cluster. If the backend pod get deleted old connections are not deleted. The conntrack output later shows active connections for both, the old and the new backend.
Service setup:
IP of the old backend:
10.194.3.19
IP of the new backend:
10.194.2.37
IP of the Kubernetes Worker Node:
10.200.20.2
What you expected to happen:
The connections for the old backend get deleted.
How to reproduce it (as minimally and precisely as possible):
Anything else we need to know:
The issue seems to be related to this function: https://github.com/kubernetes/kubernetes/blob/master/pkg/proxy/iptables/proxier.go#L791
It is changed in recent versions but the conntrack statement includes the service IP. Since we talk to the NodePort, the service IP does not appear in the conntrack connections. My proposal is to delete all udp connections to the backend IP (
endpointIP
) and the backendPort.The text was updated successfully, but these errors were encountered: