Docker Swarm építészet - Hogyan működnek a csomópontok és a szolgáltatások?

Tartalomjegyzék:

Anonim

Bevezetés a Docker Swarm építészetbe

A Docker Swarm egy konténerek fürtözési és összehangolási eszköze, amely be van építve a Docker Engine-be az elosztott rendszer számára, amely több száz konténerből áll. A Docker csomópont, a Docker szolgáltatások és a Docker feladatok a Docker rajzás architektúrájának kulcsfontosságú elemei.

  • Docker csomópont: Ez a Docker motorba tartozó Docker Engine példány, kétféle:
  • Menedzser csomópont: Felelős a rendszer kívánt állapotban tartásához szükséges összes zeneszerzési és tárolókezelési feladatért, például a fürt állapotának fenntartásáért, a szolgáltatások ütemezéséért és a rajmódú HTTP végpontok kiszolgálásáért.
  • Docker szolgáltatás: A feladat meghatározását kell végrehajtani.

Tipikus dokkoló-raj építészet

Az alábbiakban bemutatjuk a tipikus dokkoló-raj architektúráját:

  • A csomópont a dokkoló raj architektúrájának kulcsfontosságú tagja, a raj architektúrában egynél több menedzser csomópont lehet, amelyeket egyetlen, a Raft algoritmussal választott menedzser csomópont vezet, a menedzser csomópont munkavállalói csomópontként is működhet, de konfigurálható menedzserként történő működésre csomópont is.
  • A kezelő csomópontok a Raft Consensus algoritmust használják a fürt állapotának belső kezelésére. Ennek célja annak biztosítása, hogy az összes olyan kezelő csomópont, amely a fürtben ütemezi és vezérli a feladatokat, konzisztens állapotot tartson fenn / tároljon.
  • A raj a Docker motorok vagy csomópontok csoportja, ahol telepítjük szolgáltatásainkat. A korai szakaszban a Docker előállt egy fürtkezelő rendszerrel, amelynek kommunikációs protokollja Beam volt. Később újabb API-kat adtak hozzá és átnevezték rajtuk. Az első generációs raj nevét 'v1 rajnak nevezzük.

Docker raj munkafolyamata

A dokkoló raj munkafolyamata annak megértéséből áll, hogy hogyan működnek a csomópontok és szolgáltatások a dokkoló raj rajta:

1. lépés: Az első lépés egy olyan dokkológép-készlet létrehozása, amely csomópontként fog működni a dokkoló rajban ; ezek közül a csomópontok közül egy a menedzser lesz, a fennmaradó csomópontok pedig munkás csomópontokként működnek. Dokkológép létrehozásához használja a Windows parancsot, indítsa el a dokkolóterminált.

docker-machine create –driver hyperv manager1

  • Ahol a 'manager1' a dokkológép-gép neve, a gépek felsorolása, illetve futtatása.

docker-machine ls
docker-machine ip manager1

2. lépés: A második lépés munkavállalói gépek létrehozása. Használja az alábbi parancsot annyiban, amennyit csak akar, és hozzon létre 3 munkavállalót.

docker-machine create –driver hyperv worker1
docker-machine create –driver hyperv worker2
docker-machine create –driver hyperv worker3

  • Az alábbi parancs segítségével csatlakozhatunk a menedzserhez vagy a dolgozóhoz, amely a gép belsejébe vezet.

docker-machine ssh manager1/worker1

3. lépés: A harmadik lépés a dokkolóegy inicializálása, ezt a parancsot futtatnunk kell a gépen, amelyre menedzserként szeretnénk dolgozni, azaz csinálunk csomópontkezelőt, és további menedzsereket is felvehetünk.

docker-machine ssh manager1
docker swarm init –advertise-and Manager1 IP

4. lépés: A negyedik lépés az, hogy bekapcsolódjon a munkavállaló csomópontjaiba, hogy megkapja a parancsot, hogy csatlakozzon a csomóponthoz mint munkavállaló, az alábbi parancs segítségével a kezelőgépen, és futtassa a parancsot, amelyet kapott a munkavállaló gépen, amelyet munkavállalóvá kíván tenni.

Docker swarm join-token worker1

  • Annak ellenőrzéséhez, hogy a dolgozó csatlakozik-e rajhoz, vagy sem, menjen-e a kezelőgéphez és futtassa a parancsot, fel fogja sorolni a hozzáadott munkavállalói gépet a menedzser adataival.

docker-machine ls

5. lépés: Az ötödik lépés a dokkoló standard parancsának futtatása a kezelőn.

docker info (fetches details about docker swarm)
docker swarm (commands that can run on docker swarm such as join, leave, update, init and unlock etc)

