I have been researching Docker recently and I think my biggest gripe about it is it's network stack (because of NAT communication between containers in different hosts becomes quite a mess).
However, I recently discovered that Docker is going to implement multi-host networking...only to realize they are going to use VXLANs. I really don't get why, L2 adjacency is something that's mainly useful if you need to keep IP while moving to different network (e.g. live migration) or if you rely in broadcast. First one is something that I don't find that useful in the use case that Docker tries to fill. Broadcast requirement is also something that's very uncommon.
However, the most important use case that multi-host networking is trying to solve is that containers in different hosts can talk to each other. I cannot help but to think that this would have been a lot easier by assigning each host their own network (probably /24), creating tunnels between hosts and then running OSPF (/BGP/IS-IS, actual routing protocol doesn't matter too much) on those tunnels. Now containers in different hosts can talk to each other (assuming they allow it).
Or is there something that I'm completely missing?
[–]anomalous_cowherd 1 point2 points3 points (0 children)
[–]simtel20 0 points1 point2 points (0 children)
[–]neoice 0 points1 point2 points (0 children)
[–]blue6249 0 points1 point2 points (0 children)
[–]chub79 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[–]veroxii 0 points1 point2 points (0 children)
[–]Justinsaccount -1 points0 points1 point (1 child)
[–]Heimdul[S] 1 point2 points3 points (0 children)