Skip to content
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

Support for NAT Gateways with AWS #487

Closed
jon-shanks opened this issue Aug 12, 2016 · 2 comments
Closed

Support for NAT Gateways with AWS #487

jon-shanks opened this issue Aug 12, 2016 · 2 comments

Comments

@jon-shanks
Copy link

Currently there is a limitation on being able to use Nat gateways with resiliency i.e. across multiple AZ's. The AWS architecture is:

Compute Subnet (eu-west-1 AZ A) -> RT_A -> NG_A -> DF_RT -> IGW
Compute Subnet (eu-west-1 AZ B) -> RT_B -> NG_B -> DF_RT -> IGW
Compute Subnet (eu-west-1 AZ C) -> RT_C -> NG_C -> DF_RT -> IGW

RT = Route table
NG = Nat gateway
DF = Default
IGW = Internet Gateway

A to C = is the availability zones

The issue is that flannel at the moment only supports adding the route tables to a specified route table

    cfg := struct {
            RouteTableID string
    }{}

At the moment this is a string if undefined it finds the route table associated with the instance and it will add it there. In this instance, it means that routes will only be populated in one route table i.e. RT_A or RT_B etc, hence any traffic from RT_B to RT_A won't know how to route, we would therefore need to populate it as an array of route table ID's.

I am happy to do a PR for this. Without this, traffic can't route accordingly when you are using NAT gateways or decide to use more than one route table for your cluster (for whatever reason).

@stevedbashton
Copy link

Hi Jon,
I'd be happy to test, as it fits a use case I have.
Cheers, steve

@tomdee
Copy link
Contributor

tomdee commented Apr 28, 2017

Closing and tracking this just under #193

@tomdee tomdee closed this as completed Apr 28, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants