Hogyan működik a Kubernetes? – CloudSavvy IT

Avatar admin | 2021.03.13. 9 Views 0 Likes 0 Ratings

9 Views 0 Ratings Rate it

A Kubernetes logót ábrázoló grafika

A Kubernetes egy konténeres hangszerelési platform, amely automatizálja a konténeres munkaterhelések telepítését és méretezését. Kubernetes bonyolult és nehézkes hírnévre tett szert. Így egyesítheti az egyes komponenseket a fürt.

A klaszter meghatározása

Egyetlen Kubernetes telepítést „fürtnek” neveznek. A fürtön belül egy vagy több csomópont áll rendelkezésre a tárolók futtatásához. A Csomópont egy fizikai gép ábrázolása, amely csatlakozott a fürthöz.

Kubernetesnek van egy Vezérlősík felület. Ez a munkavállalói csomópontoktól függetlenül működik. A Control Plane az, amellyel kommunikál. Kiteszi a Kubernetes API-t, és felelős a munkáscsomópontok kezeléséért. Általában nem közvetlenül manipulálja a csomópontokat és azok terhelését.

A Kubernetes utasítása a munkaterhelés létrehozására egy API-hívással kezdődik a Control Plane-re. Ezután a Vezérlősík meghatározza azokat a csomópontokat, amelyekre a tárolókat ütemezni kell. Nem számít, hány csomópontod van, a fürtön belül mindig csak egy vezérlősík lesz.

A kontroll sík szerepe

Tágabb értelemben a Control Plane felelős a fürt globális irányításáért. Minden olyan műveletet, amely több csomópontot vagy a fürt infrastruktúráját érintheti, a Vezérlősík fogja kezelni.

A Control Plane több független alkatrészből áll. Együtt felelősek a fürtkonfiguráció kezeléséért, a munkaterhelések futtatásáért és méretezéséért, valamint a fürtön belüli eseményekre való reagálásért (például egy csomópont kifogyó memóriájából).

A Control Plane magja az kube-apiserver. Ez az összetevő biztosítja a Kubernetes HTTP API-t, amelyet olyan eszközökön keresztül fogyaszt, mint a Kubectl és a Helm. Az API az, ahogyan interakcióba lép a fürtjével. Más fürtkomponensek, például a Node dolgozói folyamatok is használják, hogy továbbítsák az információkat a Vezérlő síkhoz.

A fürt erőforrásait – például a csomagokat, a szolgáltatásokat és a munkákat – egyén kezeli „Kontrollerek. ” A kontrollerek figyelemmel kísérik erőforrásaikat az egészségesség és a felkészültség szempontjából. Ismertetik a kért változtatásokat, majd lépéseket tesznek a jelenlegi állapot áttérésére az újonnan kívánt állapotba.

A vezérlőket összesítve kezeli kube-controller-manager. Ez a Control Plane komponens elindítja és futtatja az egyes vezérlőket. Ez a folyamat mindig futni fog. Ha valaha is megállt volna, az API-kiszolgálón keresztül végrehajtott módosításokat nem azonosították, és soha nem történtek állapotváltozások.

Egy másik kritikus vezérlősík komponens kube-ütemező. Az ütemező felelős a Podok csomópontokhoz rendeléséért. Az ütemezéshez több különböző paraméter mérlegelése szükséges, például az egyes csomópontok jelenlegi erőforrás-felhasználása és a jegyzékben érvényesített korlátozások.

Az ütemező felméri az egyes csomópontok alkalmasságát, majd delegálja a Pod-ot a legmegfelelőbb csomóponton való futtatásra. Ha a csomópont elérhetőségének megváltoztatását vagy egy Pod több másolatát kéri, az ütemező intézkedik a munkaterhelés ennek megfelelő átütemezéséről.

A teljes vezérlősík általában egyetlen csomóponton fut a fürtön belül. Ez technikailag lehetséges hogy a Vezérlősík több csomóponton átíveljen. Ez segít maximalizálni elérhetőségét.

Általában a Vezérlő sík elvesztése miatt nem tudja kezelni a fürtöt, mivel az API és az ütemezési funkciók offline állapotba kerülnek. A munkavállalói csomópontok hüvelyei továbbra is futnak – rendszeresen megpróbálják újracsatlakozni a vezérlő síkhoz.

Kommunikáció a csomópontok és a vezérlő sík között

A Kubernetes kétirányú kommunikációs csatorna a csomópontok és a vezérlősík között.

