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:
- 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).
- Nagyon egyszerű a Kuberneteshez képest.
- 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.
- 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.
- 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
- 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 -
- Docker építészet
- Mi az a Docker Swarm?
- Raj intelligencia alkalmazások
- Segít-e a swarming technológia az agilis csapatok növekedésében?