Šta je to Kubernetes i kako se ova tehnologija može koristit?

Šta je to Kubernetes i kako se može primeniti u realnim uslovima?

Tehnološka terminologija često ume da bude zbunjujuća i nerazumljiva za mnoge, s obzirom na to da imamo sve više različitih alata i sistema koji pojedincima i kompanijama pomažu da razviju proizvode koji menjaju svet. Jedno od tih 'tech' rešenja je i sistem Kubernetes o čijem smo razvoju, primeni i značenju razgovarali sa stručnjakom iz ove oblasti.

Objašnjenje toga šta je Kubernetes i čemu služi može poprilično zbuniti one koji do sada nisu čuli za ovu tehnologiju. Štaviše, ako detaljnije pretražujete ovaj pojam, sigurno ćete naići na brojne definicije i pojmove – kako na stranim, tako i domaćim sajtovima. I, bez obzira na to, činiće vam se da je Kubernetes i dalje velika nepoznanica i kompleksna tema zbog pojedinih termina koji su usko vezani za ovu tehnologiju.

Kroz razgovor sa Bobanom Aćimovićem koji ima zavidno iskustvo u oblasti softverskog inženjerstva a koji je, između ostalog, i sertifikovani Kubernetes administrator i Kubernetes application developer, detaljnije definišemo ovu tehnologiju i njenu primenu u realnim uslovima.

Inače, naš sagovornik bavi se i razvojem native Kubernetes aplikacija na programskom jeziku Go, a u poslednjih nekoliko godina radio je sa klijentima kao što su DHL Global i Allianz. U nastavku teksta on nam objašnjava šta njegov posao zapravo podrazumeva.

Zašto je Kubernetes važan?

Kako bi detaljnije i jednostavnije objasnio šta je to zapravo Kubernetes, Boban kaže da ovaj termin zapravo predstavlja sistemsku aplikaciju koja više povezanih računara pretvara u jedan moćni računar, a koju ne koriste samo korporacije, već i startapi. Naravno, bilo bi divno da je ovo precizna definicija, ali s obzirom na to da nije, radi se o daleko kompleksnijoj tehnologiji o kojoj nam je Boban i govorio:

Najpre treba reći da ovo „više povezanih računara“ nije potpuno tačno. Ti „računari“ u stvari mogu biti kako fizički računari, tako i virtualne mašine u okviru nekog daleko većeg računara ili superkompjutera. Takođe ni ovo „povezanih“ ne označava samo fizičku računarsku mrežu koja se sastoji od mrežnih interfejsa, kablova i svičeva, već to može biti i virtualna mreža.

Da bi bili precizniji u izražavanju, neophodno je uvesti nekoliko termina. Dakle, ovaj fizički računar ili virtualnu mašinu zvaćemo „node“ (čvor), a sve nodove koji su povezani u zajednički sistem zvaćemo „cluster“ (grozd). Sada možemo reći da je Kubernetes sistemski softver koji „cluster“ pretvara u jedan moćni računar. Kapacitet resursa tog virtualnog računara jednak je zbiru resursa svih nodova.

E sada, ako se vratimo korak unazad, osvrnuli smo se na to kako i zašto ova tehnologija nastaje i čemu zapravo služi termin „kontejner“ (container), tačnije kakva je njihova povezanost sa Kubernetesom? Boban nam objašnjava da ako iskoristitmo analogiju sa pomorskim saobraćajem, odnosno kontejnerima, lukama i brodovima, Kubernetes bi bio skup luka i brodova, odnosno kompletna logistika za transport kontejnera.

Grafički prikaz i statistika rada Kubernetes sistema u okviru browsera.

Prema njegovim rečima, ako se ponovo vratimo u IT svet i njegovu terminologiju, kontejner je u stvari pojedinačna korisnička aplikacija koja se izvršava na Kubernetes clusteru. U tom kontekstu, kaže Aćimović, Kubernetes je distribuirani operativni sistem, odnosno sistem koji se stara o kompletnom životnom ciklusu svih kontejnera koji se izvršavaju u okviru clustera:

Tradicionalni operativni sistemi poput Linuxa, Windowsa ili macOS-a staraju se o izvršavanju korisničkih aplikacija na pojedinačnom računaru (ili virtualnoj mašini). To podrazumeva puno detalja, počev od toga na kom procesorskom jezgru će se izvršavati aplikacija pa do toga koliko memorije će biti namenjeno istoj. Kao distribuirani operativni sistem, Kubernetes se stara o sličnim pojedinostima ali u okviru clustera.

Dakle, radi se o alokaciji raspoloživih resursa pojedinačnim korisničkim aplikacijama, ali i o staranju o životnom ciklusu istih. Pritom, Kubernetes nije zamena za tradicionalne operativne sisteme. Štaviše, Kubernetes kao i generalno kontejnerske tehnologije, veoma zavisi od operativnog sistema, a to je gotovo ekskluzivno Linux.

