V tomto texte nadviažem na predchádzajúci blog, v ktorom som vás oboznámil so základmi cloudu a microservices. Prešli sme si, čo všetko zahŕňa cloud a microservisy, kde sa vzdelávať a v akej postupnosti a takisto, aké boli moje prvé výsledky práce. Poďme pokračovať.
Kubernetes
Úvod do Kubernetes
Podľa všetkého by mi malo Kubernetes pomôcť k tomu, aby som prestal riešiť problémy s infraštruktúrou. Aplikáciu zoberiem, presuniem inam a všetko bude fungovať.
Slovo Kubernetes (čítaj kubernetís) pochádza z gréčtiny a znamená kormidelník. To dáva zmysel – aj logo tomu odpovedá 🙃. Skratka názvu pre Kubernetes je K8s.
Kubernetes robí abstrakciu nad infraštruktúrou – našu aplikáciu nezaujíma, kde je nasadená a či má všetky potrebné zdroje – to zabezpečuje Kubernetes. Cloud native aplikácia je výraz pre modernú aplikáciu, ktorá zvláda moderné požiadavky – škálovanie, self heal, updates, migrácie do iných prostredí.
Základné pojmy
Pri štúdiu som sa stretol so základnými pojmami, ktoré je potrebné vedieť. Postupne sa ich budem snažiť popísať, tak ako som ich pochopil ja.
Kontajner
Ako správny kormidelník nekormidluje prázdnu loď ale berie so sebou náklad, ktorý naloží do kontajnerov, tak tomu nebude ani teraz 😊.
Pri vytváraní aplikácií potrebujeme počítač s operačným systémom, potrebujeme databázu, nejaký server. Každá táto časť potrebuje určité závislosti, knižnice a tak podobne. Tu sa to komplikuje. Aby si to vedel všetko pospúšťať, tak sa o tieto všetky požiadavky musíš postarať. Aby to bolo jednoduchšie, tak všetky tieto veci, ako napríklad databáza, bude vo vlastnom kontajneri. Kontajner si sám bude zabezpečovať všetko, čo je potrebné pre chod napr. databázy MySQL a my potom tento kontajner budeme používať.
Orchestrácia
Aby všetko spolu dobre fungovalo – ladilo to s polu. Orchestrácia proste všetko možné riadi, aby naša aplikácia fungovala. Kubernetes je vlastne nástroj pre túto orchestráciu.
Docker
Pojmu Docker som sa chcel venovať neskôr, ale pri štádiu Kubernetes som natrafil na rozdiely a tak to v jednoduchosti zaradím aj sem. Pochopíte rozdiel, je to dôležité, nakoľko tieto dve technológie sa často zamieňajú.
Obidve technológie nám pomáhajú spúšťať aplikácie v kontajneroch, ale údajne sa od seba začínajú vzďaľovať.
Docker je kontajnerová technológia, ktorá virtualizuje operačný systém a spúšťa našu aplikáciu. Vyššie v texte som písal, že v kontajeroch beží samostatne napríklad databázový server – a dáva zmysel, že ten server beží v operačnom systéme.
Podľa mnou nazbieraných informácií sa už vo svete Kubernetes neodporúča používať Docker, lebo je vraj zastaralý. Uvidíme, kam to bude smerovať a aká nová technológia sa objaví.
Zaujímavé je to, že Kubernetes vieme spustiť tak, že beží vo vnútri v Dockeri 😊. Je to ešte zaujímavejšie a ešte viac ma to baví riešiť.
Škálovanie
Škálovanie je vlastne pojem, ktorý rieši to, aby aplikácia využívala také zdroje, ktoré v danom momente potrebuje. Za zdroj považujme napríklad viac pamäte, viac procesorov a podobne, alebo sa pridajú ďalšie servery (nie je donekonečna možné pridávať len procesory). Iné zdroje potrebuješ, ak tvoj microservis používa 10 ľudí a iné keď 1000 ľudí. Existuje vertikálne a horizontálne škálovanie.
Záver
Ďalej pri štúdiu Kubernetes by som musel ísť hlbšie, ale teraz sa zoznamujem postupne bližšie s pojmami. Teda tu si preruším štúdium Kubernetes a prejdem na úvod k technológii Docker. Lúči sa s tebou Jaro Beňo a my sa vidím ak Boh dovolí pri ďalšom článku alebo v nejakom mojom online kurze.
🥇 Sme jednotka v online vzdelávaní na Slovensku. Na našom webe nájdeš viac ako 300 rôznych videokurzov z oblastí ako programovanie, tvorba hier, testovanie softwaru, grafika, UX dizajn, online marketing, MS Office a pod. Vyber si kurz, ktorý ťa posunie vpred ⏩