Kubernetes

Čo je Kubernetes?

Čo je Kubernetes?

Čo je Kubernetes? A aká je jeho architektúra?

Kontejnerizácia prerušila spojenie medzi vývojármi softvéru a produkčným prostredím. Nie v tom zmysle, že produkčný systém vôbec nepotrebujete, ale nemusíte sa obávať špecifickosti produkčného prostredia.

Aplikácie sú teraz dodávané so závislosťami, ktoré potrebujú, v ľahkom kontajneri namiesto virtuálneho počítača. To je skvelé! Neposkytuje však imunitu proti zlyhaniam systému, sieti alebo disku. Napríklad ak sa vykonáva údržba dátového centra, kde sú spustené vaše servery, vaša aplikácia sa prepne do režimu offline.

Na riešenie týchto problémov prichádza spoločnosť Kubernetes. Berie myšlienku kontajnerov a rozširuje ju tak, aby fungovala na viacerých výpočtových uzloch (čo môže byť virtuálny stroj hostený v cloude alebo servery typu bare metal). Cieľom je mať distribuovaný systém pre prevádzku kontajnerových aplikácií.

Prečo práve Kubernetes?

Prečo by ste v prvom rade potrebovali distribuované prostredie?

Z viacerých dôvodov je v prvom rade dôležitá vysoká dostupnosť. Chcete, aby vaše webové stránky elektronického obchodu zostali online nepretržite 24 hodín denne, 7 dní v týždni, alebo stratíte podnikanie, použite na to Kubernetes. Druhou je škálovateľnosť, kde chcete škálovať „von“. Škálovanie tu spočíva v pridaní ďalších výpočtových uzlov, aby vaša rastúca aplikácia získala viac priestoru pre nohy v prevádzke.

Dizajn a architektúra

Ako každý distribuovaný systém, aj klaster Kubernetes má hlavný uzol a potom veľa pracovných uzlov, na ktorých by skutočne bežali vaše aplikácie. Hlavný počítač je zodpovedný za plánovanie úloh, správu pracovných záťaží a bezpečné pridávanie nových uzlov do klastra.

Teraz samozrejme môže zlyhať samotný hlavný uzol a vziať so sebou celý klaster, takže Kubernetes vám v skutočnosti umožňuje mať viac hlavných uzlov kvôli nadbytočnosti.

Pohľad z vtáčej perspektívy na typické nasadenie Kubernetes

Majster Kubernetes

Master Kubernetes je to, s čím tím DevOps interaguje a používa ho na zabezpečenie nových uzlov, nasadenie nových aplikácií a monitorovanie a správu zdrojov. Najzákladnejšou úlohou hlavného uzla je: harmonogram efektívne vyťažiť medzi všetkými pracovnými uzlami maximalizovať využitie zdrojov, zvýšiť výkon a dodržiavať rôzne politiky zvolené tímom DevOps pre ich konkrétne pracovné vyťaženie.

Ďalším dôležitým komponentom je atď čo je démon, ktorý sleduje pracovné uzly a vedie databázu, v ktorej je uložený stav celého klastra. Jedná sa o dátový sklad kľúč - hodnota, ktorý je možné prevádzkovať aj v distribuovanom prostredí na viacerých hlavných uzloch. Obsah etcd poskytuje všetky príslušné údaje o celom klastri. Pracovný uzol by občas skontroloval obsah etcd, aby určil, ako by sa mal správať.

Kontrolór je subjekt, ktorý by prijímal pokyny zo servera API (ktorým sa budeme venovať neskôr) a vykonával potrebné akcie, ako je vytváranie, mazanie a aktualizácia aplikácií a balíkov.

The API Server vystavuje Kubernetes API, ktoré využíva užitočné zaťaženie JSON cez HTTPS, na komunikáciu s užívateľským rozhraním, s ktorým by vývojárske tímy alebo pracovníci DevOps nakoniec skončili pri interakcii. Webové používateľské rozhranie aj rozhranie CLI spotrebúvajú toto API na interakciu s klastrom Kubernetes.

Server API je tiež zodpovedný za komunikáciu medzi pracovnými uzlami a rôznymi komponentmi hlavného uzla, ako atď.

Hlavný uzol nikdy nie je vystavený koncovému používateľovi, pretože by to riskovalo bezpečnosť celého klastra.

