Partager via


Utilisation d’Azure Pipelines avec Apache Flink® sur HDInsight sur AKS

Important

Azure HDInsight sur AKS a été mis hors service le 31 janvier 2025. En savoir plus avec cette annonce.

Vous devez migrer vos charges de travail vers Microsoft Fabric ou un produit Azure équivalent pour éviter l’arrêt brusque de vos charges de travail.

Important

Cette fonctionnalité est actuellement en préversion. Les Conditions d’utilisation supplémentaires pour les préversions Microsoft Azure incluent des termes juridiques supplémentaires qui s’appliquent aux fonctionnalités Azure en version bêta, en préversion ou qui ne sont pas encore publiées en disponibilité générale. Pour plus d’informations sur cette préversion spécifique, consultez informations sur Azure HDInsight sur AKS en préversion. Pour des questions ou des suggestions de fonctionnalités, envoyez une demande sur AskHDInsight avec les détails et suivez-nous pour plus de mises à jour sur Communauté Azure HDInsight.

Dans cet article, vous allez apprendre à utiliser Azure Pipelines avec HDInsight sur AKS pour envoyer 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 simplifient l’automatisation des interactions de l’API REST.

Conditions préalables

  • 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éer un répertoire .pipeline, copier flink-azure-pipelines.yml et flink-job-azure-pipeline.ps1

  • Organisation Azure DevOps. Créez-en un gratuitement. Si votre équipe en a 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 une subvention gratuite.

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

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

Étapes de configuration du pipeline

Créer un principal de service pour Azure Pipelines

Créez principal de service Microsoft Entra pour accéder à Azure : accordez l’autorisation d’accéder à HDInsight sur un cluster AKS avec le rôle Contributeur, notez appId, mot de passe et locataire à partir de 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 projets open source associés sont marques déposées de la Apache Software Foundation (ASF).

Créer un coffre de clés

  1. Créez Azure Key Vault, vous pouvez suivre ce didacticiel pour créer un coffre de clés Azure.

  2. Créer trois secrets

    • clé de stockage en cluster pour la clé de stockage.

    • clé de principal de service pour l’ID client principal ou l'ID d'application principal.

    • secret de principal de service pour le secret principal.

    Capture d’écran montrant comment créer un coffre de clés.

  3. Accordez l’autorisation d’accéder à Azure Key Vault avec le rôle « Agent des secrets Key Vault » au principal de service.

Configuration du pipeline

  1. Accédez à votre projet, puis 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 comment sélectionner une nouvelle connexion de service.

  4. Dans la méthode d’authentification, sélectionnez Principal de service (manuel).

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

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

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

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

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

  7. Ensuite, vous devez attribuer le rôle Lecteur à l’abonnement.

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

  9. Enregistrez la connexion de service.

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

  10. Accédez aux pipelines, puis 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. Consultez comment créer un référentiel dans GitHub. image de dépôt GitHub sélectionné.

    Capture d’écran montrant comment rechercher votre code.

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

    Capture d’écran montrant comment sélectionner un dépôt GitHub.

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

    Capture d’écran montrant comment configurer le pipeline.

  15. Remplacez la valeur dans la section variable.

    Capture d’écran montrant comment remplacer la valeur.

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

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

  17. Ajoutez une 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 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 d’exécution avec le dernier fichier jar.

    • SAVEPOINT : cette valeur prend le point de sauvegarde pour l'exécution de la tâche.

    • DELETE : annulez ou supprimez le travail en cours d’exécution.

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

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

Note

Il s’agit d’un exemple pour soumettre la tâche en utilisant le pipeline. Vous pouvez suivre la documentation de l’API REST Flink pour écrire votre propre code pour envoyer un travail.