Overlay networks

If instead of just replicating, you want to connect containers running on different hosts to your Swarm infrastructure, you have to use networks. For example, you need to connect your web servers to your database containers so that they can communicate.

The answer to this, in Swarm Mode, is to use overlay networks. They are implemented with Docker's libnetwork and libkv. These networks are VxLAN networks built on top of another network (in the standard setup, the physical host network).

VxLAN is an extension of the VLAN protocol, aiming at increasing its scalability. Containers on different hosts, connected to Docker VxLAN networks, can communicate as if they are on the same host.

Docker Swarm Mode includes a routing mesh table that enables this multi-host networking, by default, called ingress.

Integrated load balancing

How does the load balancing work on Swarm Mode 1.12? The routing works in two different ways. Firstly, it works through the port exposed by the Virtual IP service. Any requests to the port are distributed among the hosts hosting the service tasks. Secondly, the service is given a Virtual IP address that is routable only inside the Docker Network. When requests are made to this VIP address, they are distributed to the underlying containers. This Virtual IP is registered inside the DNS server included in Docker Swarm. When a DNS query is done on the service name (for example nslookup mysql), the Virtual IP is returned.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset