A Kubernetes használatának megkezdése: Bevezetés kezdőknek

A Kubernetes a legnépszerűbb nyílt forráskódú szoftver, amely automatizálja a konténerfejlesztési folyamatokat.

A Cloud Native Computing Foundation (CNCF) éves tanulmánya szerint a szervezetek 96%-a vagy K8-at használ, vagy fontolgatja azok használatát. Ha figyelmesen követi, világszerte 5,8 millió fejlesztő használja a Kubernetes-t, és ez a háttérfejlesztők 31%-a világszerte.

Előnyben részesítendő, mert képes kihasználni a technológiát a jobb skálázhatóság, rendelkezésre állás és rövid üzembe helyezési idő révén. Míg sok fejlesztő elindítja a konténerek pályáját a Dockerrel (egy átfogó eszköz, amely a CLI-re támaszkodik a konténerekkel való interakcióhoz, egyenként), a K8s magas szintű absztrakciókat biztosít, amelyek segítségével vázlatosan határozhatja meg az alkalmazásokat és azok infrastruktúráját. együttműködhetsz.

Ha még nem ismeri a Kuberneteset, ezt a cikket kifejezetten úgy állítottuk össze, hogy segítsen a bevezető szakaszokon, és megosszon ismereteket az induláshoz. Megtudhatja, hogy a K8s hogyan segíthet Önnek fejlesztőként digitális termékei feltöltésében.

Mi az a Kubernetes, és miért van szüksége rá?

A Kubernetes egy nyílt forráskódú koordinációs motor (keretrendszer), amelyet a konténeres alkalmazások telepítésének, méretezésének és kezelésének automatizálására használnak; ide tartozik a kiszámíthatóság és a rendelkezésre állás kezelése.

Egyszerűen fogalmazva, gondoljunk egy olyan alkalmazásra, amelyet konténerbe helyezett. Az alkalmazás felhasználóinak kiszolgálásához több tárolót kell futtatnia. Aggodalomra ad okot, amikor kezelni kell ezeket a tárolókat. A tartályok nem feltétlenül ugyanazon a gépen vannak, ami bonyolultabbá teszi a dolgot. Szóval, mi a megoldás erre a problémára?

A Kubernetes segítségére lesz azáltal, hogy hatékony módszert biztosít ezen folyamatok zökkenőmentes kezelésére. Bár a K8-asokat egy konténermotorhoz, például a Dockerhez hasonlíthatja, ez egy konténer hangszerelő. Kezdő fejlesztőként nem kell aggódnia amiatt, hogy a K8s hogyan végzi a hangszerelést. Valószínűleg nem fog K8s-fürtöt beállítani az alkalmazásához; erről hamarosan bővebben.

Ugyanakkor kapcsolatba léphet az infrastrukturális csapata által létrehozott fürtökkel. Kulcsfontosságú, hogy megismerkedjen azokkal a tárgyakkal, amelyekkel kapcsolatba kerül. De mielőtt ezt megtenné, magas szintű ismerete szükséges az architektúrájáról, hogy megértse, mi történik alatta.

A Kubernetes jellemzői