Naš sagovornik nam je otkrio da se potreba za kontejnerima javila zbog sve veće kompleksnosti aplikacija i sve većih problema kada se više aplikacija izvršava na istom računaru. Zapravo, svaka aplikacija ima svoje zavisnosti i često može doći do konflikta između raznih aplikacija.

Boban napominje da kontejner u stvari izoluje aplikaciju i sve njene zavisnosti i time omogućava potpuno (ili skoro potpuno) nezavisno izvršavanje na istom fizičkom računaru ili virtuelnoj mašini – kao i da uklanjanjem nekog kontejnera sa računara ne ostaju nikakvi tragovi, nema ni zaostalih fajlova ni podešavanja, sve je potpuno čisto.

U Kubernetesu je sve virtuelno – i memorija i procesor i mreža

Kada smo se već dotakli kontejnerske tehnologije, veoma je važno da pomenemo Docker, firmu koja je veoma doprinela razvoju i popularizaciji kontejnerskih tehnologija, a čiji je glavni proizvod istoimena aplikacija. U tom kontekstu, Kubernetes je sloj iznad Dockera, odnosno sloj iznad kontejnerskih tehnologija od kojih je neke razvila firma Docker, a tom prilikom Boban nam objašnjava sledeće:

Kubernetes je nastao u laboratorijama Google-a, ali je to danas open source rešenje na čiji razvoj imaju uticaj kako najveće IT kompanije u svetu, tako i zajednica pojedinaca koji koriste ova rešenja.

Osim Dockera, postoje i druge kontejnerske platforme poput cri-o, containerd, itd. Pored sistema za izvršavanje kontejnera, Docker aplikacija sadrži i sporedne mogućnosti poput korisničkog interfejsa za kreiranje kontejnera, ali danas ni ovo nije ekskluzivno rešenje iz Dockera, sve veću popularnost dobija i podman.

Boban dodaje da je nešto slično bilo moguće i ranije upotrebom virtualnih mašina (Vagrant), ali Docker virtualizacija zahteva znatno manje resursa, a i dalje omogućava podešavanje lokalnog okruženja za razvoj koje prilično verodostojno preslikava proizvodno okruženje. Samim tim je i broj grešaka daleko manji, jer se najčešće greške primete već prilikom razvoja i lokalnog testiranja:

Dodatna prednost je da developeri mogu samostalno (bez administratora) podesiti puno toga na Kubernetes klasteru, a bez poznavanja hardvera i podešavanja na niskom nivou. U tom kontekstu se čak pojavilo i novo zanimanje- DevOps, što označava developera sa znanjem administrativnih operacijaPored toga, treba istaći da je u Kubernetesu sve virtualno – procesor, memorija i mreža, ali je znatno jednostavnije podešavanje okruženja za razvoj verovatno najveća prednost za developere.

Razvoj i unapređenje cloud tehnologije doprinelo je značajno i stvaranju Kubernetes sistema.

Da je ovde reč o jednoj sofisticiranoj tehnologiji, pokazuju nam i termini koji se usko vezuju za Kubernetes, a reč je o pojmovima kao što su Master, Node, Pod, Kubelete i slično. Kako nam je naš sagovornik još ne početku ovog teksta objasnio pojam Nod-a, na red je došla definicija elemenata kao što su master nod, worker ili minion i Kubelet:

Dakle, master je node u klasteru na kome se izvršavaju sistemske Kubernetes aplikacije, odnosno one aplikacije koje se staraju o izvršenju svih Kubernetes funkcija. Workeri su nodovi na kojima se izvršavaju korisničke aplikacije.

Pod je najmanja logička jedinica na Kubernetesu i označava skup kontejnera koji dele iste resurse i lokalnu mrežu. Ako se sagleda kompletna Kubernetes apstrakcija, pod u stvari logički predstavlja računar. Baš poput svakog umreženog računara, pod ima svoju lokalnu mrežu, svoju IP adresu preko koje komunicira sa drugim podovima ili sa svetom, ima ograničene resurse poput procesora i memorije.

Sa druge strane, kubelet je sistemska Kubernetes aplikacija koja se izvršava na worker nodovima i stara se o životnom ciklusu podova na tom nodu (pokretanje, terminisanje, itd.).

Koji su naredni koraci za ovu tehnologiju?

Još otkada je cloud kao tehnologija zakoračila u korisnički svet, predstavljala je na neki način revoluciju u tehnološkom okruženju. Međutim, upravo je potreba za jednostavnijim korišćenjem cloud tehnologije dovela do razvoja sistema Kubernetes. Boban nam tako objašnjava da isti omogućava jednostavniju skalabilnost, skalabilnost po potrebi (zahtevu), uštede u pogledu hardverskih i ljudskih resursa, samoozdravljenje aplikacija, automatsko otkrivanje zavisnosti, izvršavanje hiljada mikroservisa, itd.

