Kubernetes oktatóanyag kezdőknek: alapok, funkciók, Architectúra

Mielőtt elkezdené ezt a Kubernetes oktatóanyagot, tanuljuk meg:

Mi a Kubernetes?

Kubernetes egy konténerkezelő rendszer, amelyet a Google platformján fejlesztettek ki. A Kubernetes segít a konténeres alkalmazások kezelésében különféle típusú fizikai, virtuális és felhőkörnyezetekben. A Google Kubernetes egy rendkívül rugalmas konténereszköz, amely több száztól több ezer egyedi szerverből álló fürtökön futó összetett alkalmazásokat biztosít folyamatosan.

Miért van szüksége konténerekre?

A mai internetfelhasználók soha nem fogadják el az állásidőt. Ezért a fejlesztőknek olyan módszert kell találniuk, amellyel szolgáltatásaik megszakítása nélkül végezhetnek karbantartást és frissítést.

Ezért a konténer, amely elszigetelt környezet. Mindent tartalmaz, ami az alkalmazás futtatásához szükséges. Ez megkönnyíti a fejlesztők számára az alkalmazások szerkesztését és telepítését. Ezenkívül a konténerezés a webalkalmazások csomagolásának, telepítésének és frissítésének kedvelt módszerévé vált.

Milyen feladatokat lát el a Kubernetes?

A Kubernetes az elosztott rendszerekhez használt Linux kernel. Segít a csomópontok (kiszolgálók) mögöttes hardverének elvonatkoztatásában, és konzisztens felületet kínál a megosztott erőforráskészletet fogyasztó alkalmazások számára.

Miért érdemes a Kuberneteset használni?

A Kubernetes segít a felhőalkalmazások és mikroszolgáltatások erőforrás-elosztásának és forgalomkezelésének vezérlésében. Segít a szolgáltatás-orientált infrastruktúrák különböző szempontjainak egyszerűsítésében is. A Kubernetes lehetővé teszi annak biztosítását, hogy a konténeres alkalmazások hol és mikor futnak, és segít megtalálni az erőforrásokat és eszközöket, amelyekkel dolgozni szeretne.

A Kubernetes jellemzői

Íme a Kubernetes alapvető funkciói:

  • Automatizált ütemezés
  • Öngyógyító képességek
  • Automatizált közzététel és visszaállítás
  • Vízszintes méretezés és terheléselosztás
  • Környezeti konzisztenciát kínál a fejlesztéshez, teszteléshez és gyártáshoz
  • Az egyes komponensekhez lazán kapcsolódó infrastruktúra külön egységként működhet
  • Nagyobb sűrűségű erőforrás-felhasználást biztosít
  • Vállalati használatra kész funkciókat kínál
  • Alkalmazásközpontú menedzsment
  • Automatikusan skálázható infrastruktúra
  • Kiszámítható infrastruktúrát hozhat létre

Kubernetes alapok

Ebben a Kubernetes oktatóanyagban megtanuljuk a Kubernetes néhány fontos alapját:

  • Cluster

    Ez a gazdagépek (szerverek) gyűjteménye, amely segít a rendelkezésre álló erőforrásaik összesítésében. Ez magában foglalja a ramot, a CPU-t, a ramot, a lemezt és ezek eszközeit egy használható készletbe.

  • Mester

    A master a Kubernetes vezérlőpultját alkotó összetevők gyűjteménye. Ezeket az összetevőket minden fürtdöntéshez használják. Ez magában foglalja az ütemezést és a fürteseményekre való reagálást is.

  • Csomópont

    Ez egy egyetlen gazdagép, amely képes futni egy fizikai ill virtuális gép. Egy csomópontnak futnia kell a kube-proxy-nak, a minikube-nak és a kubelet-nek is, amelyek a fürt részének tekintendők.

  • névtér

    Ez egy logikai klaszter vagy környezet. Ez egy széles körben használt módszer, amelyet a hozzáférés hatókörének meghatározására vagy a fürt felosztására használnak.

Kubernetes Architectúra

Az alábbiakban egy részletes Kubernetes architektúra diagram látható:

