Kubernetes oktatóanyag kezdőknek

⚡ Okos összefoglaló

A Kubernetes egy nyílt forráskódú konténerkezelő rendszer, amelyet a ... fejlesztett ki. Google amely automatizálja a konténeres alkalmazások telepítését, skálázását és üzemeltetését fizikai, virtuális és felhőalapú szerverek klaszterein, önjavító, automatizált bevezetési, terheléselosztási és konzisztens környezeteket kínálva a megbízható alkalmazásszolgáltatáshoz.

  • ☸️ Kubernetes definíciója: Egy nyílt forráskódú konténerkezelő rendszer a következőtől: Google fürtözött alkalmazásokhoz.
  • 📦 Miért konténerek: A konténerek mindent tartalmaznak, amire egy alkalmazásnak szüksége van, lehetővé téve a frissítéseket és a karbantartást állásidő nélkül.
  • 🇧🇷 Főbb jellemzők: Automatizált ütemezés, önjavítás, bevezetések/visszagörgetések, horizontális skálázás és terheléselosztás.
  • 🧱 Alapvető alkotóelemek: Cluster, fő csomópont (API-kiszolgáló, ütemező stb.), munkacsomópontok és podok.
  • 🆚 a Docker Swarmhoz képest: A Kubernetes automatikus skálázást és beépített monitorozást kínál; a Swarm egyszerűbb és gyorsabban telepíthető.
  • Előnyök és hátrányok: Bármely nagy közösségű felhőn fut, de összetett irányítópulttal és beállítással rendelkezik.

Kubernetes oktatóanyag kezdőknek

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

Mi a Kubernetes?

Kubernetes egy konténerkezelő rendszer, amelyet a következőre fejlesztettek ki: Google platform. A Kubernetes segít a konténeres alkalmazások kezelésében különféle fizikai, virtuális és felhőalapú környezetekben. Google A Kubernetes egy rendkívül rugalmas konténereszköz, amely több száz vagy akár több ezer különálló szerverből álló klasztereken futó összetett alkalmazások konzisztens szállítására szolgál.

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 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 egy Linux kernel, amelyet elosztott rendszerekhez használnak. Segít abban, hogy absztraca csomópontok (szerverek) mögöttes hardverét, és konzisztens felületet biztosít 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.

Mesterképzés

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. Széles körben használt módszer, amelyet sco-hoz használnak.ping egy klaszter elérése vagy felosztása.

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.

Ez is segít tracHogyan használják fel a fürtcsomópontok a munkaterhelést? Segít a munkaterhelést az elérhető és a munkaterhelést elfogadó erőforrásokra osztani.

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ő
Bővíthető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
  • Fejlesztette Googleakik éveknyi értékes iparági tapasztalattal rendelkeznek
  • 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ófüggő problémákat, mivel bármilyen szállítóspecifikus API-t vagy szolgáltatást használhat, kivéve, ha a Kubernetes abszolút korlátot biztosít.tracció, pl. terheléselosztó és tárolás.
  • 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.

GYIK

A pod a Kubernetes legkisebb telepíthető egysége. Egy vagy több konténert csoportosít, amelyek megosztják a tárhelyet, a hálózatot és a futtatási módra vonatkozó specifikációt, és egy csomóponton vannak ütemezve együtt.

A Docker egy konténer futtatókörnyezet, amely konténereket épít és futtat, míg a Kubernetes egy orkestrációs rendszer, amely a konténereket klaszterek között kezeli, skálázza és ütemezi. Gyakran együtt használják őket.

Igen. A Kubernetes nyílt forráskódú és ingyenes az Apache 2.0 licenc alatt. Azonban a felügyelt felhőszolgáltatásokon, például a GKE-n, az EKS-en vagy az AKS-on való futtatása infrastrukturális és szolgáltatási költségekkel járhat.

A mesterséges intelligencia (MI) segíti a Kubernetes működését az erőforrásigények előrejelzésével, a munkaterhelések automatikus skálázásával, anomáliák észlelésével és az ütemezés optimalizálásával. Az AIOps eszközök elemzik a klaszter metrikáit és naplóit a megbízhatóság javítása és a manuális műveletek csökkentése érdekében.

Igen. Az AI-asszisztensek YAML-manifeszteket generálhatnak, hibaelhárítást végezhetnek a hibás podok esetén, javaslatot tehetnek a megfelelő méretezésre, és elmagyarázhatják a klasztereseményeket.ping A csapatok hatékonyabban, kevesebb manuális erőfeszítéssel működtetik a Kubernetes-t.

Foglald össze ezt a bejegyzést a következőképpen: