Changes

Docker Swarm Mode

858 bytes added, 08:55, 29 July 2018
Swarm stack készítése
Most definiálni fogunk egy swarm stack-et, amihez a Traefik load-balancer szolgáltatást fog nyújtani. Ehhez elsőként el fogjuk készíteni a stack yml fájlját. (Használhatjuk a '''docker service create''' parancsot is, a lényeg, hogy megadjuk a Traefik-et vezérlő címkéket)
===Stack definiálása===
Az új szolgáltatáshoz a '''tutum/hello-world''' image-et fogjuk használni, amiben fut egy apache, és a lending page-en kiírja a konténer host nevét (konténer ID-t). Ez azért jó választás, mert remekül tesztelni lehet vele a stick-session kezelést, láthatjuk majd hogy ha egyszer már beestünk egy lábra, végig ott is maradunk, de session törlés után megint egy új lábat kapunk.
<pre>
# docker stack deploy -c helloworld.yml helloservice
Creating network helloservice_balancer-net
Creating service helloservice_helloworld
</pre>
 
 
===Mi jött létre===
<pre>
04cj4vdsu0qu loadbalancer replicated 1/1 traefik:latest *:80->80/tcp, *:8080->8080/tcp
</pre>
 
 
Listázzuk ki, hogy milyen hálózatokban van interfésze helloservice-hez tartozó konténereknek. Láthatjuk, hogy a 10.0.2.0/24 és a 10.255.1.0/24-os hálózatokban van tagsága.
<pre>
# docker service inspect --format='{{.Endpoint.VirtualIPs}}' helloservice_helloworld
[ {mzwld5ddadk6tcpio8ytkyhgg 10.255.1.10/16}
{o4rhm35gkh24cd25rdt7hsm62 10.0.2.11/24}]
</pre>
 
 
Nézzük meg melyik hálózat micsoda. Ahogy annak lennie kell, az egyik a balancer-net, ami egy közös overlay hálózat a load balancer szolgáltatással. A másik meg a swarm beépített ingress hálózata. Azt most nem fogjuk használni (ezen fut a Layer 4 IPVS).
 
# docker network inspect balancer-net | grep Subnet
"Subnet": "'''10.0.2.0/24'''",
# docker network inspect 'ingress' | grep Subnet
"Subnet": "10.255.0.0/16",