Kubernetes Architecture diagram
Kubernetes Architecture diagram

Mester csomópont

A fő csomópont az első és legfontosabb összetevő, amely a Kubernetes-fürt kezeléséért felelős. Ez mindenféle adminisztratív feladat belépési pontja. Előfordulhat, hogy a fürtben egynél több fő csomópont található a hibatűrés ellenőrzéséhez.

A főcsomópont különféle összetevőket tartalmaz, például API-kiszolgálót, vezérlőkezelőt, ütemezőt és ETCD-t. Lássuk mindegyiket.

API szerver: Az API-kiszolgáló belépési pontként működik a fürt vezérléséhez használt összes REST parancshoz.

Scheduler

Az ütemező ütemezi a feladatokat a szolga csomóponthoz. Minden szolga csomóponthoz tárolja az erőforrás-használati információkat. Felelős a munkateher elosztásáért.

Segít nyomon követni azt is, hogy a munkaterhelés hogyan kerül felhasználásra a fürtcsomópontokon. Segít abban, hogy a munkaterhelést a rendelkezésre álló erőforrásokra helyezze, és elfogadja a terhelést.

stb

Az etcd összetevők konfigurációs részleteket és wright értékeket tárolnak. A legtöbb komponenssel kommunikál a parancsok fogadása és a munka érdekében. Ezenkívül kezeli a hálózati szabályokat és a porttovábbítási tevékenységet.

Dolgozó/szolga csomópontok

A munkavégző csomópontok egy másik alapvető összetevő, amely tartalmazza az összes szükséges szolgáltatást a tárolók közötti hálózat kezeléséhez, a fő csomóponttal való kommunikációhoz, amely lehetővé teszi az erőforrások hozzárendelését az ütemezett tárolókhoz.

  • Kubelet: lekéri a Pod konfigurációját az API-kiszolgálóról, és biztosítja, hogy a leírt tárolók üzemben legyenek és működjenek.
  • Docker konténer: Dokkmunkás konténer fut minden egyes munkavégző csomóponton, amely a konfigurált podokat futtatja
  • Kube-proxy: A Kube-proxy terheléselosztóként és hálózati proxyként működik, hogy szolgáltatást hajtson végre egyetlen dolgozó csomóponton
  • Pods: A pod egyetlen vagy több konténer kombinációja, amelyek logikailag együtt futnak a csomópontokon

Egyéb kulcsterminológiák

Replikációs vezérlők

A replikációs vezérlő egy olyan objektum, amely egy pod-sablont határoz meg. Ezenkívül szabályozza a Pod azonos replikáinak vízszintes méretezését a futó másolatok számának növelésével vagy csökkentésével.

Replikációs készletek

A replikációs készletek a replikációs vezérlő tervezésének interakcióját jelentik, amely rugalmasságot biztosít abban, hogy a vezérlő hogyan ismeri fel a kezelni kívánt podokat. Leváltja a replikációs vezérlőket a magasabb replikációs kiválasztási képességük miatt.

Deployments

A telepítés egy gyakori munkaterhelés, amely közvetlenül létrehozható és kezelhető. A telepítés építőelemként használja a replikációs készletet, amely hozzáadja az életciklus-kezelés funkcióját.

Állapottartó készletek

Ez egy speciális pod-vezérlő, amely rendezettséget és egyediséget kínál. Főleg finomszemcsés vezérlésre szolgál, amelyre különösen nagy szüksége van a telepítési sorrend, a stabil hálózatkezelés és az állandó adatok tekintetében.

Daemon Sets

A démonkészletek a pod-vezérlő egy másik speciális formája, amely a fürt minden csomópontján futtat egy pod másolatot. Az ilyen típusú pod-vezérlők hatékony módszer a pod-ok telepítésére, amelyek lehetővé teszik a karbantartás elvégzését, és maguknak a csomópontoknak kínálnak szolgáltatásokat.

Kubernetes vs. Docker Swarm

Itt vannak fontos különbségek között Kubernetes vs Docker.

