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.ps1Organizzazione 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
Creare Azure Key Vault, è possibile seguire questa esercitazione per creare un nuovo Azure Key Vault.
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.
Concedere l'autorizzazione per accedere ad Azure Key Vault con il ruolo "Responsabile dei segreti di Key Vault" all'entità servizio.
Configurare la pipeline
Passare al progetto e fare clic su Impostazioni progetto.
Scorrere verso il basso e selezionare Connessioni al servizio e quindi Nuova connessione al servizio.
Selezionare Azure Resource Manager.
Nel metodo di autenticazione selezionare Entità servizio (manuale).
Modificare le proprietà della connessione al servizio. Selezionare l'entità servizio creata di recente.
Fare clic su Verifica per verificare se la connessione è stata configurata correttamente. Se viene visualizzato l'errore seguente:
È quindi necessario assegnare il ruolo Lettore alla sottoscrizione.
A questo punto, la verifica avrà esito positivo.
Salvare la connessione al servizio.
Passare alle pipeline e fare clic su Nuova pipeline.
Selezionare GitHub come percorso del codice.
Selezionare il repository . Vedere come creare un repository in GitHub. Immagine select-github-repo.
Selezionare il repository . Per altre informazioni, vedere Come creare un repository in GitHub.
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)
Sostituire il valore nella sezione della variabile.
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.
Aggiungere la variabile di pipeline "action" e configurare il valore "RUN".
È 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.
Salvare ed eseguire la pipeline. È possibile visualizzare il processo in esecuzione nel portale nella sezione Processo Flink.
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.