Alakul a dolog!
Swarm-al csinaltam egy manager-worker 2 tagu clustert.
Containernek teszt jelleggel ezt hasznaltam, de persze csinalhat az ember maganak a sajat szaja ize szerint Image-t.
https://hub.docker.com/r/elswork/samba
Csinaltam egy volume-t a kozos NFS storage-hez, ezt csatolja fel a container mindig.
docker volume create --driver local \
--opt type=nfs \
--opt o=addr=192.168.92.13,rw,noatime,rsize=8192,wsize=8192,tcp,timeo=14,nfsvers=4 \
--opt device=:\volume1\teszt \
A samba container egy egy replikas docker service. Mindket Node-ra raktam keepalived containert, amivel szepen megy a virtual IP.
docker run -d --name keepalived --restart=always \
--cap-add=NET_ADMIN --cap-add=NET_BROADCAST --cap-add=NET_RAW --net=host \
-e KEEPALIVED_UNICAST_PEERS="#PYTHON2BASH:['192.168.92.10', '192.168.92.11']" \
-e KEEPALIVED_VIRTUAL_IPS=192.168.92.12 \
-e KEEPALIVED_PRIORITY=200 \
osixia/keepalived:2.0.20
A bajaim meg:
- Egyreszt meg van hozzaferes gond a share-el, de ez annyira nem lenyeges, sztm valami az NFS oldalon lesz
- A masik gondom. Ugye van egy manager es egy worker a clusterben. Alapbol a workeren fut a container, ha az leesik, szepen atmaszik a managerre (ezen ugye engedelyezve van a worker mod is). Ez eddig patent, a gond, hogy ha visszajon a worker, nem maszik vissza ra a szolgaltatas... Utana olvastam, Swarm-ban ez koncepcio, hogy ne induljon el foloslegesen ujra a container mashol, ha mar ugyis egy mukodo rendszeren fut.
Jo lenne ezt rendszeren belul lekezelni, de ha maskepp nem megy, akkor irok a managerre egy bash scriptet, ami azt figyeli, hogy ha rajta fut egy adott container, de kozben a worker elerheto, akkor force-olja az update-et (ez atmozgatja egybol a containert)
Jobb lenne elegansabban, de nincs mas otletem... nektek esetleg?