Need a feature for outgoing requests NAT gateway
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 3.7k
- Forks
- 676
- Avg merge
- 4d 9h
- Merged PRs (30d)
- 6
Description
This is a primary feature that is often requested by people who need to run workloads that have need to be IP whitelisted by others. For example if you are accessing a bank server, the banks need to IP whitelist your machine (from where the requests originate). This becomes challenging in the swarm/kubernetes world because there are many different machines on which your application can be scheduled. It is generally not feasible to add hundreds of IP addresses to whitelists.
this is a problem that clouds also face and they provide NAT Gateway solutions.
E.g. AWS (https://aws.amazon.com/answers/networking/controlling-vpc-egress-traffic/ and https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html)
GCP ( https://cloud.google.com/vpc/docs/special-configurations#multiple-natgateways and https://cloud.google.com/vpc/docs/special-configurations#natgateway)
GCP+GKE https://cloud.google.com/solutions/using-a-nat-gateway-with-kubernetes-engine
It would be awesome if this is natively built into Docker Swarm, so that ALL outgoing requests from containers tagged as "nat" are scheduled through a node that I have designated as the NAT gateway.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
The issue names no files or tests. Start by reviewing the linked AWS and GCP NAT gateway references and the Swarm networking and scheduling design; done means the scope and behavior for routing outgoing requests from containers tagged as "nat" through a designated gateway node are defined and implemented.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws, docker, gcp, kubernetes
- Domain
- infrastructure, networking
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100