Skip to content

Conversation

@aauren
Copy link
Collaborator

@aauren aauren commented Jan 9, 2019

This is a bug fix for: #574

We were seeing cases where the route would stick in the kernel routing table after the NextHop for a given service VIP had changed to a node outside of the host's subnet. This happens because there is a gap in the logic where if the NextHop for a given service is not withdrawn but rather transitions to a Kubernetes node outside the subnet of the current host nothing is done with the previously inserted route.

This PR makes it so that kube-router will cleanup lingering routes at the same point that it also cleans up tunnels when the next hop has transitioned to a node outside the subnet of the current host.

@aauren
Copy link
Collaborator Author

aauren commented Jan 10, 2019

One further comment, without this fix the existing functionality has the potential to send service traffic to hosts that are no longer hosting the service and cause service disruptions. This is especially true if the service.local annotation is enabled for the given service:

kube-router.io/service.local: "true"

@aauren
Copy link
Collaborator Author

aauren commented Jan 15, 2019

@murali-reddy @roffe @andrewsykim - Whenever you can, do you think you could give this a review? This is a bug that we're actively experiencing in our environment.

@murali-reddy
Copy link
Member

LGTM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants