-
Notifications
You must be signed in to change notification settings - Fork 2.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
backend/aws-vpc: add support for multiple route tables #561
Conversation
allows running private clusters across az's- routes are added to each of the route tables specified.
Does that mean that flannel adds private subnet routes to public network routing tables? |
@vaijab: nope. we have our VPC networking configured with a private + public subnet per-AZ, for example: So, for Flannel we configure it to manage routes in the private route tables. Hope that helps? I'm not really an AWS networking guru so I may have messed up some terminology. |
To expand, if you want to have non internet facing subnets (in an AWS VPC) that have internet access, each subnet requires its own NAT gateway for HA. This means that each subnet must have its own route table (as each has a different default route) but each route table still needs the full set of routes set by flannel. Therefore the fix is to support propagating to multiple route tables. |
This PR merge will help us greatly |
@pingles Are you able to rebase this PR and fix the conflict? |
Yep, let me take a look now. |
So it looks a little more involved than a few straight fixes- it's pretty late here now so I'll take a look at work tomorrow and push an update. |
Great, thanks @pingles |
Really sorry but I've not had much time to do this today. I'm also away for the next week on holiday so I probably won't look at it until I get back. If someone else wants to give it a try please do- otherwise I'll do it asap. |
Resolving conflicts for pull request flannel-io#561
Resolving conflicts for pull request flannel-io#561 and adding documentation.
Resolving conflicts for pull request flannel-io#561 and adding documentation.
Rebase @ #717 |
Resolving conflicts for pull request flannel-io#561 and adding documentation.
We're setting up a cluster in AWS that spans across availability zones. Because we're using private + public networks we have 3 route tables (1 for each AZ). This change adds support to Flannel for configuring more than one route table.
The implementation is pretty naive: all route tables will be configured with the same routes (and with blackholes removed etc.).
I'm not an expert in AWS networking so any comments would be appreciated. Likewise, if there's a good way to write some tests to prove the behaviour, or ways to improve the code then please let me know!
Thanks so much for the project!