Uzly Kubernetes

Počítač (fyzický alebo virtuálny) by potreboval niekoľko dôležitých komponentov, ktoré po správnej a správnej inštalácii môžu potom tento server zmeniť na člena vášho klastra Kubernetes.

Prvá vec, ktorú budete potrebovať, je runtime kontajnera, ako je Docker, nainštalovaný a bežiaci na ňom. Bude samozrejme zodpovedný za roztočenie a správu kontajnerov.

Spolu s runtime Docker potrebujeme aj Kubelet démon. Komunikuje s hlavnými uzlami prostredníctvom servera API a dotazuje sa na etcd. Poskytuje späť informácie o zdraví a použití podov, ktoré sú na danom uzle spustené.

Samotné kontajnery sú však dosť obmedzené, takže Kubernetes má vyššiu abstrakciu postavenú na zbierke kontajnerov, známej ako Pods.

Prečo vymýšľať tobolky?

Docker má zásadu spustenia jednej aplikácie na kontajner. Často sa označuje ako „Jeden proces na kontajner“ politiky. To znamená, že ak potrebujete web WordPress, odporúčame vám mať dva kontajnery, jeden pre spustenie databázy a druhý pre spustenie webového servera. Zbalenie takýchto súvisiacich komponentov aplikácie do modulu zaisťuje, že pri každom škálovaní budú dva vzájomne závislé kontajnery vždy koexistovať v rovnakom uzle, a teda navzájom rýchlo a ľahko komunikovať.

Pody sú základnou jednotkou nasadenia v Kubernetes. Pri škálovaní pridáte do klastra ďalšie struky. Každý modul má v rámci internej siete klastra svoju vlastnú jedinečnú adresu IP.

Späť na uzol Kubernetes

Teraz môže uzol prevádzkovať viac podov a takýchto uzlov môže byť veľa. To je v poriadku, kým neuvažujete o pokuse o komunikáciu s vonkajším svetom. Ak máte jednoduchú webovú službu, ako by ste nasmerovali svoje doménové meno na túto kolekciu podov s mnohými adresami IP?

Nemôžete a nemusíte! Kube-proxy je posledným kúskom skladačky, ktorá operátorom umožňuje vystaviť určité pody vonku na internete. Napríklad vaše klientske rozhranie môže byť verejne prístupné a server kube-proxy by distribuoval prenos medzi všetky rôzne pody, ktoré sú zodpovedné za hostenie klientskeho rozhrania. Vaša databáza však nemusí byť zverejnená a kube-proxy by umožňoval iba internú komunikáciu pre také pracovné záťaže spojené s koncovým serverom.

Potrebujete toto všetko??

Ak ešte len začínate ako fanda alebo študent, bolo by použitie Kubernetes na jednoduchú aplikáciu skutočne neefektívne. Celá rigmarola by spotrebovala viac zdrojov ako vaša skutočná aplikácia a pre jednotlivca by spôsobila väčší zmätok.

Ak sa však chystáte pracovať s veľkým tímom a nasadiť svoje aplikácie na vážne komerčné použitie, stojí za to Kubernetes. Môžete zabrániť tomu, aby boli veci chaotické. Vytvorte priestor pre údržbu bez akýchkoľvek prestojov. Nastaviť päťdesiat testovacích podmienok A / B a postupne sa škálovať bez toho, aby ste museli príliš míňať na infraštruktúru vopred.

Trackpad a ukazovateľ myši AppyMouse na obrazovke pre tablety so systémom Windows
Používateľom tabletov často chýba ukazovateľ myši, najmä keď notebooky bežne používajú. Dotykové smartphony a tablety majú veľa výhod a jediným obmedz...
Stredné tlačidlo myši nefunguje v systéme Windows 10
The stredné tlačidlo myši pomáha vám prechádzať dlhé webové stránky a obrazovky s množstvom údajov. Ak sa to zastaví, budete nakoniec používať klávesn...
Ako zmeniť ľavé a pravé tlačidlo myši na počítači so systémom Windows 10
Je úplnou normou, že všetky zariadenia počítačových myší sú ergonomicky navrhnuté pre pravákov. Existujú však dostupné myšacie zariadenia, ktoré sú šp...