Questa pagina descrive la procedura di creazione degli ambienti runner che eseguiranno le pipeline di orchestrazione.
Informazioni sugli ambienti runner
Ogni ambiente di deployment deve avere un ambiente runner. Managed Airflow è il motore di orchestrazione che esegue le pipeline dopo il deployment. Un ambiente runner è un ambiente Managed Airflow che hai assegnato a l tuo ambiente di deployment.
Prima di iniziare
Al momento, l'unico runner disponibile per Orchestration Pipelines su Google Cloud è Managed Service for Apache Airflow. Si applicano tutte le quote e i limiti di sistema di Managed Airflow. Per ulteriori informazioni sui costi di un ambiente runner, consulta i prezzi di Managed Airflow.
Orchestration Pipelines può essere eseguito su ambienti runner Managed Airflow (Gen 3) e (Gen 2). In Managed Airflow (Gen 3), puoi utilizzare sia Airflow 3 che Airflow 2.
I pacchetti Orchestration Pipelines sono preinstallati in Managed Airflow a partire dalle seguenti versioni:
composer-3-airflow-3.1.7-build.5composer-3-airflow-2.11.1-build.1,composer-3-airflow-2.10.5-build.34ecomposer-3-airflow-2.9.3-build.54composer-2.16.11-airflow-2.11.1,composer-2.16.11-airflow-2.10.5
Se utilizzi una versione precedente di Managed Airflow, puoi installare il pacchetto
orchestration-pipelinesda PyPI manualmente.Il tempo approssimativo per creare un ambiente Managed Airflow è di 25 minuti.
Puoi creare ambienti Managed Airflow in Google Cloud console, in gcloud CLI e in Terraform. Questa guida mostra solo i comandi gcloud CLI. Per istruzioni ed esempi di altri approcci, consulta Creare ambienti nella documentazione di Managed Airflow.
La configurazione predefinita fornita in questa guida crea un ambiente Managed Airflow con IP pubblico. Managed Airflow offre molte altre opzioni per la configurazione di rete e sicurezza. Per ulteriori informazioni sui diversi modi per configurare un ambiente runner, consulta Creare ambienti nella documentazione di Managed Airflow.
Esaminare i ruoli IAM richiesti
Per ottenere le autorizzazioni necessarie per creare ambienti runner nel tuo progetto, chiedi all'amministratore di concederti i seguenti ruoli:
- Ruolo Amministratore di ambienti e oggetti di archiviazione (
composer.environmentAndStorageObjectAdmin) e Utente account di servizio (iam.serviceAccountUser) per creare e gestire ambienti in Managed Service for Apache Airflow e gestire oggetti nei bucket associati a questi ambienti. Per ulteriori informazioni su questi ruoli utente, consulta Concedere ruoli agli utenti nella documentazione di Managed Service for Apache Airflow.
Abilitare l'API Cloud Composer e le API per le azioni
- Abilitare l'API Cloud Composer. Per l'elenco completo dei servizi utilizzati da Managed Airflow, consulta Servizi richiesti da Managed Airflow.
- Abilita le API per Google Cloud i servizi che vuoi utilizzare (ad esempio l'API Dataproc).
Creare un nuovo account di servizio per l'ambiente runner e concedergli i ruoli IAM
Il account di servizio dell'ambiente runner viene utilizzato per creare un nuovo ambiente Managed Service for Apache Airflow ed eseguire tutte le pipeline di orchestrazione di cui esegui il deployment.
Chiedi all'amministratore di eseguire le seguenti operazioni:
Crea un nuovo service account come descritto nella documentazione di Identity and Access Management.
Concedi il ruolo Worker Composer (
composer.worker). Nella maggior parte dei casi, questo ruolo fornisce il set di autorizzazioni richiesto.Per accedere ad altre risorse nel tuo Google Cloud progetto, concedi a questo account di servizio autorizzazioni aggiuntive per accedere a queste risorse. Aggiungi autorizzazioni aggiuntive a questo account di servizio solo quando è necessario per il funzionamento della pipeline di orchestrazione.
Se vuoi utilizzare un ambiente Managed Airflow (Gen 2), segui le istruzioni riportate in Concedere le autorizzazioni richieste al service account Managed Airflow per concedere autorizzazioni aggiuntive.
Concedi le autorizzazioni richieste dalla pipeline. Tutte le attività di orchestrazione in una pipeline verranno eseguite dal service account di questo ambiente runner, pertanto devi concedere manualmente tutte le autorizzazioni richieste su questo account di servizio.
Ad esempio, se la pipeline utilizza un'azione eseguita su un cluster effimero Managed Service for Apache Spark, il account di servizio dell'ambiente runner deve disporre delle autorizzazioni per creare ed eliminare un cluster Managed Service for Apache Spark, nonché per attivare e gestire i job Managed Service for Apache Spark. Inoltre, l'API Dataproc deve essere abilitata.
Creare un ambiente Managed Service for Apache Airflow
Crea un ambiente Managed Service for Apache Airflow, tenendo presente le seguenti considerazioni.
- Nome ambiente: qualsiasi nome. Utilizzerai questo nome in un secondo momento per [eseguire il deployment][op-deploy] delle pipeline. Esempio:
example-runner. - Versione immagine: versione di Managed Service for Apache Airflow e Airflow da utilizzare. In gcloud CLI, puoi utilizzare un alias che rimanda alla versione predefinita, ad esempio
composer-3-airflow-3ocomposer-2-airflow-2. - Località: qualsiasi località. Esempio:
us-central1. - Service account: account di servizio che hai creato per questo ambiente.
Esempio di comando gcloud CLI:
gcloud composer environments create example-runner \
--location us-central1 \
--image-version composer-3-airflow-3 \
--service-account "example-account@example-project.iam.gserviceaccount.com"
Esempio di configurazione dei workload consigliata per l'anteprima (puoi sempre aumentare o diminuire la scalabilità in un secondo momento):
gcloud composer environments create example-runner \
--location us-central1 \
--image-version composer-3-airflow-3 \
--service-account "example-account@example-project.iam.gserviceaccount.com" \
--scheduler-cpu 2 \
--scheduler-memory 8GB \
--dag-processor-cpu 4 \
--dag-processor-memory 8GB \
--worker-cpu 4 \
--worker-memory 8GB
La creazione di un ambiente Managed Airflow richiede circa 25 minuti.
(Facoltativo) Installare il pacchetto Orchestration Pipelines da PyPI
Orchestration Pipelines dipende dal
orchestration-pipelines pacchetto PyPI.
Per impostazione predefinita, l'ambiente runner ha già questo pacchetto preinstallato.
Se utilizzi una versione precedente di Managed Airflow che non ha questo pacchetto preinstallato o vuoi installare una versione diversa del pacchetto, puoi installarlo da PyPI.
Esempio:
gcloud composer environments update example-runner \
--location us-central1 \
--update-pypi-package "orchestration-pipelines>=0.11.1"
Per ulteriori informazioni sull'installazione dei pacchetti PyPI nell'ambiente runner e per esempi di come eseguire questa operazione nella Google Cloud console e in Terraform, consulta Installare le dipendenze Python nella documentazione di Managed Service for Apache Airflow.
Passaggi successivi
- Aggiungi l'ambiente runner alla [configurazione di deployment][op-deploy].