Kubernetes

Mi az a Kubernetes?

Mi az a Kubernetes?

Mi az a Kubernetes? És mi az építészete?

A konténerezés megszakította a vezetéket a szoftverfejlesztők és a gyártási környezet között. Nem abban az értelemben, hogy egyáltalán nincs szüksége termelési rendszerre, de nem kell aggódnia a termelési környezet sajátosságai miatt.

Az alkalmazások mostantól a szükséges függőségekkel vannak ellátva, egy virtuális gép helyett könnyű tárolóban. Az nagyszerű! Nem nyújt mentességet a rendszerhibákkal, a hálózati vagy a lemezhibákkal szemben. Például, ha az adatközpont, ahol a szerverei futnak, karbantartás alatt áll, akkor az alkalmazás offline állapotba kerül.

Kubernetes képbe kerül e problémák megoldása érdekében. A konténerek ötletét veszi igénybe, és kiterjeszti több számítási csomópontra (amelyek lehetnek felhőalapú virtuális gépek vagy csupasz fém szerverek). Az ötlet az, hogy legyen egy elosztott rendszer a konténeres alkalmazások futtatásához.

Miért Kubernetes?

Most miért kellene először egy elosztott környezet?

Több okból is elsősorban a magas rendelkezésre állás áll rendelkezésre. Szeretné, ha e-kereskedelmi webhelye a nap 24 órájában a hét minden napján online maradna, különben elveszíti üzleti tevékenységét, ehhez használja a Kubernetes szolgáltatást. A második a skálázhatóság, ahol ki akar méretezni. Az itt történő méretezés több számítási csomópont hozzáadásával jár, hogy az egyre növekvő alkalmazás nagyobb teret nyújtson a láb számára.

Tervezés és építészet

Mint minden elosztott rendszerhez, a Kubernetes-fürthöz is tartozik egy főcsomópont, majd egy csomó munkáscsomópont, ahol az alkalmazások valóban futnának. A fő felelős a feladatok ütemezéséért, a munkaterhelések kezeléséért és az új csomópontok biztonságos hozzáadásáért a fürtbe.

Természetesen maga a master csomópont meghibásodhat, és magával viheti az egész fürtöt, így a Kubernetes lehetővé teszi, hogy több master csomópont legyen redundancia érdekében.

Madártávlatból egy tipikus Kubernetes-bevetés

Kubernetes mester

A Kubernetes mesterrel a DevOps csapata kölcsönhatásba lép és új csomópontok kiépítéséhez, új alkalmazások telepítéséhez, valamint az erőforrások figyeléséhez és kezeléséhez használja. A főcsomópont legalapvetőbb feladata az menetrend a munkaterhelés hatékonyan az összes munkacsomópont között az erőforrás-kihasználás maximalizálása, a teljesítmény javítása és a DevOps csapat által az adott munkaterhelés szempontjából választott különféle irányelvek betartása érdekében.

Egy másik fontos összetevő a stb amely egy démon, amely nyomon követi a dolgozó csomópontjait, és egy adatbázist vezet, amely a teljes fürt állapotát tárolja. Ez egy kulcsértékű adattár, amely elosztott környezetben is futtatható több fő csomóponton keresztül. Az etcd tartalma megadja az összes releváns adatot a teljes fürtről. A munkáscsomópont időről időre megnézi az etcd tartalmát, hogy meghatározza, hogyan kell viselkednie.

Vezérlő az az entitás, amely utasításokat fogad el az API szervertől (amire később kitérünk), és végrehajtja a szükséges műveleteket, például alkalmazások és csomagok létrehozása, törlése és frissítése.

A API Server kiteszi a Kubernetes API-t, amely JSON hasznos terheléseket használ HTTPS-en keresztül, hogy kommunikáljon azzal a felhasználói felülettel, amellyel a fejlesztői csapatok vagy a DevOps munkatársai végül kölcsönhatásba lépnek. A webes felhasználói felület és a CLI is ezt az API-t használja a Kubernetes-fürt interakciójához.

Az API-kiszolgáló felelős a munkacsomópontok és a különféle főcsomópont-összetevők, például az etcd közötti kommunikációért is.

A Master csomópont soha nincs kitéve a végfelhasználónak, mivel ez az egész fürt biztonságát veszélyeztetné.

Kubernetes csomópontok

