Sdílet prostřednictvím


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

Důležitý

Azure HDInsight v AKS byl vyřazen 31. ledna 2025. Zjistěte více v tomto oznámení .

Abyste se vyhnuli náhlému ukončení úloh, musíte migrovat úlohy do Microsoft Fabric nebo ekvivalentního produktu Azure.

Důležitý

Tato funkce je aktuálně ve verzi Preview. doplňkové podmínky použití pro verze preview Microsoft Azure obsahují další právní podmínky, které se vztahují na funkce Azure, které jsou v beta verzi, ve verzi preview nebo doposud nebyly zveřejněny k obecné dostupnosti. Informace o tomto konkrétním preview najdete v tématu Azure HDInsight pro AKS preview. Pokud máte dotazy nebo návrhy funkcí, odešlete prosím žádost o AskHDInsight s podrobnostmi a sledujte nás o dalších aktualizacích komunity 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 jeden zdarma.

  • Vytvořte adresář .pipeline, zkopírujte 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 požádat o bezplatnou dotaci.

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

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

Postup nastavení potrubí

Vytvoření služebního hlavní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`

Odkaz

Poznámka

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

Vytvoření trezoru klíčů

  1. Vytvořte službu Azure Key Vault, můžete postupovat podle tohoto kurzu a vytvořit novou službu Azure Key Vault.

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

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

    • klíč služebního účtu pro klientské ID nebo ID aplikace.

    • tajný klíč objektu zabezpečení 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í pipeline

  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 službu principal (ručně).

    Snímek obrazovky ukazuje 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 ukazují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 připojení ke službě

  7. Potřebujete pak 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ě. Přečtěte si , jak vytvořit úložiště na GitHubu. vyberte github repo obrázek

    snímek obrazovky znázorňující, jak hledat kód

  13. Vyberte úložiště. Další informace naleznete 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 pipeline, který jste zkopírovali dříve. (.pipeline/flink-azure-pipelines.yml)

    Snímek obrazovky znázorňující, jak nakonfigurovat pipeline.

  15. Nahraďte hodnotu v části proměnné.

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

  16. Opravte sekci sestavení kódu dle vašeho požadavku a nakonfigurujte <JOB_JAR_LOCAL_PATH> v sekci proměnných pro místní cestu k souboru JAR úlohy.

    Snímek obrazovky ukazuje oddíl sestavení kódu.

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

    Snímek obrazovky znázorňuje, jak přidat proměnnou pipeline.

    Před spuštěním pipeliny 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 potrubí. Můžete vidět spuštěnou úlohu v části Flink Job na portálu.

    Snímek obrazovky ukazuje, jak uložit a spustit pipeline.

Poznámka

Toto je jeden příklad, jak odeslat úlohu pomocí pipeline. Pokud chcete napsat vlastní kód pro odeslání úlohy, můžete postupovat podle dokumentace k rozhraní REST API Flink.