V tomto textu navážem na předchozí blog, ve kterém jsem vás seznámil se základy cloudu a microservices. Prošli jsme si, co všechno zahrnuje cloud a microservisy, kde se vzdělávat a v jaké posloupnosti a také, jaké byly mé první výsledky práce. Pojďme pokračovat.
Kubernetes
Úvod do Kubernetes
Podle všeho by mi mělo Kubernetes napomoci k tomu, abych přestal řešit problémy s infrastrukturou. Aplikaci vezmu, přesunu jinam a všechno bude fungovat.
Slovo Kubernetes (čti kubernetís) pochází z řečtiny a znamená kormidelník. To dává smysl – i logo tomu odpovídá 🙃. Zkratka názvu pro Kubernetes je K8s.
Kubernetes činí abstrakci nad infrastrukturou – naši aplikaci nezajímá, kde je nasazena a zda má všechny potřebné zdroje – to zajišťuje Kubernetes. Cloud native aplikace je výraz pro moderní aplikaci, která zvládá moderní požadavky – škálování, self heal, updates, migrace do jiných prostředí.
Základní pojmy
Při studiu jsem se setkal se základními pojmy, které je třeba vědět. Postupně se je budu snažit popsat, tak jak jsem je pochopil já.
Kontejner
Jako správný kormidelník nekormidluje prázdnou loď, ale bere s sebou náklad, který naloží do kontejnerů, tak tomu nebude ani teď 😊.
Při vytváření aplikací potřebujeme počítač s operačním systémem, potřebujeme databázi, nějaký server. Každá tato část potřebuje určité závislosti, knihovny a tak podobně. Tady se to komplikuje. Abys to uměl všechno pospouštět, tak se o tyto všechny požadavky musíš postarat. Aby to bylo jednodušší, tak všechny tyto věci, jako například databáze, bude ve vlastním kontejneru. Kontejner si sám bude zajišťovat vše, co je třeba pro chod např. databáze MySQL a my pak tento kontejner budeme používat.
Orchestrace
Aby všechno spolu dobře fungovalo - ladilo to s pole. Orchestrace prostě vše možné řídí, aby naše aplikace fungovala. Kubernetes je vlastně nástroj pro tuto orchestraci.
Docker
Pojmu Docker jsem se chtěl věnovat později, ale při stadiu Kubernetes jsem natrefil na rozdíly a tak to v jednoduchosti zařadím i sem. Pochopíte rozdíl, je to důležité, jelikož tyto dvě technologie se často zaměňují.
Obě technologie nám pomáhají spouštět aplikace v kontejnerech, ale údajně se od sebe začínají vzdalovat.
Docker je kontejnerová technologie, která virtualizuje operační systém a spouští naši aplikaci. Výše v textu jsem psal, že v kontejerech běží samostatně například databázový server – a dává smysl, že ten server běží v operačním systému.
Podle mnou nasbíraných informací se už ve světě Kubernetes nedoporučuje používat Docker, neboť je prý zastaralý. Uvidíme, kam to bude směřovat a jaká nová technologie se objeví.
Zajímavé je to, že Kubernetes umíme spustit tak, že běží uvnitř v Dockeru 😊. Je to ještě zajímavější a ještě víc mě to baví řešit.
Škálování
Škálování je vlastně pojem, který řeší to, aby aplikace využívala zdroje, které v daném okamžiku potřebuje. Za zdroj považujme například více paměti, více procesorů a podobně, nebo se přidají další servery (není donekonečna možné přidávat jen procesory). Jiné zdroje potřebuješ, pokud tvůj microservis používá 10 lidí a jiné když 1000 lidí. Existuje vertikální a horizontální škálování.
Závěř
Dále pri studiu Kubernetes bych musel jít hlouběji, ale teď se seznamuji postupně blíže s pojmy. Tedy tady si přeruším studium Kubernetes a přejdu na úvod k technologii Docker. Loučí se s tebou Jaro Beňo a my se vidím pokud Bůh dovolí při dalším článku nebo v nějakém mém online kurzu.
🥇 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 ⏩