Vizsgált paraméter Docker Raj Kubernetes
Scaling Nincs automatikus skálázás Automatikus méretezés
Terheléselosztás Automatikus terheléselosztást végez Konfigurálja manuálisan a terheléselosztás beállításait
Tárhely mennyiség megosztása Megosztja a tárolási mennyiséget bármely más tárolóval Megosztja a tárolási mennyiséget több tároló között ugyanazon a podon belül
Bejelentkezési és felügyeleti eszköz használata Használja az 3-etrd párteszköz, mint az ELK Beépített eszközt biztosít a naplózáshoz és megfigyeléshez.
Telepítés Könnyű és gyors Bonyolult és időigényes
GUI GUI nem érhető el GUI elérhető
skálázhatóság A skálázás gyorsabb, mint a K8S, de a klaszter erőssége nem olyan robusztus A skálázás lassú a Swarmhoz képest, de erősebb fürt állapotot garantál A terheléselosztás kézi szervizkonfigurációt igényel
Terhelés elosztás Beépített terheléselosztási technikát biztosít Folyamat ütemezése a szolgáltatások karbantartása érdekében frissítés közben
Frissítések és visszagörgetések Adatmennyiségek naplózása és figyelése Progresszív frissítések és a szolgáltatás állapotának figyelése. Csak ugyanazon Pod beépített naplózó és megfigyelő eszközeiben lévő tárolókkal megosztva.

A Kubernetes előnyei

  • Könnyű szolgáltatásszervezés hüvelyekkel
  • A Google fejlesztette ki, aki több éves értékes iparági tapasztalatot hoz az asztalra
  • A legnagyobb közösség a konténerhangszerelő eszközök között
  • Számos tárolási lehetőséget kínál, beleértve a helyszíni, a SAN-okat és a nyilvános felhőket
  • Betartja a megváltoztathatatlan infrastruktúra alapelveit
  • A Kubernetes helyszíni bare metal, OpenStack és nyilvános felhők futtatására képes Google, Azure, AWSStb
  • Segít elkerülni a szállítói zárolási problémákat, mivel bármilyen szállító-specifikus API-t vagy szolgáltatást használhat, kivéve ahol a Kubernetes absztrakciót biztosít, például terheléselosztót és tárhelyet.
  • A kubernetes használatával történő konténerezés lehetővé teszi, hogy a csomagszoftver ezeket a célokat szolgálja. Lehetővé teszi azokat az alkalmazásokat, amelyeket leállás nélkül kell kiadni és frissíteni.
  • A Kubernetes lehetővé teszi, hogy biztosítsa, hogy ezek a konténeres alkalmazások ott és akkor futhassanak, amikor és amikor csak akarja, és segít megtalálni a használni kívánt erőforrásokat és eszközöket.

A Kubernetes hátrányai

  • A Kubenetes műszerfal nem olyan hasznos, mint kellene
  • A Kubernetes egy kicsit bonyolult és szükségtelen olyan környezetben, ahol minden fejlesztés helyben történik.
  • A biztonság nem túl hatékony.

Összegzésként

  • A Container segít a szervezetnek karbantartást és frissítést végezni a szolgáltatások megszakítása nélkül
  • A Kubernetes egy példa a Google platformon kifejlesztett konténerkezelő rendszerre.
  • A Kubernetes használatának legnagyobb előnye, hogy képes futtatni a helyszíni OpenStack-et, a Google nyilvános felhőit, Azure, AWS stb.
  • A Kubernetes automatizált ütemezési és öngyógyító képességeket kínál.
  • Cluster, a mester, a csomópont és a névtér a kubernetes fontos alapjai
  • A főcsomópont és a munkacsomópont a Kubernetes architektúra fontos összetevői.
  • A replikációs vezérlők, a replikációs készletek, a telepítések, az állapottartó készletek, a démonkészletek a Kubernetesben használt egyéb fontos kifejezések.
  • A Docker swarm nem teszi lehetővé az automatikus skálázást, míg a Kubernetes engedélyezi az automatikus skálázást.
  • A Kubenetes legnagyobb hátránya, hogy a műszerfal nem túl hasznos és hatékony