Sdílet prostřednictvím


Jak používat Azure Pipelines s Apache Flinkem® ve službě HDInsight v AKS

Poznámka:

Azure HDInsight vyřadíme ze služby AKS 31. ledna 2025. Před 31. lednem 2025 budete muset migrovat úlohy do Microsoft Fabric nebo ekvivalentního produktu Azure, abyste se vyhnuli náhlému ukončení úloh. Zbývající clustery ve vašem předplatném se zastaví a odeberou z hostitele.

Do data vyřazení bude k dispozici pouze základní podpora.

Důležité

Tato funkce je aktuálně dostupná jako ukázková verze. Doplňkové podmínky použití pro Microsoft Azure Preview obsahují další právní podmínky, které se vztahují na funkce Azure, které jsou v beta verzi, ve verzi Preview nebo ještě nejsou vydány v obecné dostupnosti. Informace o této konkrétní verzi Preview najdete v tématu Azure HDInsight o službě AKS ve verzi Preview. Pokud máte dotazy nebo návrhy funkcí, odešlete prosím žádost na AskHDInsight s podrobnostmi a sledujte nás o dalších aktualizacích v komunitě Azure HDInsight.

V tomto článku se dozvíte, jak pomocí Azure Pipelines se službou HDInsight ve službě AKS odesílat úlohy Flink pomocí rozhraní REST API clusteru. Provedeme vás procesem pomocí ukázkového kanálu YAML a skriptu PowerShellu, z nichž obě zjednoduší automatizaci interakcí rozhraní REST API.

Požadavky

  • Předplatné Azure. Pokud nemáte předplatné Azure, vytvořte si bezplatný účet.

  • Účet GitHubu, kde můžete vytvořit úložiště. Vytvořte si ho zdarma.

  • Vytvoření .pipeline adresáře, kopírování flink-azure-pipelines.yml a flink-job-azure-pipeline.ps1

  • Organizace Azure DevOps Vytvořte si ho zdarma. Pokud ho váš tým už má, ujistěte se, že jste správcem projektu Azure DevOps, který chcete použít.

  • Možnost spouštět kanály na agentech hostovaných Microsoftem Pokud chcete používat agenty hostované Microsoftem, musí mít vaše organizace Azure DevOps přístup k paralelním úlohům hostovaným Microsoftem. Můžete si buď koupit paralelní úlohu, nebo můžete požádat o bezplatné udělení.

  • Cluster Flink. Pokud ho nemáte, vytvořte ve službě HDInsight v AKS cluster Flink.

  • Vytvořte jeden adresář v účtu úložiště clusteru pro kopírování souboru JAR úlohy. Tento adresář budete později muset nakonfigurovat v YAML kanálu pro umístění jar úlohy (<JOB_JAR_STORAGE_PATH>).

Postup nastavení kanálu

Vytvoření instančního objektu pro Azure Pipelines

Vytvoření instančního objektu Microsoft Entra pro přístup k Azure – Udělení oprávnění pro přístup ke službě HDInsight v clusteru AKS s rolí Přispěvatel, poznamenejte si id aplikace, heslo a tenanta z odpovědi.

az ad sp create-for-rbac -n <service_principal_name> --role Contributor --scopes <Flink Cluster Resource ID>`

Příklad:

az ad sp create-for-rbac -n azure-flink-pipeline --role Contributor --scopes /subscriptions/abdc-1234-abcd-1234-abcd-1234/resourceGroups/myResourceGroupName/providers/Microsoft.HDInsight/clusterpools/hiloclusterpool/clusters/flinkcluster`

Reference

Poznámka:

Názvy apache, Apache Flink, Flink a přidružených opensourcových projektů jsou ochranné známky Apache Software Foundation (ASF).

