Klikněte zde iPokud máte novinky, které byste chtěli sdílet

Speciální

Co byste měli vědět o KEDA   

obrázek s laskavým svolením iam
obrázek s laskavým svolením iam

KEDA se ukázala jako efektivní způsob škálování aplikací na Kubernetes na základě událostí. Jak to funguje se dozvíte v tomto článku. 

Kubernetes je ve výchozím nastavení orchestrátor kontejnerů pro cloudové nativní aplikace. Efektivně provádět škálování aplikací v Kubernetes je však docela obtížné – zejména při řešení úloh založených na událostech. Zde přichází na řadu Kubernetes Event-Driven Autoscaler (KEDA).

KEDA je projekt s otevřeným zdrojovým kódem, který poskytuje vašim aplikacím dynamické škálování založené na široké škále událostí, jako jsou mimo jiné požadavky HTTP, zprávy ve frontě nebo vlastní metriky. 

Pochopení jádra KEDA 

V srdci funkčnosti KEDA leží její základní koncepty, navržené tak, aby bezproblémově organizovaly škálovací tanec vašich aplikací. Zde je podrobná diskuse o těchto konceptech:  

Událostí řízené automatické škálování 

Tradiční mechanismy automatického škálování, i když jsou často účinné, mohou mít někdy potíže udržet krok s dynamickou povahou aplikací řízených událostmi. Obvykle se spoléhají na metriky zdrojů, jako je využití CPU nebo paměti, aby spouštěly akce škálování. I když tento přístup funguje dobře pro mnoho scénářů, může selhat při práci s aplikacemi řízenými externími událostmi, jako jsou příchozí zprávy nebo požadavky API. 

To je místo, kde KEDA září a nabízí jemnější a citlivější přístup ke škálování. Chcete-li získat podrobnější informace a ukázkový kód, profesionálové z DoiT stojí za návštěvu, ale podstatou je, že KEDA přesouvá zaměření z metrik zdrojů na externí události, což vám umožňuje škálovat vaše aplikace přesně tam, kde je to potřeba.

Představte si, že aplikace elektronického obchodu zažívá náhlý nárůst objednávek během bleskového prodeje. Tradičním mechanismům automatického škálování může nějakou dobu trvat, než zareagují na zvýšenou zátěž, což může vést k omezení výkonu a frustrovaným zákazníkům. KEDA na druhé straně dokáže detekovat tento nárůst příchozích požadavků a automaticky rozšířit aplikaci, aby zvládla zvýšené zatížení, čímž zajistí hladký zážitek z nakupování pro vaše zákazníky. 

Scalers 

Scalers jsou strůjci za škálovacími akcemi KEDA. Definují, jak má vaše aplikace reagovat na události, určují, zda se má zvětšit, zmenšit nebo zůstat nezměněna. (1) 

Například škálovač CPU může spouštět škálování na základě využití CPU, zatímco škálovač paměti reaguje na vzorce využití paměti. Pokud požadujete specializovanější chování při škálování, KEDA vám umožňuje vytvářet vlastní škálovače přizpůsobené vašim specifickým požadavkům. Tato flexibilita zajišťuje, že se KEDA může přizpůsobit široké škále aplikačních architektur a strategií škálování. (1) 

Triggery 

Spouštěče fungují jako bdělé hlídky, monitorují různé zdroje událostí a generují události škálování, když jsou splněny předem definované podmínky. Slouží jako most mezi vnějším světem a škálovacími mechanismy KEDA.

Ať už řešíte požadavky HTTP, zprávy ve frontě Azure Service Bus nebo události z tématu Kafka, KEDA vás pokryje. Tato všestrannost vám umožňuje bezproblémově připojit vaše aplikace k různým zdrojům událostí, což zajišťuje, že KEDA může reagovat na signály, které jsou pro vaše rozhodování o škálování nejdůležitější.  

Jak KEDA funguje 

Kouzlo KEDA spočívá v jeho schopnosti bezproblémově se integrovat s ekosystémem Kubernetes a využívat jeho stávající komponenty k poskytování výkonného automatického škálování řízeného událostmi.  

architektura KEDA 

Operátor KEDA je srdcem systému, zodpovědný za správu ScaledObject, který představuje konfigurace škálování pro vaše aplikace. Definuje škálovače a spouštěče, které by KEDA měla používat k rozhodování o škálování. Na jedné straně Metrics Server poskytuje KEDA metriky o vašem clusteru v reálném čase, zatímco Horizontal Pod Autoscaler (HPA) je komponenta, která ve skutečnosti provádí operace škálování. (2)

Tato architektura umožňuje KEDA fungovat jako odlehčené a efektivní rozšíření Kubernetes, které přidává funkce automatického škálování řízené událostmi, aniž by bylo nutné provádět významné úpravy vaší stávající infrastruktury.

Proces automatického škálování řízený událostmi 

V KEDA je událostmi řízené automatické škálování organizovaná série událostí. Jeho samotným začátkem je detekce. Po zachycení události z definovaného zdroje Trigger nyní obsahuje škálovací signál a bude předán operátorovi KEDA. Uvedený operátor se podívá na ScaledObject spojený se spouštěčem, aby odvodil správnou akci změny měřítka.

KEDA pak může provádět výpočty požadovaného množství replik pro každou událost v závislosti na konfiguraci Scaler a stavu aplikace v reálném čase a řídit škálování prostřednictvím HPA. 

Tento HPA pak manipuluje s počtem podů, na kterých běží vaše aplikace, takže lze zvládnout extra nebo sníženou zátěž. Tento proces se stará problémy se škálováním které mohou být důsledkem nárůstu požadavků nebo provozních požadavků. 

KEDA a Kubernetes 

Interakce KEDA s Kubernetes Deployment a HPA je důkazem její bezproblémové integrace s ekosystémem Kubernetes. KEDA využívá deklarativní povahu nasazení Kubernetes k definování požadovaného stavu vaší aplikace, včetně její konfigurace škálování.  

KEDA navíc pomáhá Kubernetes zvládat věci přirozeně a umožňuje události a provádění škálovat od nuly na základě poptávky. To je zásadní vzhledem k tomu, že pouze 30 % spouštěčů pochází z HTTPS, zatímco zbývajících 70 % pochází z jiných zdrojů. Nasazení KEDA tedy zajišťuje dynamickou manipulaci s posledně jmenovanými. (3) 

Závěr 

KEDA je důkazem síly inovací v ekosystému Kubernetes. Přijetím paradigmatu událostmi řízeného automatického škálování umožňuje KEDA vývojářům vytvářet vysoce škálovatelné a odolné aplikace, které se dokážou přizpůsobit dynamickým požadavkům moderního cloudového prostředí. 

Reference:  

  1. „Projekt KEDA přidává jemnost automatickému škálování Kubernetes,“ Zdroj: https://www.techtarget.com/searchitoperations/news/252505587/KEDA-project-adds-finesse-to-Kubernetes-autoscaling
  2. Specifikace ScaledObject, Zdroj: https://keda.sh/docs/2.14/reference/scaledobject-spec/
  3. „Oznamujeme KEDA: přinášíme do Kubernetes kontejnery a funkce řízené událostmi,“ Zdroj: https://opensource.microsoft.com/blog/2019/05/06/announcing-keda-kubernetes-event-driven-autoscaling-containers/

O autorovi

Linda Hohnholzová

Šéfredaktor pro eTurboNews se sídlem v ústředí eTN.

Zanechat komentář