A Kubernetes számos olyan funkcióval rendelkezik, amelyek széles körű képességekkel rendelkeznek a konténerek és más kapcsolódó infrastruktúra futtatásához. Íme egy lista:

  • Automatikus kiterjesztés, méretezés és visszaállítás – A K8s robotizáltan létrehozza a megadott számú replikát, elosztja azokat a megfelelő (legmegfelelőbb) hardverek között, és átütemezi a konténereket, ha egy csomópont leállási állapotban van. Azonnal méretezheti replikáit a kereslet vagy a változó igények, például a CPU-használat alapján.
  • Szolgáltatásfelderítés, terhelésstabilizálás és hálózati bejegyzés – A Kubernetes egyedülálló hálózati megoldást kínál, beleértve a belső szolgáltatásfelderítést és a nyilvános tárolók feltárását.
  • Alkalmazások állapottal és anélkül – A kezdeti időkben a K8s főként az állapot nélküli konténerekre összpontosított. Ahogy a technológia számos területen fejlődik, ma már beépített objektumokat is beépít, amelyek állapotfüggő alkalmazásokat képviselnek. Ratifikálva bármely alkalmazás futhat a Kubernetesen.
  • Tárhelyszabályozás – Akár helyi fájlrendszeren, hálózati megosztáson vagy felhőben van, a Kubernetes (absztrakt) állandó tárhelyet biztosít a konténereken futó alkalmazások számára. Az absztrakció pedig lehetővé teszi a tárolási követelmények meghatározását, függetlenül az alapul szolgáló infrastruktúrától. Bár ez túlmutat e cikk hatókörén, olyan alapelveken keresztül működik, mint a tartós kötet (PV), a tartós kötetigénylés (PVC), a tárolási osztályok és a kötetbővítmények.
  • Deklaratív állapot – A K8s a Yet Ain’t Markup Language (YAML) fájlokat, úgynevezett objektumjegyzék-fájlokat használja a fürt kívánt állapotainak megadásához. A jegyzékek határozzák meg, hogyan néz ki a fürt, beleértve, de nem kizárólagosan, a kívánt alkalmazáspéldányokat és hálózati szabályokat, többek között az egyéb konfigurációkat. A jegyzékek alkalmazásakor a K8s automatikusan kezel minden állapotátmenetet – ehhez nem kell megírnia a szkripteket.
  • Több munkakörnyezet – Ön nem korlátozódik a Kubernetes felhőben vagy a fejlesztői munkaállomáson történő használatára. Szinte minden disztribúció elérhető, hogy megfeleljen az adott használati esetnek. Nézze meg a nagy felhőtechnológiai szolgáltatókat, mint például az Amazon Web Services, a Google Cloud és a Microsoft Azure. Rá fog jönni, hogy mindegyik felügyelt Kubernetes-szolgáltatásokat kínál, miközben az egycsomópontos disztribúciók, például a Minikube és a K3s elérhetőek helyi használatra.
  • Szuper kiterjedtség – A K8s számos funkció gyűjteménye. Mintha ez nem lenne elég, bővítésekkel lehet gyorsítani a képességeit. Egyéni objektumtípusokat, operátorokat és vezérlőket építhet a munkaterhelések egyszerűsítésére.
  •   Hogyan hozhatunk létre HAR-fájlt a Google Chrome-ból, a Firefoxból és hogyan elemezhetjük azt?

    Kubernetes építészet

    A Kubernetes architektúra lényegében egyetlen fő csomópontból és két dolgozó csomópontból áll. A mester csomópont meghívja a fürtben lévő felvételeket, míg a dolgozó (szolga) csomópontok a mester döntése szerint futtatják az alkalmazásokat.

    Forrás: kubernetes.io

    Itt van egy további bontás.

    A fő csomópont(ok)

    A főcsomópont diktálja a fürt állapotait, és meghatározza az egyes csomópontok műveleteit. A fő csomópont beállításához számos folyamat szükséges.

  • API szerver
    Az összes klaszterkommunikáció itt alapul. Ez az átjáró, amely lehetővé teszi az összes fürtkomponens számára az információcserét. Felfedi a Kubernetes API-t. Két főszerep van itt. Az első egy belépési pont, amely lehetővé teszi a felhasználók számára, hogy kapcsolatba lépjenek a fürttel. Például kérések küldése Kubectl használatakor. Másodszor, kapuőrzés a kérések hitelesítésére és érvényesítésére. Ebben az esetben csak bizonyos felhasználók hajthatnak végre kéréseket.
  • Ütemező
    Az ütemező alkalmazásokat vagy Kubernetes munkaterhelési objektumokat rendel a dolgozó csomóponthoz. Itt az ütemező az erőforrásigények alapján sorba rendezéseket helyez el a csomópontokon. És ha a podokról beszélünk, az csak egy kis telepítési egység a Kubernetesben.
  • Controller Manager
    Ez az egység fürtöket tart fenn, például csomóponti hibákat, hogy fenntartsa a megfelelő számú podokat. Érzékeli a fürt állapotváltozásait, például a hüvelyek elhalását, és megpróbálja visszaállítani a pod eredeti állapotát. Például, ha egy pod véletlenül meghal, a vezérlőmenedzser arra kéri az ütemezőt, hogy erősítse meg, melyik csomópont pörget fel új pod csereként, a kubelet pedig egy új pod.
  • stb
    Klaszter agynak is nevezik. Az egység a fürtkonfiguráció kulcsértéktárolója. Ez azt jelenti, hogy minden klasztermódosítás itt történik. A fürtről biztonsági másolatot készíthet a kulcsérték elosztott tárolójának mentésével. Kérjük azonban, vegye figyelembe, hogy itt csak a fürtállapot-adatok tárolódnak, az alkalmazásadatok nem. Ez az egység kifejezetten a fürt állapotinformációinak tárolására és a korábbi folyamatokhoz való felhasználására szolgál, amelyek tudatosítják őket a fürtről.
  • A rabszolga csomópont(ok)

    Minden szolga csomópont három csomóponti folyamattal van telepítve, amelyek lehetővé teszik a K8-asok számára, hogy kölcsönhatásba lépjenek vele, és külön-külön felpörgessenek podokat minden csomóponton belül. A szükséges folyamatok a következők:

  • Kubelet
    Ez a Kubernetes elsődleges szolgáltatása, amely a tárolóvégrehajtási réteg végrehajtását futtatja. Ha kiveszi ezt az egységet, a Kubernetes nem más, mint egy REST API, amelyet kulcsérték tárolóval támogat. Alapértelmezés szerint a K8s végrehajtja a tárolóalkalmazást. A tárolók mindig el vannak szigetelve egymástól és az alapul szolgáló gazdarendszertől. Ez analitikusnak bizonyult az egyes alkalmazások kezelésének egymástól és a fizikai vagy virtuális infrastruktúrától való szétválasztásában.
      Hogyan frissíthető a VMware Workstation Pro v15.5.7 v16-ra?

    Míg az API-engedélyezési vezérlő elutasíthatja a pod-okat, vagy további megszorításokat adhat hozzá, a kubelet a végső megerősítője annak, hogy egy adott csomóponton milyen pod-ok futnak, nem pedig ütemezők vagy démonkészletek. Összefoglalva, a kubeletek kölcsönhatásba lépnek a csomóponttal és a tárolóval. Ezenkívül konfigurációs fájlokat vesz fel, és felpörgeti a podokat a konténer futásidejű használatával.

  • Tároló futási ideje
    Ez a szakasz konténereket futtat. Használhatja például a Docker, rkt vagy conatinered egy kicsit többet a konténerek működéséről szakaszban.
  • Kube-proxy
    Ez az egység absztrakciós réteget biztosít a csomópont-csoportok számára az általános szabályzatok szerint, például a terheléselosztás esetében. Minden csomópont Kube-proxyt alkalmaz, hogy virtuális IP-címet biztosítson a dinamikus podokhoz hozzáférő ügyfelek számára. Ez a szerkezet a megoldás a terheléskiegyenlítésre, miközben alacsony teljesítményű rezsiköltséget biztosít.
  • Hogyan működik a konténerezés

    A konténerezés azt jelenti, hogy a szoftveralkalmazás összes szükséges részét egyetlen egységbe kell virtualizálni. A tárolók alatt könyvtárak, binárisok és az összes szükséges alkalmazáskonfiguráció gyűjteménye található. De nem tartalmazzák a kernel erőforrásokat vagy a virtualizált hardvert.

    Végső soron futtasson „felső” konténer-futókörnyezeteket, amelyek körvonalazzák az erőforrásokat. Mivel a tárolók csak az alapvető összetevőket és az alkalmazásfüggőségeket tartalmazzák, más virtuális gépekkel ellentétben könnyűek és így gyorsabbak.

    Olvassa el még: Konténerek vs. Virtuális gépek: A különbségek magyarázata

    A Kubernetes telepítése és beállítása

    Annyi időt töltöttem elméleti gondolkodással; a lépcsőzetes szakasz taktikai lesz, és gyakorlati konténeres tapasztalattal jár. Ez az oktatóanyag különösen a Windows operációs rendszerre történő telepítésről szól.

    Windows használatakor többféleképpen is telepíthet; választhat a parancssor vagy a grafikus felhasználói felület közül. Gondoskodnia kell azonban arról, hogy megfeleljen a következő előírt előírásoknak.

    A hardvernek legalább 2 GB memóriával és 700 MB-tal rendelkező fő csomópontra van szüksége a dolgozó csomóponthoz. A szoftverkövetelményekhez Hype-v, Docker asztali számítógépekhez, egyedi Mac-cím és egyedi termék UUID minden csomóponthoz. Íme a lépésről lépésre történő megközelítés.

    A Hyper-V telepítése és beállítása

    A Hyper-V a Window alapértelmezett virtualizációs szoftvere. Lényegében ez egy VirtalBox szteroidokon. Lehetővé teszi a virtuális gépek kezelését akár Microsoft grafikus felületen, akár parancssorban. A Hyper-V engedélyezéséhez kövesse az alábbi lépéseket.

  • Nyissa meg a Vezérlőpultot.
  • Kattintson a programokra a bal oldali panelen.
  • A Program és szolgáltatások oldalon kattintson a „Windows-szolgáltatások be- és kikapcsolása” lehetőségre
  • Válassza ki a Hyper-V és a Hypervisor funkciókat a Windows rendszerhez.
  • Ezután válassza az OK lehetőséget ennél a lépésnél; a gépnek újra kell indulnia az új beállítások aktiválásához.
  • Alkalmanként előfordulhat, hogy a számítógép többször is újraindul, hogy minden megfelelően konfigurálva legyen. A telepítés sikerességét a következő parancs beírásával ellenőrizheti a Power Shellben.

    Get-Windows OptionalFeature -Online -FeatureName Microsoft-Hyper-V

    Győződjön meg arról, hogy a képernyő „engedélyezett” állapottal van feltöltve.

    Docker telepítése

    Amint azt megtudta, a K8s egy konténerek tetejére épített konténer hangszerelési eszköz; ebben az esetben a Docker jó választás. A K8s kommunikál a Dockerrel, és mindent vállalati szinten kezel. Mozogjon a Docker for Windows letöltésével. Ha kíváncsi arra, hogy miért van szükség a Docker Desktop használatára, ezt részesítik előnyben a dokkolós (konténeres) alkalmazások fejlesztésének, szállításának és futtatásának leegyszerűsítésére.

    Ez egyben a leggyorsabb módja a Docker-alkalmazások Windows rendszeren történő létrehozásának Hyper-V és hálózat használatával. Sikeres telepítés után a Docker mindig elérhető bármely terminálon, amíg fut. A telepítéssel kapcsolatos részletes útmutatóért tekintse meg a hivatalos Docker dokumentációt. Ha a telepítés után olyan problémákba ütközik, mint például a rejtett ikonok, a probléma megoldható a gép újraindításával.

      Sorok és oszlopok összesítése a Microsoft Wordben

    A Kubernetes telepítése

    A Docker GUI lehetővé teszi a beállítások konfigurálását, a Kubernetes telepítését és engedélyezését. A K8s telepítéséhez kövesse az alábbi lépéseket.

  • Kattintson jobb gombbal a Docker tálca ikonjára, és válassza ki a tulajdonságokat.
  • A „Tulajdonságok” gombra kattintás után válassza ki a „Beállítások” lehetőséget a legördülő menüből.
  • A bal oldali panelen válassza a „Kubernetes” lehetőséget, majd kattintson az „Alkalmaz” gombra.
  • A Docker ezután telepít néhány további csomagot és függőséget. A folyamat körülbelül öt-tíz percig tart, az internet sebességétől függően. A Docker alkalmazással megerősítheti, hogy minden megfelelően működik.

    Mivel a Kubernetes-alkalmazások a parancssori felülettel telepíthetők, előfordulhat, hogy telepítenie kell a K8s irányítópultját, mivel az alapértelmezés szerint nincs telepítve. Telepítse a műszerfalat a következő lépésekkel.

  • Töltse le a YAML konfigurációt.
  • Telepítse az alkalmazást a következő kóddal: . Kubectl apply -f .recommended.yaml.
  • Erősítse meg, hogy minden megfelelően be van állítva: kubectl.exe get -f .recommended.yaml.txt.
  • Az irányítópult eléréséhez futtassa a következő parancsot a Power Shell-en (nem a CMD-n)

  • Futtassa a következő kódot ((kubectl -n kube-system írja le a titkos alapértelmezést | select-string „token:”) – osztott „+”)[1]
    • Másolja ki a generált tokent, és futtassa a kubectl proxyt.
  • Nyissa meg ezt a hivatkozást a böngészőjében.
  • Kattintson a „Token” elemre, és illessze be ide a tokent.
  • Bejelentkezés.
  • Ha eljutott ide, bravo a képernyőjét fel kell töltenie a K8s műszerfalával. Mostantól a CLI használatával kezelheti alkalmazásait a kemény munka elvégzése nélkül.

    Olvassa el még: A Kubernetes telepítése Ubuntu 18-ra

    A Kubernetes-fürt létrehozása és kezelése

    Ha ezt követte, sikeresen telepítette a Kuberneteset a gazdagépére. Kövesse az alábbi lépéseket a fürt egyszerű kezelésének létrehozásához és végrehajtásához:

  • Hálózat konfigurálása – Itt be kell állítania a hálózatot a fürtcsomópontok között; lehetővé teszi számukra, hogy kommunikáljanak egymással.
  • Fürt hitelesítés beállítása – Hitelesítési és engedélyezési mechanizmusok létrehozása a fürthozzáféréshez.
  • Főkomponensek beállítása; magában foglalja az API-kiszolgálót, az ütemezőt és a vezérlőkezelőt.
  • Munkavégző csomópontok csatlakoztatása – Munkavégző csomópontok csatlakoztatása a fürthöz a fürttelepítési folyamat által biztosított konfigurációs fájlokkal.
  • Bővítmények telepítése – A fürt funkcióinak bővítése érdekében bővítményeket telepíthet.
  • Munkaterhelések kezelése – Itt az ideje, hogy üzembe helyezze alkalmazásait.
  • Bár ez csak egy áttekintés a fürt létrehozási folyamatáról, sok lépésből áll, amelyek több parancsot tartalmaznak. Itt található a hivatalos dokumentációs útmutató a fürtök telepítés előtti létrehozásához. Ez legyen a te irányító kezed.

    Az első alkalmazás üzembe helyezése a Kubernetes használatával

    A K8s használatakor a leggyakoribb parancs a kubectl action resource, amely lehetővé teszi bizonyos műveletek végrehajtását, például egy adott erőforrás létrehozását vagy törlését.

    Ha elakad, használhatja a –help parancsot egy adott alparancs után további információkért.

    Például a Kubernetes csomópontokat kap – súgó. Telepítse első K8s-alkalmazását a kubectl create deployment Kubernetes-bootcamp –image=gcr.io/google-samples/Kubernetes-bootcamp:v1 paranccsal.

    Végső szavak

    Ez az útmutató a Kubernetes technológia belépési pontja volt. Megtanulta a Kubernetes előnyeit, funkcióit és architektúráját. Szerencsére előfordulhat, hogy néhány mutatóra (külső erőforrásokra) kellett hivatkoznia az induláshoz; elmagyarázta, hogyan működnek a dolgok a motorháztető alatt.

    Noha kezdőként túlzónak tűnhet a teljes technológiai halmaz felfogása, ez a bejegyzés egy zökkenőmentes iránymutatás volt a K8s használatához. Szüksége lesz egy kis gyakorlásra, hogy magabiztossá váljon ennek a technológiának a használatával kapcsolatban, ezért a hivatalos Kubernetes dokumentációra hivatkozom, mint egymás melletti hivatkozást. Minél több gyakorlatod van, annál gyorsabban leszel a K8-asok szakértője.

    Ezután tekintse meg a Kubernetes oktatóanyagait kezdőknek, hogy elsajátítsák.