Partager via


Comment utiliser Azure Pipelines avec Apache Flink® pour HDInsight sur AKS

Important

Cette fonctionnalité est disponible actuellement en mode Aperçu. Les Conditions d’utilisation supplémentaires pour les préversions de Microsoft Azure contiennent davantage de conditions légales qui s’appliquent aux fonctionnalités Azure en version bêta, en préversion ou ne se trouvant pas encore en disponibilité générale. Pour plus d’informations sur cette préversion spécifique, consultez les Informations sur la préversion d’Azure HDInsight sur AKS. Pour toute question ou pour des suggestions à propos des fonctionnalités, veuillez envoyer vos requêtes et leurs détails sur AskHDInsight, et suivez-nous sur la Communauté Azure HDInsight pour plus de mises à jour.

Dans cet article, vous allez apprendre à utiliser Azure Pipelines avec HDInsight sur AKS pour soumettre des travaux Flink avec l’API REST du cluster. Nous vous guidons tout au long du processus à l'aide d'un exemple de pipeline YAML et d'un script PowerShell, qui rationalisent tous deux l'automatisation des interactions de l'API REST.

Prérequis

  • Abonnement Azure. Si vous n'avez pas d'abonnement Azure, créez un compte gratuit.

  • Un compte GitHub dans lequel vous pouvez créer un référentiel. Créez-en un gratuitement.

  • Créez un répertoire .pipeline, copiez flink-azure-pipelines.yml et flink-job-azure-pipeline.ps1

  • Organisation Azure DevOps. Créez-en un gratuitement. Si votre équipe en possède déjà un, assurez-vous que vous êtes administrateur du projet Azure DevOps que vous souhaitez utiliser.

  • Possibilité d'exécuter des pipelines sur des agents hébergés par Microsoft. Pour utiliser des agents hébergés par Microsoft, votre organisation Azure DevOps doit avoir accès aux travaux parallèles hébergés par Microsoft. Vous pouvez acheter un travail parallèle ou demander un octroi gratuit.

  • Un cluster Flink. Si vous n'en avez pas, Créez un cluster Flink dans HDInsight sur AKS.

  • Créez un répertoire dans le compte de stockage du cluster pour copier le fichier jar de travail. Plus tard, vous devrez configurer ce répertoire dans le pipeline YAML pour l'emplacement du fichier jar de travail (<JOB_JAR_STORAGE_PATH>).

Étapes pour configurer le pipeline

Créer un principal de service pour Azure Pipelines

Créez un principal de service Microsoft Entra pour accéder à Azure – Accordez l’autorisation d’accéder à HDInsight sur le cluster AKS avec le rôle de contributeur, notez l’ID d’application, le mot de passe et le locataire dans la réponse.

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

Exemple :

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`

Référence

Remarque

Apache, Apache Flink, Flink et les noms de projet open source associés sont des marques de commerce d’Apache Software Foundation (ASF).

Création d’un coffre de clés

  1. Créez Azure Key Vault, vous pouvez suivre ce tutoriel pour créer un nouveau Azure Key Vault.

  2. Créez trois Secrets

    • cluster-storage-key pour clé de rangement.

    • service-principal-key pour le clientId principal ou l’appId.

    • service-principal-secret pour secret principal.

    Capture d’écran illustrant la création d’un coffre de clés.

  3. Accordez l’autorisation d’accéder à Azure Key Vault avec le rôle « Key Vault Secrets Officer » au principal du service.

Configurer le pipeline

  1. Accédez à votre projet et cliquez sur Paramètres du projet.

  2. Faites défiler vers le bas et sélectionnez Connexions de service, puis Nouvelle connexion de service.

  3. Sélectionnez Azure Resource Manager.

    Capture d’écran montrant la sélection d’une nouvelle connexion de service.

  4. Dans la méthode d'authentification, sélectionnez Service Principal (manuel).

    Capture d’écran montrant une nouvelle connexion de service.

  5. Modifiez les propriétés de connexion au service. Sélectionnez le principal de service que vous avez récemment créé.

    Capture d’écran montrant comment modifier une connexion de service.

  6. Cliquez sur Vérifier pour vérifier si la connexion a été correctement configurée. Si vous rencontrez l'erreur suivante :

    Capture d’écran montrant le message d’erreur d’une connexion de service.

  7. Ensuite, vous devez attribuer le rôle Lecteur à la souscription.

  8. Après cela, la vérification devrait réussir.

  9. Enregistrez la connexion de service.

    Capture d’écran montrant comment afficher l’ID du locataire.

  10. Accédez aux pipelines et cliquez sur Nouveau pipeline.

    Capture d’écran montrant comment créer un pipeline.

  11. Sélectionnez GitHub comme emplacement de votre code.

  12. Sélectionnez le référentiel . Découvrez comment créer un référentiel dans GitHub. image select-github-repo.

    Capture d’écran montrant comment rechercher votre code.

  13. Sélectionnez le référentiel . Pour plus d'informations, consultez Comment créer un référentiel dans GitHub.

    Capture d’écran montrant la sélection d’un référentiel GitHub.

  14. Dans la configuration de votre option de pipeline, vous pouvez choisir Fichier YAML Azure Pipelines existant. Sélectionnez le script de branche et de pipeline que vous avez copié précédemment. (.pipeline/flink-azure-pipelines.yml)

    Capture d’écran montrant comment configurer un pipeline.

  15. Remplacez la valeur dans la section variable.

    Capture d’écran montrant comment remplacer une valeur.

  16. Corrigez la section de construction de code en fonction de vos besoins et configurez <JOB_JAR_LOCAL_PATH> dans la section variable pour le chemin local du job jar.

    Capture d’écran montrant la section génération de code.

  17. Ajoutez la variable de pipeline « action » et configurez la valeur « RUN. »

    Capture d’écran montrant comment ajouter une variable de pipeline.

    vous pouvez modifier les valeurs de la variable avant d'exécuter le pipeline.

    • NOUVEAU : Cette valeur est par défaut. Il lance un nouveau travail et si le travail est déjà en cours d'exécution, il met à jour le travail en cours avec le dernier fichier jar.

    • POINT DE SAUVEGARDE : Cette valeur prend le point de sauvegarde pour l’exécution du travail.

    • SUPPRIMER : Annuler ou supprimer le travail en cours.

  18. Enregistrez et exécutez le pipeline. Vous pouvez voir le travail en cours sur le portail dans la section Flink Job.

    Capture d’écran montrant comment enregistrer et exécuter un pipeline.

Remarque

Il s'agit d'un exemple pour soumettre le travail à l'aide d'un pipeline. Vous pouvez suivre la documentation de l'API Flink REST pour écrire votre propre code afin de soumettre le travail.