Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
V této příručce nasadíte Apache Airflow ve službě Azure Kubernetes Service (AKS) pomocí Nástroje Helm. Dozvíte se, jak nastavit cluster AKS, nainstalovat Helm, nasadit Airflow pomocí chartu Helm a prozkoumat uživatelské rozhraní Airflow. Tento článek obsahuje základní přehled architektury a komponent, které jsou součástí nasazení airflow připraveného pro produkční prostředí v AKS.
Important
Opensourcový software je zmíněn v dokumentaci a ukázkách AKS. Software, které nasadíte, je vyloučeno z dohod o úrovni služeb AKS, omezené záruky a podpory Azure. Při používání open-source technologií spolu s AKS konzultujte dostupné možnosti podpory od příslušných komunit a správců projektů, abyste vytvořili plán.
Microsoft přebírá odpovědnost za vytváření balíčků s otevřeným zdrojovým kódem, které nasazujeme na AKS. Tato odpovědnost zahrnuje plnou správu procesu sestavení, skenování, podepisování, validace a hotfixů, spolu s kontrolou nad binárními soubory v kontejnerových obrazech. Další informace najdete v tématu Řízení zranitelností pro AKS a Podpora pro AKS a rozsah pokrytí.
Co je Apache Airflow?
Apache Airflow je opensourcová platforma vytvořená pro vývoj, plánování a monitorování dávkových pracovních postupů. Díky flexibilní platformě Pythonu vám Airflow umožňuje navrhovat pracovní postupy, které se bezproblémově integrují s téměř jakoukoli technologií. Ve Airflow musíte definovat pracovní postupy Pythonu reprezentované jazykem DAG (Directed Acyklické Graph). Airflow můžete nasadit kdekoli a po nasazení můžete přistupovat k uživatelskému rozhraní Airflow a nastavit pracovní postupy.
Architektura airflow
Airflow na vysoké úrovni zahrnuje:
- Databáze metadat, která sleduje stav DAG, instancí úloh, XCom a dalších.
- Webový server poskytující uživatelské rozhraní Airflow pro monitorování a správu.
- Plánovač zodpovědný za aktivaci dagů a instancí úloh.
- Exekutory, které zpracovávají provádění instancí úloh.
- Pracovní procesy, které provádějí úkoly.
- Další komponenty, jako je rozhraní příkazového řádku (CLI).
Distribuovaná architektura airflow pro produkční prostředí
Modulární distribuovaná architektura Airflow nabízí několik klíčových výhod pro produkční úlohy:
- Oddělení obav: Každá komponenta má odlišnou roli a udržuje systém jednoduchý a udržovatelný. Plánovač spravuje skupiny DAG a plánování úkolů, zatímco pracovníci provádějí úkoly a zajišťují, aby každá část zůstala zaměřená na svou konkrétní funkci.
- Škálovatelnost: S rostoucími úlohami umožňuje architektura snadné škálování. Můžete souběžně spouštět více plánovačů nebo pracovních procesů a využívat hostované databáze pro automatické škálování, aby se přizpůsobilo zvýšené poptávce.
- Spolehlivost: Vzhledem k tomu, že jsou komponenty oddělené, selhání jednoho plánovače nebo pracovního procesu nemá za následek výpadek celého systému. Centralizovaná databáze metadat zajišťuje konzistenci a kontinuitu v celém systému.
- Rozšiřitelnost: Architektura je flexibilní a umožňuje komponentám, jako je exekutor nebo služba fronty, prohodit a přizpůsobit podle potřeby.
Tento návrh poskytuje robustní základ pro škálování, spolehlivost a flexibilitu při správě složitých datových kanálů.
Exekutory vzduchu
Velmi důležité rozhodnutí o návrhu při výrobě Airflow je volba správného exekutoru. Když je úkol připravený ke spuštění, je exekutor zodpovědný za správu jeho spuštění. Exekutory pracují s fondem pracovních procesů, které provádějí úkoly. Nejčastěji používané exekutory jsou:
- LocalExecutor: Spouští instance úloh paralelně v hostitelském systému. Tento exekutor je ideální pro testování, ale nabízí omezenou škálovatelnost pro větší úlohy.
- AutomatikyExecutor: Distribuuje úlohy mezi více počítačů pomocífonduho systému Microsoftu, který poskytuje horizontální škálovatelnost spouštěním pracovních procesů na různých uzlech.
- KubernetesExecutor: Přizpůsobené pro nasazení Airflow v Kubernetes, tento exekutor dynamicky spouští pracovní pody v rámci clusteru Kubernetes. Nabízí vynikající škálovatelnost a zajišťuje silnou izolaci prostředků.
S přechodem Airflow do produkčního prostředí se pracovní procesy škálování stanou nezbytnými, takže KubernetesExecutor bude pro naše potřeby nejvhodnější. Pro místní testování je však nejjednodušší možností LocalExecutor.
Další krok
Contributors
Microsoft udržuje tento článek. Následující přispěvatelé ho původně napsali:
- Don High | Hlavní zákaznický inženýr
- Satya Chandragiri | Senior Digital Cloud Solution Architect
- Erin Schaffer | Content Developer 2