Štaviše, kako Aćimović dodaje, jednim delom Kubernets na popularnosti može zahvalili svom poreklu zato što dolazi iz Google-a, koji važi za jednu od najuspešnijih kompanija svih vremena. Drugi deo globalne popularnosti Kubernetesa dolazi upravo zbog svih benefita koje donosi i koji su jako brzo vidljivi.

Na kraju, nas je zanimalo i to u kojim industrijama će ova tehnologija naći primenu i kakva je budućnost Kubernetesa? Boban kaže da će se ista primenjivati jednostavno svuda, kao i da je Kubernetes trenutno buzzword, a prelazak na isti je hype, te da je svaka ozbiljna kompanija na svetu ili završila tranziciju na Kubernetes ili je u toku tranzicije.

„U ovom trenutku ne mogu ni da pretpostavim kada bi mogao doći kraj tehnologijama poput Linuxa i Kubernetesa, pre mogu da pretpostavim da će se razvijati dalje i da ćemo eventualno dobiti još koji sloj apstrakcije“, zaključio je Boban na kraju.


Odgovori

Tvoja e-mail adresa neće biti objavljena.

Popularno

Startapi i poslovanje

E-prime povećao proizvodnju električnih bicikala i proširio proizvodni pogon – sledi dalji izvoz u EU

Priču kompanije E-prime pratimo gotovo od samog početka njihovog poslovanja, od pre nešto više od dve godine kada smo prvu put uradili intervju o ovim e-biciklima. U međuvremenu, kompanija je znatno porasla, zaposlila nove ljude, proširila proizvodnju i počela da izvozi svoje proizvode, a to je bio dovoljan razlog da se sa osnivačima opet nađemo na kafi i popričamo o novitetima.

Gaming

Kako je RUR od lokalne ekipe iz igraonice postao uticajni regionalni gejming medij

Već dvadeset godina organizacija RUR bavi se popularizacijom video igara u Srbiji. Njeni osnivači u velikom intervjuu za Netokraciju otkrivaju kako je RUR postao jedna od najvažnijih esports baza u našoj zemlji i šta novo spremaju ljubiteljima gejminga.

Mobilno

Izabrali smo za vas 40 najboljih telefona u ovom trenutku – od €250 do preko €1.000

Da li se i vi često zbunite kada planirate da kupite novi mobilni telefon, posebno sada kada je tržište prezasićeno raznim modelima? Ponuda mobilnih telefona nije nikada bila bogatija za sve ciljne grupe korisnika. Mi smo se potrudili da vam te ponude detaljnije približimo kroz cenovne kategorije najinteresantnijih modela za kupovinu.

Propustili ste

Startapi i poslovanje

Dev Shopper Lazara Stojkovića pomoći će vam da pronađete tim vrhunskih developera

Pandemija korona virusa bila je inicijalna kapisla Lazaru Stojkoviću da u svoj startap portfolio doda još jedan projekat pod nazivom 'Dev Shopper' - servis za brže nalaženje partnerske firme za softverske projekte.

Netokracija

Generacije razdvojene galaksijom

Tokom vikenda IT zajednicu zahvatila je vest da su pojedine kompanije povukle svoju podršku za realizaciju filma o prvom srpskom računaru Galaksija.

Gaming

Državni fakulteti u Beogradu i Kragujevcu dobijaju gejming programe na master studijama

U okviru projekta Master 4.0 studenti master studija nekih od državnih fakulteta uskoro će moći da biraju dva nova programa koji će povezati svet tehnologije i svet umetnosti. Sredstva za realizaciju dobili su beogradski Univerzitet umetnosti u saradnji sa Matematičkim fakultetom i fakulteti Univerziteta u Kragujevcu, koji su nosioci programa.

Kolumna

Digitalizacija obrazovnog sektora je vreme u kome uče i studenti i profesori

Tokom avgusta i septembra celokupan nastavni i nenastavni kadar visokoškolskih ustanova u Srbiji imao je priliku da unapredi svoja znanja i veštine na polju online nastave - uz pomoć kompanije Microsoft i trening centra Semos Education.

Startapi i poslovanje

Novogradnja osvaja Beograd, a City Expert širi marketing tim kako bi odgovorio na potrebe industrije

Sa Igorom Jovićem iz beogradskog City Experta razgovaram o tržištu nekretnina u Srbiji u vreme globalne pandemije, novim projektima poput specijalizovanog oglašavanja za novogradnju, te razlozima zašto ovaj tim intenzivno širi svoj marketing sektor.

Novost

‘Freelance hours rate’ anketa: Frilenseri treba više da cene svoj rad

Ova anketa nastala je kao rezultat diskusije na drušvenim mrežama u vezi angažovanja frilensera po veoma niskim cenama, a nastoji da detaljnije približi stanje kada je reč o zaradi na tržištu slobodnog rada. Organizator ankete je srpski IT preduzetnik koji je želeo da ostane anoniman.