A kommunikációra azért van szükség, hogy a Vezérlősík utasítsa a Node-okat új tárolók létrehozására. Az ellenkező irányban a csomópontoknak vissza kell adniuk a rendelkezésre állásukról szóló adatokat (például az erőforrás-felhasználási statisztikákat) a Vezérlősíkba. Ez biztosítja, hogy a Kubernetes megalapozott döntéseket hozzon a tárolók ütemezésénél.

Az összes munkáscsomópont futtat egy példányt kubelet. Ez egy ügynök segédprogram, amely felelős a Kubernetes vezérlősíkkal való kommunikáció fenntartásáért. Kubelet folyamatosan figyeli azokat a tárolókat is, amelyeket a Node futtat. Értesíti a Vezérlősíkot, ha egy konténer egészségtelen állapotba kerül.

Amikor egy csomópontnak adatokat kell küldenie a Vezérlő síkra, a Kubelet csatlakozik a Vezérlő sík API szerveréhez. Ez ugyanazt a HTTPS-interfészt használja, amelyhez a következő eszközökkel csatlakozik: kubectl. A Kubelet előre van konfigurálva hitelesítő adatokkal, amelyek lehetővé teszik a Kubernetes számára történő hitelesítést.

A vezérlő síkról a csomópontok felé irányuló forgalmat ismét kubelet segítségével kezeljük. A Kubelet kiteszi a saját HTTPS-végpontját, amelyhez a Vezérlősík hozzáférhet. Ez a végpont elfogadja az új tárolójegyzékeket, amelyeket a kubelet használ a futó tárolók beállításához.

Milyen más csomópontok futnak?

A Kubelet nem az egyetlen bináris fájl, amelyet a Kubernetes Node-nak futtatnia kell. Talál egy példát is kube-proxy minden Csomóponton. Ez felelős a csomópont hálózati rendszerének a tároló munkaterhelésének követelményeinek való megfeleléséért.

A Kubernetes-nek van fogalma „Szolgáltatások” amelyek több Pod-t tesznek ki egyetlen hálózati identitásként. A kube-proxy alakítja a szolgáltatásdefiníciókat hálózati szabályokká, amelyek biztosítják a kért hozzáférést.

A kube-proxy úgy konfigurálja az operációs rendszer hálózati infrastruktúráját, hogy lássa a kubelet által létrehozott szolgáltatásokat. A forgalom továbbítását vagy az operációs rendszer szintű csomagszűrő réteg, vagy maga a kube-proxy kezeli.

A kubelet és a kube-proxy mellett a Nodes-nek is rendelkeznie kell egy konténer futásideje elérhető. A tároló futási ideje felelős a képek előhúzásáért és a tárolók tényleges futtatásáért. A Kubernetes támogatja az összes futásidejű megvalósítását Konténer futásidejű interfész leírás. Ilyen például a containerd és a CRI-O.

Következtetés

A Kubernetes sok terminológiát tartalmaz. A klaszterek részekre bontása segíthet abban, hogy megbecsüljék az egyes komponensek összekapcsolódását.

A Control Plane minden csomópont felett helyezkedik el, és felelős a klaszter működésének irányításáért. A csomópontok egyenlőnek tekinthetők közvetlenül a vezérlősík alatt. A csomópontok és a vezérlősík között folyamatos oda-vissza kommunikáció zajlik. Ön, mint felhasználó, csak az API-kiszolgálón keresztül kommunikál a Vezérlő síkkal.

A Kubernetes-fürt architektúráját ábrázoló grafika

A Control Plane tehát a fürt központja. Általában nem közvetlenül kapcsolódik a Nodes-hez. Ehelyett utasításokat küld a Vezérlősíknak, amely aztán megfelelő ütemtervet készít a kérés teljesítéséhez. A munkaterhelések csak akkor kerülnek ütemezésre a Csomópontok számára, ha a Vezérlősík tárolójegyzéket küld az elérhető kubelet példányok egyikének.

Amikor egy csomópont új jegyzéket kap, akkor a tároló futásidejét használja a megfelelő kép előhívásához és egy új tárolópéldány elindításához. Ezután a kube-proxy módosítja a hálózati konfigurációt a szolgáltatások beállításához és a munkaterhelés hozzáférhetővé tételéhez. A Kubelet visszaküldi a csomópont állapotáról az adatokat a Kubernetesnek, lehetővé téve számára a Pods átütemezését, ha a Node erőforrások korlátozódnak.


Source link


9 Views 0 Ratings Rate it

  • Minden jog fenntartva 2019-2020. Hogyankészítsek.Hu Impresszum Adatkezelési szabályok