6. lépés: A hatodik lépés a dokkoló tárolók futtatása dokkoló rajon, bármilyen szolgáltatást létrehozhatunk és annak replikái. Lépjen az ub.docker.com webhelyre, jelentkezzen be, és menjen a letétkezelők felfedezéséhez. Különböző képeket láthatunk, amelyek motorok, például: az nginx (a webszerveren fut) szolgáltatást hoz létre, és replikája az alábbiakban szereplő parancs segítségével jelenik meg a kezelőn.

docker service create –replicas 3 -p 80:80 –name sample nginx

  • Ahol a „minta” a szolgáltatás neve, a 80 pedig a port, amely ki van téve annak ellenőrzéséhez, hogy a menedzser csomópontban alatta van-e a szolgáltatás futtatása.

docker service ls
docker service ps sample

Ellenőrizze az összes csomóponton futó szolgáltatást, és ellenőrizze a böngészőt az összes csomópont IP megadásával.

7. lépés: Hetedik lépés, most láthatjuk a dokkolóelem tényleges használatát, ahol felfelé és lefelé méretezzük a szolgáltatást. A szolgáltatás méretezéséhez futtassa az alábbi parancsot a kezelőgépen

docker service scale sample=4

  • A fenti paranccsal a szolgáltatási mintát 4 csomópontra kell futtatni, bár az összes csomópont foglalt, újabb szolgáltatást fog létrehozni a kezelőn vagy a dolgozón. Hasonló módon csökkenthetjük a szolgáltatást.

docker service scale sample=2

  • Megvizsgálhatjuk a csomópontot is, hogy megkapjuk a részleteket, például hogy egy csomóponton hány és melyik szolgáltatás fut, ha az alábbi parancsokat futtatjuk a kezelő csomóponton

docker node inspect worker1/manager1
docker node inspect self

8. lépés: A nyolcadik lépés a szolgáltatás frissítése, ha a szolgáltatás több gépen fut, és ha a szolgáltatást szeretnénk frissíteni, akkor az nagyon egyszerű és egyszerű, például, ha frissíteni akarjuk az nginx szolgáltatás verzióját.

docker service update –image nginx:1.14.0 sample

9. lépés: Leállítás / leállítás / eltávolítás.

  • Bármely adott csomópont leállításához használja az alábbi parancsot, amely megváltoztatja a csomópont állapotát „ürítésre”.

docker node update –availability drain worker1

  • A szolgáltatás eltávolítása az összes gépről.

docker service rm sample

  • A raj elhagyása, amely megváltoztatja a „le” állapotát.

docker swarm leave

  • Gép leállítása (Futtassa a dokkoló terminálról, nem a kezelőben vagy a dolgozó gépen).

docker-machine stop worker1
docker-machine rm worker1

A Docker Swarm Architecture előnyei

Az alábbiakban bemutatjuk a Docker Swarm Architecture előnyeit:

  1. Decentralizált kialakítás: a rajcsoportokat a raj parancs segítségével tudjuk kezelni. Egyetlen p-t ad (hozzáférési olaj az egész raj létrehozásához).
  2. Nagyon egyszerű a Kuberneteshez képest.
  3. Magas rendelkezésre állás: A rajban elérhető csomópontok között, ha a mester meghibásodik, egy másik munkavállaló csomópontot fog felszámolni.
  4. Kívánatos állapot-egyeztetés: A rajkezelő nyomon követi a klaszter állapotát, hogy a kívánt és a tényleges állapot mindig azonos legyen.
  5. Amikor meghatározunk egy hálózatot, amelyhez csatlakozni szeretnénk a szolgáltatásokhoz, a rajkezelő címeket rendel a tárolóhoz az overlay hálózaton, miután létrehoztuk / frissítettük a tárolókat
  6. Frissítések frissítése: A szolgáltatásfrissítéseket fokozatosan lehet elvégezni. A rajkezelő lehetővé teszi az egyes frissítések közötti késleltetés meghatározását minden állásidő nélkül.

Következtetés

A Docker raj egy egyszerű eszköz a nagy eszközök helyett, amelyek elvégzik a feladatot, a Docker rajgal rendelkezik a szükséges hangszerkesztéssel, könnyű beállítani és eljuttatni a natív dokkoló motorral, amelyet egyébként telepíteni és használni fogunk.

Ajánlott cikkek

Ez egy útmutató a Docker Swarm Architecture-hez. Itt tárgyaljuk, hogyan működnek a csomópontok és szolgáltatások a dokkolóelem-architektúrában előnyeikkel. Megnézheti más kapcsolódó cikkeket is, ha többet szeretne megtudni -

  1. Docker építészet
  2. Mi az a Docker Swarm?
  3. Raj intelligencia alkalmazások
  4. Segít-e a swarming technológia az agilis csapatok növekedésében?