Kubernetes

Kubernetes vs Docker

Kubernetes vs Docker
Kubernetes és Docker egyre növekszik. Mindkét technológia nagyon különböző gyökerekkel rendelkezik, de az elmúlt években olyan módon fonódtak össze, hogy senki sem várta el tőlük. A közösségek összeálltak, a csomagokat az összes lehetséges operációs rendszer között tárolták, és nagyrészt nyílt forráskódúak számtalan műholdas projektet és versenytársat eredményeztek.

Mindez elsöprő lehet minden új felhasználó számára, aki megpróbálja értelmezni ezt a viszonylag új paradigmát. Beszéljük meg a Kubernetes és a Docker közötti főbb különbségeket azzal, hogy először mélyebben elmélyedünk abban, hogy mit is jelentenek a technológiák. Ha ismeri a Dockert vagy a K8-at (a Kubernetes rövidítése), akkor ugorhat előre és olvassa el a TL; DR szakaszt.

Mi az a Docker?

A Docker egy konténeres technológia. Több alkalmazást futtathat egymástól elkülönítve ugyanazon az operációs rendszeren, anélkül, hogy bármilyen virtualizációra lenne szükség. Gondoljon a Docker konténerekre, mint igazán könnyű virtuális gépek Linuxra (Windows is, de ez nem olyan népszerű).

A Docker 3 fő komponenssel rendelkezik, először a háttérben működő Docker motorral, amely kezeli a futó konténereket és azok ellátását. REST API-t tesz elérhetővé, amelyet a Docker kliens fogyaszt, és ez lehetővé teszi a felhasználók számára, hogy kölcsönhatásba lépjenek a Dockerrel és új tárolókat készítsenek, vagy kezeljék a futókat.

A Docker azonban egyetlen rendszeralkalmazás. Vagyis a konténereket futtatja és kezeli bármilyen rendszeren, amelyen véletlenül fut.  A rengeteg forgalmat jelentő hatalmas alkalmazásokhoz és a világ minden tájáról érkező kérések millióihoz több szerverre van szükség. Ott jön be Kubernetes.

Mi az a Kubernetes?

A Kubernetes a konténerezési technológiák - például a Docker - előnyeit kihasználva az alkalmazás többszörös másolatát futtatja a szervereken és az adatközpontokban szerte a világon.

Az egyik konténerezési technológia, amelyet a Kubernetes használ, a Docker. A Kubernetes különféle szoftverek tömbjéből áll a fürt kezeléséhez. Ez egy menedzsment ügynököt biztosít kubeadm, amely néhány kiválasztott master csomóponton fut (a csomópontok VPS vagy fizikai kiszolgálók), majd vannak olyan munkavállalói csomópontok, amelyekre Docker van telepítve kubectl amely beszél a Docker motorral, hogy automatizálja a konténerek felpörgetésének vagy leszedésének folyamatát. Az összes dolgozói csomóponton futó kubectl ügynökök megrendeléseket fogadnak el a fő csomóponttól, és visszajelzést adnak nekik a csomópontjukon futó alkalmazás állapotáról. Nagyjából így működik egy K8 telepítés.

A különböző kapcsolódó Docker-tárolókat csomagokba (úgynevezett hüvelyekbe) is összesítheti. Például összeállíthatja az SQL adatbázist és a Redis gyorsítótár-tárolókat egy podban, mivel azt szeretné, ha az adatbázis és a gyorsítótár együttélne.

Hasonlóképpen, kiszolgáltathatja a hüvelyeket a többi hüvelynek szolgáltatásként (más néven mikroszolgáltatásként), így 50 SQL / Redis hüvely állhat az adatkezelő szolgáltatásként az alkalmazás kezelőfelületéhez stb. Előnye, hogy az 50 hüvely több adatközponton is átfuthat, és még ha néhány is lemegy közülük, mások megkapják a lazaságot.

A Kubernetes sokkal több, mint technológia. Ez egyfajta okfejtés a szoftver futtatásáról egy elosztott rendszeren.

Kubernetes Docker nélkül

Amint a fentiekből kiderül, hogy a K8 nagyban támaszkodik a konténerekre. A Docker csak egyike a sok konténerezési technológiának. Egyébként a CoreOS rkt, a Canonical LXC, a FreeBSD-n lévő Jails, valamint az Illumos és a SmartOS zónái. A Kubernetes potenciálisan ezen technológiák bármelyikén megvalósítható. Valójában elég jól működik a CoreOS rkt-jével.

A Docker népszerűsége miatt azonban a közösség és a szervezetek túlléptek azon, hogy a Docker bármit és mindent felajánl, amire a Kubernetes specifikációi kérik. Ez az oka annak, hogy még a MacOS-on és a PC-n lévő Dockerhez hasonló projektek is Kubernetes tanúsítvánnyal rendelkeznek.

Docker Kubernetes nélkül

Ahogyan a Kubernetes az egyik legkiválóbb támogatással rendelkezik a Docker használata közben, maga a Docker is nagyban támaszkodik a Kubernetesre a konténerek nagy méretű telepítéséhez. A Docker rendelkezik saját Docker Swarm néven ismert konténerkezelő és hangszerelő rendszerrel, amely állítólag Kubernetes alternatíva.

Annak ellenére, hogy a Docker Swarm natív technológia a Docker-en, a Kubernetes az, amit az emberek kérnek, és a jelenlegi piaci előrejelzések azt jelzik, hogy a K8 nyeri a legnagyobb piaci részesedést. A Docker nagyrészt a Kubernetesszel való szimbiózisának köszönheti.

TL; DR

Röviden: a Docker egy konténeres technológia, amelyet egyetlen számítógépen futtatnak. A Kubernetes egy olyan menedzsment technológia, amely számos konténert kezel számos számítási csomóponton keresztül.

A Docker véletlenül az egyik legalkalmasabb technológia, amellyel felépítheti K8 veremét. Először győződjön meg róla, hogy az alkalmazás dokkoló tárolóként fut, majd a K8 biztosítja, hogy ez a tároló méretezhető legyen az egész világon, ha erre a jövőben szükség van.

Sid Meier Civilization VI letöltése és lejátszása Linuxon
Bevezetés a játékba A Civilization 6 egy modern felvétel a Age of Empires játékok sorozatában bevezetett klasszikus koncepcióra. Az ötlet meglehetősen...
A Doom telepítése és lejátszása Linuxon
Bevezetés a Doom-ba A Doom sorozat a 90-es években keletkezett az eredeti Doom megjelenése után. Azonnali sláger volt, és ettől kezdve a játéksorozat ...
Vulkan Linux felhasználók számára
A grafikus kártyák minden új generációjával azt látjuk, hogy a játékfejlesztők átlépik a grafikus hűség határait, és egy lépéssel közelebb kerülnek a ...