Vytvořte trezor klíčů.

  1. Vytvořte Službu Azure Key Vault. Podle tohoto kurzu můžete vytvořit novou službu Azure Key Vault.

  2. Vytvoření tří tajných kódů

    • klíč úložiště clusteru pro klíč úložiště.

    • instanční klíč pro id klienta instančního objektu nebo appId.

    • tajný klíč instančního objektu pro tajný klíč objektu zabezpečení.

    Snímek obrazovky znázorňující, jak vytvořit trezor klíčů

  3. Udělte oprávnění pro přístup ke službě Azure Key Vault s rolí "Key Vault Secrets Officer" pro instanční objekt.

Nastavení kanálu

  1. Přejděte do projektu a klikněte na Nastavení projektu.

  2. Posuňte se dolů a vyberte Připojení služby a pak nové připojení služby.

  3. Vyberte Azure Resource Manager.

    Snímek obrazovky znázorňující, jak vybrat nové připojení služby

  4. V metodě ověřování vyberte instanční objekt (ruční).

    Snímek obrazovky znázorňující nové připojení služby

  5. Upravte vlastnosti připojení služby. Vyberte instanční objekt, který jste nedávno vytvořili.

    Snímek obrazovky znázorňující, jak upravit připojení služby

  6. Kliknutím na tlačítko Ověřit zkontrolujte, jestli bylo připojení správně nastaveno. Pokud dojde k následující chybě:

    Snímek obrazovky s chybovou zprávou o připojení služby

  7. Potom musíte k předplatnému přiřadit roli Čtenář.

  8. Potom by mělo být ověření úspěšné.

  9. Uložte připojení služby.

    Snímek obrazovky znázorňující, jak zobrazit ID tenanta

  10. Přejděte do kanálů a klikněte na Nový kanál.

    Snímek obrazovky znázorňující, jak vytvořit nový kanál

  11. Jako umístění kódu vyberte GitHub.

  12. Vyberte úložiště . Podívejte se, jak vytvořit úložiště na GitHubu. select-github-repo image.

    Snímek obrazovky znázorňující, jak prohledávat kód

  13. Vyberte úložiště . Další informace najdete v tématu Vytvoření úložiště na GitHubu.

    Snímek obrazovky znázorňující, jak vybrat úložiště GitHub

  14. V konfiguraci možnosti kanálu můžete zvolit Existující soubor YAML služby Azure Pipelines. Vyberte větev a skript kanálu, který jste zkopírovali dříve. (.pipeline/flink-azure-pipelines.yml)

    Snímek obrazovky znázorňující, jak nakonfigurovat kanál

  15. Nahraďte hodnotu v oddílu proměnné.

    Snímek obrazovky znázorňující, jak nahradit hodnotu

  16. Opravte oddíl sestavení kódu na základě vašeho požadavku a nakonfigurujte <JOB_JAR_LOCAL_PATH> v oddílu proměnných pro místní cestu k souboru JAR úlohy.

    Snímek obrazovky znázorňující část sestavení kódu

  17. Přidejte proměnnou kanálu "action" a nakonfigurujte hodnotu RUN.

    Snímek obrazovky ukazuje, jak přidat proměnnou kanálu.

    před spuštěním kanálu můžete změnit hodnoty proměnné.

    • NOVÁ: Tato hodnota je výchozí. Spustí novou úlohu a pokud je úloha již spuštěná, aktualizuje spuštěnou úlohu pomocí nejnovějšího souboru JAR.

    • SAVEPOINT: Tato hodnota přebírá bod uložení pro spuštěnou úlohu.

    • DELETE: Zrušte nebo odstraňte spuštěnou úlohu.

  18. Uložte a spusťte kanál. Spuštěnou úlohu můžete zobrazit na portálu v části Úloha Flink.

    Snímek obrazovky ukazuje, jak uložit a spustit kanál.

Poznámka:

Toto je jedna ukázka pro odeslání úlohy pomocí kanálu. Pokud chcete napsat vlastní kód pro odeslání úlohy, můžete postupovat podle dokumentace k rozhraní REST API Flink.