moby / moby/swarmkit

Need a feature for outgoing requests NAT gateway

Open
#2,723 0 comments 0 reactions 0 assignees View on GitHub

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.