Condividi tramite


Come usare Azure Pipelines con Apache Flink® in HDinsight su AKS

Nota

Azure HDInsight su AKS verrà ritirato il 31 gennaio 2025. Prima del 31 gennaio 2025, sarà necessario eseguire la migrazione dei carichi di lavoro a Microsoft Fabric o a un prodotto Azure equivalente per evitare interruzioni improvvise dei carichi di lavoro. I cluster rimanenti nella sottoscrizione verranno arrestati e rimossi dall’host.

Solo il supporto di base sarà disponibile fino alla data di ritiro.

Importante

Questa funzionalità è attualmente disponibile solo in anteprima. Le Condizioni per l'utilizzo supplementari per le anteprime di Microsoft Azure includono termini legali aggiuntivi che si applicano a funzionalità di Azure in versione beta, in anteprima o in altro modo non ancora disponibili a livello generale. Per informazioni su questa anteprima specifica, vedere Informazioni sull'anteprima di Azure HDInsight nel servizio Azure Kubernetes. Per domande o suggerimenti sulle funzionalità, inviare una richiesta in AskHDInsight con i dettagli e seguire Microsoft per altri aggiornamenti nella Community di Azure HDInsight.

Questo articolo illustra come usare Azure Pipelines con HDInsight su AKS per inviare processi Flink con l'API REST del cluster. Verrà illustrato il processo usando una pipeline YAML di esempio e uno script di PowerShell: entrambi semplificano l'automazione delle interazioni con l'API REST.

Prerequisiti

  • Sottoscrizione di Azure. Se non si ha una sottoscrizione di Azure, creare un account gratuito.

  • Un account GitHub in cui è possibile creare un repository. Crearne una gratuitamente.

  • Creare la directory .pipeline, copiare flink-azure-pipelines.yml e flink-job-azure-pipeline.ps1

  • Organizzazione di Azure DevOps. Crearne una gratuitamente. Se il team ne ha già uno, assicurarsi di essere un amministratore del progetto Azure DevOps che si vuole usare.

  • Possibilità di eseguire pipeline su agenti ospitati da Microsoft. Per usare gli agenti ospitati da Microsoft, l'organizzazione Azure DevOps deve avere accesso ai processi paralleli ospitati da Microsoft. È possibile acquistare un processo in parallelo oppure richiedere una concessione gratuita.

  • Un cluster Flink. Se non è disponibile, creare un cluster Flink in HDInsight su AKS.

  • Creare una directory nell'account di archiviazione del cluster per copiare il file JAR del processo. Questa directory dovrà essere configurata in un secondo momento in YAML della pipeline per il percorso JAR del processo (<JOB_JAR_STORAGE_PATH>).

Passaggi per configurare la pipeline

Creare un'entità servizio per Azure Pipelines

Creare entità servizio Microsoft Entra per accedere ad Azure: concedere l'autorizzazione per accedere a HDInsight nel cluster del servizio Azure Kubernetes con il ruolo Collaboratore, prendere nota di appId, password e tenant dalla risposta.

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

Esempio:

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`

Riferimento

Nota

Apache, Apache Flink, Flink e i nomi dei progetti open source associati sono marchi di Apache Software Foundation (ASF).

Creare un insieme di credenziali delle chiavi

  1. Creare Azure Key Vault, è possibile seguire questa esercitazione per creare un nuovo Azure Key Vault.

  2. Creare tre segreti

    • cluster-storage-key per la chiave di archiviazione.

    • service-principal-key per clientId o appId principale.

    • service-principal-secret per il segreto dell'entità di sicurezza.

    Screenshot che mostra come creare un insieme di credenziali delle chiavi.

  3. Concedere l'autorizzazione per accedere ad Azure Key Vault con il ruolo "Responsabile dei segreti di Key Vault" all'entità servizio.

Configurare la pipeline

  1. Passare al progetto e fare clic su Impostazioni progetto.

  2. Scorrere verso il basso e selezionare Connessioni al servizio e quindi Nuova connessione al servizio.

  3. Selezionare Azure Resource Manager.

    Screenshot che mostra come selezionare una nuova connessione al servizio.

  4. Nel metodo di autenticazione selezionare Entità servizio (manuale).

    Screenshot che mostra la nuova connessione al servizio.

  5. Modificare le proprietà della connessione al servizio. Selezionare l'entità servizio creata di recente.

    Screenshot che mostra come modificare la connessione al servizio.

  6. Fare clic su Verifica per verificare se la connessione è stata configurata correttamente. Se viene visualizzato l'errore seguente:

    Screenshot che mostra il messaggio di errore di connessione al servizio.

  7. È quindi necessario assegnare il ruolo Lettore alla sottoscrizione.

  8. A questo punto, la verifica avrà esito positivo.

  9. Salvare la connessione al servizio.

    Screenshot che mostra come visualizzare l'ID tenant.

  10. Passare alle pipeline e fare clic su Nuova pipeline.

    Screenshot che mostra come creare una nuova pipeline.

  11. Selezionare GitHub come percorso del codice.

  12. Selezionare il repository . Vedere come creare un repository in GitHub. Immagine select-github-repo.

    Screenshot che mostra come cercare il codice.

  13. Selezionare il repository . Per altre informazioni, vedere Come creare un repository in GitHub.

    Screenshot che mostra come selezionare un repository GitHub.

  14. Dall'opzione Configura la pipeline è possibile scegliere File YAML di Azure Pipelines esistente. Selezionare branch e script della pipeline copiati in precedenza. (.pipeline/flink-azure-pipelines.yml)

    Screenshot che mostra come configurare la pipeline.

  15. Sostituire il valore nella sezione della variabile.

    Screenshot che mostra come sostituire il valore.

  16. Correggere la sezione di compilazione del codice in base alle esigenze e configurare <JOB_JAR_LOCAL_PATH> nella sezione variabile per il percorso locale del file JAR del processo.

    Screenshot che mostra la sezione di compilazione del codice.

  17. Aggiungere la variabile di pipeline "action" e configurare il valore "RUN".

    Screenshot che mostra come aggiungere una variabile della pipeline.

    È possibile modificare i valori della variabile prima di eseguire la pipeline.

    • NEW: questo valore è predefinito. Avvia un nuovo processo e, se questo è già in esecuzione, lo aggiorna con il file JAR più recente.

    • SAVEPOINT: questo valore accetta il punto di salvataggio per l'esecuzione del processo.

    • DELETE: annullare o eliminare il processo in esecuzione.

  18. Salvare ed eseguire la pipeline. È possibile visualizzare il processo in esecuzione nel portale nella sezione Processo Flink.

    Screenshot che mostra come salvare ed eseguire la pipeline.

Nota

Questo è un esempio di invio del processo tramite la pipeline. È possibile seguire la documentazione dell'API REST Flink per scrivere codice personalizzato per inviare il processo.