Kubernetes: maximális üzletfolytonosság konténertechnológiával

A Kubernetes konténertechnológia költséghatékony, rugalmas és rengeteg automatizációs lehetőséget kínál.

A számítástechnika hajnalán elterjedt monolit rendszerek felett már az ezredforduló környékén eljárt az idő. Az olyan technológiákkal, mint a Hyper-V vagy a VMware, a kétezres években megjelent a konténerizáció, a szervervirtualizáció iránti igény, ahol az egyes kiszolgálók egymástól elkülönülve, de fizikailag akár egyetlen gépen futhattak.

A Docker konténertechnológián alapuló első, tömeges konténerkezelési (angolul orchestration) megoldás a könnyen menedzselhető Swarm volt. Korlátozott tudása azonban nem felelt meg minden körülmények között, ezért a 2010-es években több riválisa is született. Elsőként a Red Hat gondozásában az OpenShift kínált komplexebb lehetőségeket, majd az évtized közepén létrejött az összetettebb feladatok elvégzésére is használható Kubernetes.

Nézzük meg kicsit részletesebben, mire képes ez utóbbi!

Automatikusan méretezett erőforrások

A konténerek tömeges és jelentős mértékben automatizált kezelését - beleértve a skálázását és felügyeletét is – biztosító rendszer a Google mérnökeinek keze munkáját dicséri. Jelenleg a Cloud Native Computing Foundation gondozza a nyíltforrású projektet. Közkedvelt technológia, mert általa a műszaki képességek könnyen és gyorsan üzleti előnnyé alakíthatók.

Három fő előnnyel rendelkezik a Kubernetes. Az első az úgynevezett Autoscaling, mellyel az adott konténerek rendelkezésére álló erőforrások változtathatók - terhelésétől függően – automatizáltan. Mivel az erőforrások méretezése nem csak technológiai, hanem egyben pénzügyi kérdés is, fontos stabilitási és költségelőnyöket jelent a fixen megvásárolt CPU, memória, tárterület, hálózati kapacitás használatával szemben az Autoscaling használata.

Hazai példa is akad arra a jelenségre, amikor egy szervezet az elégtelen erőforrások miatt képtelen minden érdeklődőjét, ügyfelét kiszolgálni. Az a webshop, amelyik belefut ebbe a plafonba, azt tapasztalhatja, hogy az addig jól működő rendszere visszautasítja az online vásárlásokat, az interneten böngésző vevők az összeállított kosár után pedig nem a fizetésnél találják magukat, hanem a folyamat újrakezdésénél. Ez sok millió forintos veszteséget jelenthet a kereskedőnek, nem kevés bosszankodást a vásárlónak.

Az Autoscaling az ilyen, akár előre nem látható eseményeknél segíti a vállalatokat. Az olyan nagy ügyfelek, mint például a Netflix, a Tinder vagy a Spotify, anélkül tudják a felhasznált erőforrások mennyiségét rugalmasan változtatni, hogy azt a szervezet vagy az ügyfeleik megéreznék.

Öngyógyító csomópontok

A Kubernetes legkisebb logikai modulja a node, melyek közül a master koordinál, a worker változatok pedig a tényleges munkát végzik. Utóbbiak könnyen és gyorsan kiválthatók, köszönhetően a korábbi szemlélet megváltozásának. Míg a monolit rendszerek idején egy-egy szerver kritikus fontosságúnak számított, azaz úgy vigyáztak rá, mint egy kiskedvencre (pet), addig a konténertechnológia lehetővé teszi a meghibásodó node-ok gyors cseréjét. Vagyis a nyáj egyik tagjaként (cattle) könnyen és fájdalommentesen le/kivágható, majd egy új, megfelelő működésű node-dal helyettesíthető funkcionalitása.

Érdekesség, hogy a Kubernetes sok frontendje közül az egyik legismertebb is ezt a pet vs. cattle szemléletmódot vizualizálja. A Rancher logója ugyanis egy kék színű, sematikus (vágó)marha.

Amennyiben tehát egy csomóponttal gond adódik, nem feltétlenül annak javítgatása jelenti a célszerű hibaelhárítási módot. A Kubernetes Autohealing funkciója kiveszi a defektes node-ot a rendszerből, majd az egészségesekből leklónozva munkába állít egy új, elvárt működésűt. Ennek automatizált működése így stabilitást és üzemeltetési biztonságot kínál.

Elkerülni a negatív ügyfélélményt

Előbb-utóbb minden rendszert utolér a változtatás igénye, ilyenkor találkozunk előre tervezett leállással, rövidebb-hosszabb ideig tartó üzemszünettel. Noha az erre kárhoztatott szolgáltatók igyekeznek az ügyfeleknek legkevesebb fájdalmat okozó időszakra beilleszteni ezeket a folyamatokat, azok mégis zavaróak lehetnek az üzletfolytonosság szempontjából.

A Kubernetes Rolling update képességével mindez elkerülhető. A már említett node-logika miatt a feladatokat végző csomópontok működés közben variálhatók. Árnyékmásolat létrehozásával anélkül lehet kiváltani az aktuális verziót futtató node-ot egy új változattal rendelkezőre, hogy az leállást/kiesést okozna. Ez különösen fontos tulajdonság a kimaradások azonnali pénzügyi vonzatával szembenézni kénytelen szolgáltatók, például webshopok számára.

Rolling update-tel az ügyfél és felhasználói semmit nem éreznek egy verzióváltásból, biztonsági frissítésből. Mindezt ráadásul nagyon felhasználóbarát módon lehet végrehajtani. Előre definiált, egyfajta piactérszerű válogatásból választhatja ki és frissítheti a szolgáltató a kívánt node-ot. Összetett konfigurálás, extra szaktudás nélkül, pusztán pár kattintással végrehajtható a változtatás.

CÍMKÉK: