Jana Kohárová profilova fotografia

Komu sú určené Kubernetes?

Kubernetes je ideálnou platformou pre hosťovanie aplikácií v cloude. Predstavuje zaujímavé riešenie ako ľahko nasadiť nové aplikácie respektíve upraviť už existujúce. Pomáha riešiť škálovateľnosť, životný cyklus a dostupnosť aplikácií, čím ich robí efektívne a dobre prispôsobiteľné.

Jednou z požiadaviek, aby mohol aplikačný softvér fungovať v hybridnom alebo multicloudovom prostredí, je možnosť jeho presúvania z firemného dátového centra do cloudu a opačne, a tiež presúvania medzi servermi bežiacimi na rôznych platformách či cloudových službách rôznych poskytovateľov.

Aj laikovi je zrejmé, že aplikácia, vytvorená pre jeden operačný systém, nemôže priamo fungovať na serveri využívajúcom inú platformu. Riešením tejto požiadavky je kontajnerizácia a Kubernetes ako otvorený rámec pre multicloudovou infraštruktúru, umožňujúcu prevádzkovať moderné aplikácie.

Kormidelník kontajnerových lodí

Technológia Kubernetes bola vyvinutá v spoločnosti Google a v súčasnosti ju spravuje organizácia Cloud Native Computing Foundation. Je to open source systém na orchestráciu kontajnerov za účelom automatického nasadzovania a správy aplikácií v multiplatformovom a multicloudovom prostredí. Názov je anglickým prepisom starogréckeho slova κυβερνήτης (kubernétés), označujúceho kormidelníka lodí. Je to veľmi výstižné pomenovanie, pretože Kubernetes robia podobnú činnosť ako kormidelníci kontajnerových lodí.

Pre človeka, ktorý nie je odborníkom na IT, ale aj pre „old school“ vývojárov a IT špecialistov, je to veľa nových pojmov v dvoch vetách. Pod pojmom kontajner  v kontexte softvéru rozumieme nezávislý spustiteľný balík softvéru, obsahujúci všetko potrebné k fungovaniu na akejkoľvek platforme. Tento balík obsahuje zdrojový kód, konfiguračné údaje, knižnice, systémové údaje a ďalšie bloky potrebné k spusteniu softvéru. Kontajnery izolujú softvér od svojho okolia, čím sa dosiahne, že aplikačný softvér bude v akomkoľvek prostredí, do ktorého bude aktuálne nasadený, bežať vždy rovnako. Aplikácie zapuzdrené v kontajneroch môžu bežať buď priamo na fyzickej infraštruktúre alebo vo virtualizovanom prostredí.

Vyplatí sa dôverovať cloudu? 

Základným predpokladom využívania Kubernetes je, samozrejme, prvotná dôvera v neobmedzené možnosti cloudových služieb. Dynamika cloudu je dnes bezkonkurenčná. Niekedy stačí málo, aby sa podnikanie rozvíjalo tou správnou cestou. Veľkou inšpiráciou, prečo sa oplatí dôverovať cloudu, môže byť aj naša stránka, kde nájdete 5 najčastejších dôvodov firiem využívajúcich obľúbený slovenský cloud od spoločnosti GAMO.

Rýchlosť a škálovateľnosť

Aplikácie by sa v multiserverovom a multicloudovom prostredí dali, samozrejme, presúvať zároveň s virtuálnymi strojmi (Virtual Machine). No na rozdiel od virtuálneho stroja, ktorý obsahuje aj operačný systém, kontajnery obsahujú len aplikácie a komponenty, potrebné pre svoje fungovanie. Čiže neobsahujú virtualizovaný operačný systém. Vďaka tomu sú kontajnery podstatne menšie – rádovo v desiatkach megabajtov, na rozdiel od súborov virtuálnych strojov s typickou veľkosťou desiatok gigabajtov. Presun 1000-krát menších súborov je pri vyrovnávaní záťaže medzi jednotlivými servermi – či už fyzickými alebo virtualizovanými, alebo vo vlastnej serverovni či v cloude – oveľa rýchlejší, a zároveň menej zaťažujúci sieťovú vrstvu.

Aplikácie v hybridnom a multicloudovom IT prostredí sa spravidla postupom času – hlavne z dôvodu škálovania, rozširujú do viacerých kontajnerov, nasadených na rôznych serveroch. Ich spravovanie sa tak stáva čoraz zložitejším. Na čo najefektívnejšiu správu kontajnerového prostredia sa preto využívajú Kubernetes, umožňujúce túto zložitosť zvládnuť. Technológia Kubernetes poskytuje open source rozhranie API a definuje základné množiny blokov, ktoré spoločne poskytujú nástroje na nasadzovanie, udržiavanie a škálovanie aplikácií. Jednotlivé bloky sú voľne spojené a vďaka už spomínanému Kubernetes API aj rozšíriteľné.

Aby aplikácie mohli naplno využiť výkon klastra virtuálnych serverov, Kubernetes tento klaster orchestruje. To znamená, že operatívne plánuje spúšťanie kontajnerov na virtuálnych serveroch v závislosti od aktuálnych požiadaviek jednotlivých kontajnerov na výpočtové prostriedky a aktuálne dostupných výpočtových prostriedkov jednotlivých virtuálnych serverov. V podstate ide o vyrovnávanie záťaže, monitorovanie priradenia prostriedkov a ich škálovanie. Kubernetes tiež umožňuje aplikáciám, aby sa v prípade problémov samy opravovali prostredníctvom automatického reštartovania alebo replikácie kontajnerov. Z toho vyplýva, že Kubernetes je ideálnou platformou pre hosťovanie aplikácií v cloude, hlavne tých, ktoré vyžadujú rýchle škálovanie, prípadne častejšie úpravy a aktualizácie.

Základné pojmy a fungovanie

Kontajnery sa zoskupujú do takzvaných Podov (Pods), čo sú základné prevádzkové jednotky pre Kubernetes, a tieto Pody sa automaticky škálujú podľa aktuálnych požiadaviek. Pod teda pozostáva z jedného alebo viacerých kontajnerov, ktoré sa spoločne podieľajú na niektorých činnostiach a môžu byť spravované ako jedna komplexná aplikácia.

Spojenie kontajnerov do podov zabezpečí, že súvisiace aplikácie, napríklad aplikácia a databázový server, sú hosťované a spravované spoločne, majú spoločné zdieľané prostredie, súborový systém aj IP adresu. Škálovanie je realizované na úrovni celého Podu.

Nakoľko IP adresa Podu sa môže meniť v závislosti na tom, kam je Pod aktuálne presunutý, je komunikácia medzi Podmi – napríklad medzi front-end a back-end vrstvou aplikácie, sprostredkovaná pomocou abstraktnej vrstvy takzvaných služieb (Service). Vďaka tomu si viacvrstvové aplikácie, umiestnené vo viacerých Podoch, nemusia pamätať IP adresy iných Podov, ktoré sa navyše menia.

Pody sa presúvajú medzi Uzlami (Node). Uzol je virtuálny alebo fyzický stroj, ktorý vytvára operačné prostredie beh Podov. Najväčšou výhodou technológie Kubernetes je, že automaticky rieši nasadzovanie kontajnerov, sleduje ich dostupnosť a aktuálne požiadavky na výkon, a snaží sa efektívne využiť dostupnú kapacitu serverov. Kubernetes vytvára abstraktnú vrstvu nad servermi, takže všetky prepojené servery sú dostupné ako jeden stroj.

Nezničiteľná infraštruktúra

Nakoľko kontajnerové aplikácie sú oddelené od infraštruktúry, pri spustení v prostredí Kubernetes sú jednoducho prenosné. Dajú sa presúvať z firemných serverov do hybridných a cloudových prostredí, aj medzi jednotlivými cloudmi, pri zachovaní ich konzistencie naprieč prostrediami.

Týmto sa infraštruktúra zákazníka stane takmer nezničiteľná. V prípade nefunkčnosti niektorého kontajnera pod správou Kubernetes sa okamžite automaticky spustí nový identický kontajner a aplikácie zostanú funkčné.

Kubernetes spoľahlivo a efektívne riešia aj problémy súvisiace s predvídateľným i nepredvídateľným nárastom požiadaviek na výkon, napríklad u e-shopov v období nákupných špičiek, alebo ak predávate vstupenky na veľké podujatie. Ak aplikácia a jej kontajnery nestíhajú, vytvorí sa klon kontajnera, čiže ďalší identický kontajner, a dočasne sa zvýši výkon. Keď sa po nejakom čase záťaž vráti do normálu, nadbytočné kontajnery sa zrušia a za výpočtový výkon, ktorý sa nevyužíva, už netreba platiť.

Aplikácie využívajúce Kubernetes z pohľadu bezpečnosti

Kubernetes dokážu prevádzkovať technologické spoločnosti so spoľahlivou cloudovou infraštruktúrou, vybudovanou podľa najprísnejších bezpečnostných štandardov. Tieto poskytujú vývoj aplikácií s vysokou dostupnosťou a zároveň s garantovanou správou celého prostredia odborníkmi, ktorí sa vždy za každých okolností a v reálnom čase postarajú o zabezpečenie kontinuity. Vytvárajú tým silný predpoklad na vytvorenie minimálne základnej odolnosti (a viac) pred kybernetickým útokom.
Uvažovať o kybernetickej bezpečnosti je v dnešnej dobe nevyhnutné pre všetky spoločnosti využívajúcej informačné technológie. Ak patríte medzi šťastlivcov, ktorí sa ešte s kybernetickými útočníkmi a útokmi nestretli, gratulujeme, no ste možno v poradí a buďte pripravení. V dnešnej dobe sa to, žiaľ, môže rýchlo a niekedy aj s nezvratnými dôsledkami pre spoločnosti zmeniť. A to nie je fakt verifikovaný len našimi poznatkami, ale celosvetovými prieskumami špecializovaných inštitúcií. Pre systematický štart alebo rozšírenie kybernetickej ochrany preto môžete využiť aj ponuku odborne pripravených štartovacích balíkov.

Automatizovaná prevádzka

Veľkou výhodou systému Kubernetes je jeho efektívna prevádzka v hybridnom prostredí, čiže u poskytovateľov verejných cloudových služieb, v privátnych cloudoch, v IT aj infraštruktúre vo vlastnej serverovni. Možno si veľmi jednoducho zvoliť, kde bude bežať aká pracovná záťaž, prípadne ju podľa potreby operatívne presúvať, a vybrať pre kontejnery s aplikáciami prostredie, ktoré bude z hľadiska nákladov najefektívnejšie.

Automatizovaná správa kontajnerov s aplikáciami odbremení aj vysoko kvalifikovaných a IT špecialistov spoločností od rutinných činností súvisiacich s prevádzkou, a títo sa môžu naplno venovať produktívnym činnostiam, napríklad vývoju a optimalizácii aplikácií. Kubernetes zároveň umožňujú aj vysokú pružnosť týkajúcu sa uvádzania nových, prípadne vylepšených aplikácií, a v prípade potreby je možné sa jednoducho vrátiť k staršej, osvedčenej verzii. Takáto schopnosť operatívne reagovať na požiadavky zákazníkov je v ére súčasného dynamického biznisu veľkou konkurenčnou výhodou.

Publikované: 4. novembra 2021

Jana Kohárová

Obchod

GAMO a.s.

Tento článok je súčasťou magazínu č.

Publikované: 4. novembra 2021

reklama

Marcela Gottwaldová

GAMO a.s.

Aj keď éra umelej inteligencie vyvoláva pomerne polarizované názory, je zjavné, že technologický pokrok sa nedá zastaviť ani ignorovať. Potvrdzuje...

Zuzana Peciarova

GAMO a.s.

Nefinančný audit firiem bude už čoskoro vyžadovať pravidelné vykazovanie informácií o udržateľnosti, týkajúcej sa vplyvu firmy na životné prostredie, komunity...

Branislav Lupták

GAMO a.s.

Pokročilé prepojenie dátových zdrojov zvyšuje vo výsledku kvalitu lekárskej starostlivosti, automatizuje procesy, minimalizuje riziko individuálneho pochybenia a dostupným spôsobom umožňuje...
reklama