Egy géphez (fizikai vagy virtuális) szüksége lenne néhány fontos összetevőre, amelyek a megfelelő telepítés és beállítás után a kiszolgálót a Kubernetes-fürt tagjává tehetik.

Első dolog, amire szüksége lesz, egy tároló futásideje, például a Docker, telepítve és futtatva rajta. Nyilvánvalóan felelős lesz a konténerek felpörgetéséért és kezeléséért.

A Docker futási idejével együtt szükségünk van a Kubelet démon. Kommunikál a master csomópontokkal, az API szerveren keresztül, és lekérdezi az etcd-t, és visszaadja az adott csomóponton futó podok egészségi és használati információit.

A konténerek azonban önmagukban meglehetősen korlátozottak, így a Kubernetes nagyobb absztrakcióval rendelkezik, mint a konténerek gyűjteménye, az úgynevezett Hüvelyek.

Miért jönnek elő hüvelyek?

A Docker házirendje, hogy tárolónként egy alkalmazást futtat. Gyakran a „Egy folyamat konténerenként” irányelv. Ez azt jelenti, hogy ha szüksége van egy WordPress-webhelyre, akkor azt javasoljuk, hogy legyen két tárolója, az egyik az adatbázis futtatásához, a másik pedig a webszerver futtatásához. Az alkalmazás ilyen kapcsolódó összetevőinek csomagba kapcsolása biztosítja, hogy a méretezéskor a két egymással függő tároló mindig ugyanazon a csomóponton létezzen, és így gyorsan és egyszerűen beszéljenek egymással.

A hüvelyek a Kubernetes telepítésének alapvető egységei. A méretezéskor további hüvelyeket ad hozzá a fürthöz. Minden egyes csomag saját egyedi IP-címet kap a fürt belső hálózatán belül.

Vissza a Kubernetes csomóponthoz

Most egy csomópont futtathat több hüvelyt, és sok ilyen csomópont lehet. Ez mind rendben van, amíg nem gondolkodik azon, hogy megpróbáljon kommunikálni a külvilággal. Ha Önnek van egy egyszerű webalapú szolgáltatása, hogyan irányítaná a domain nevét erre a sok IP-címmel rendelkező hüvelygyűjteményre?

Nem lehet, és nem is kell! Kube-proxy a puzzle utolsó darabja, amely lehetővé teszi az operátorok számára, hogy bizonyos hüvelyeket kitegyenek az internetre. Például az Ön kezelőfelülete nyilvánosan elérhetővé tehető, és a kube-proxy elosztaná a forgalmat az összes különféle pod között, amelyek felelősek a kezelőfelület tárolásáért. Az adatbázisát azonban nem kell nyilvánosságra hozni, és a kube-proxy csak belső kommunikációt engedélyez az ilyen háttérrel kapcsolatos munkaterheléseknél.

Szüksége van minderre?

Ha csak hobbistaként vagy diákként kezdi, akkor a Kubernetes egyszerű alkalmazáshoz való használata nem lenne hatékony. A teljes szabály több erőforrást emésztene fel, mint a tényleges alkalmazás, és több zavart okozna egyetlen egyén számára.

Ha azonban nagy csapattal fogsz dolgozni, és alkalmazásaidat komoly kereskedelmi használatra telepíted, akkor a Kubernetes megéri a kiegészítő költségeket. Megállíthatja, hogy a dolgok kaotikussá váljanak. Helyezze el a karbantartást minden állásidő nélkül. Állítson be remek A / B tesztelési feltételeket, és fokozatosan méretezzen, anélkül, hogy túl sokat költenék az infrastruktúrára.

A League of Legends telepítése az Ubuntu 14-re.04
Ha rajongsz a League of Legendsért, akkor ez egy lehetőség arra, hogy teszteld a League of Legends játékot. Ne feledje, hogy a LOL a PlayOnLinux rends...
Telepítse a legújabb OpenRA stratégiai játékot az Ubuntu Linux rendszerre
Az OpenRA egy ingyenes / ingyenes valós idejű stratégiai játékmotor, amely újjáépíti a korai Westwood játékokat, mint például a klasszikus Command & C...
Telepítse a legújabb Dolphin Emulator for Gamecube & Wii szoftvert Linuxra
A Dolphin Emulator segítségével a kiválasztott Gamecube & Wii játékokat játszhatja Linux személyi számítógépeken (PC). Mivel a Dolphin Emulator szaba...