Crea ambienti runner

Questa pagina descrive il processo di creazione di 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 al tuo ambiente di deployment.

Prima di iniziare

  • Al momento, l'unico runner disponibile per le Orchestration Pipelines su Google Cloud è Managed Service for Apache Airflow. Si applicano tutte le quote e i limiti di sistema di Managed Airflow. Per saperne di più sui costi di un ambiente runner, consulta la pagina relativa ai prezzi di Managed Airflow.

  • Le Orchestration Pipelines possono essere eseguite negli 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.5
    • composer-3-airflow-2.11.1-build.1, composer-3-airflow-2.10.5-build.34 e composer-3-airflow-2.9.3-build.54
    • composer-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 manualmente il pacchetto orchestration-pipelines da PyPI.

  • Il tempo approssimativo per creare un ambiente Managed Airflow è di 25 minuti.

  • Puoi creare ambienti Managed Airflow nella consoleGoogle Cloud , in gcloud CLI e in Terraform. Questa guida mostra solo i comandi gcloud CLI. Per istruzioni ed esempi di altri approcci, vedi Crea ambienti nella documentazione di Managed Airflow.

  • La configurazione predefinita fornita in questa guida crea un ambiente Airflow gestito con IP pubblico. Managed Airflow offre molte più opzioni per la configurazione di rete e di sicurezza. Per ulteriori informazioni sui diversi modi per configurare un ambiente runner, consulta Creare ambienti nella documentazione di Managed Airflow.

Esamina i ruoli IAM richiesti

Per ottenere le autorizzazioni necessarie per creare ambienti runner nel tuo progetto, chiedi all'amministratore di concederti i seguenti ruoli:

  • Amministratore ambiente e oggetti di archiviazione (composer.environmentAndStorageObjectAdmin) e Utente service account (iam.serviceAccountUser) per creare e gestire gli ambienti in Managed Service for Apache Airflow e gestire gli oggetti nei bucket associati a questi ambienti. Per saperne di più 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

  1. Abilita l'API Composer. Per l'elenco completo dei servizi utilizzati da Managed Airflow, consulta Servizi richiesti da Managed Airflow.
  2. Abilita le API per i servizi che vuoi utilizzare (ad esempio l'API Dataproc). Google Cloud

Crea un nuovo account di servizio per l'ambiente runner e concedigli 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 che vi vengono implementate.

Chiedi all'amministratore di:

  1. Crea un nuovo service account come descritto nella documentazione di Identity and Access Management.

  2. Concedi il ruolo Worker Composer (composer.worker). Questo ruolo fornisce questo insieme di autorizzazioni richieste nella maggior parte dei casi.

    Per accedere ad altre risorse nel tuo Google Cloud progetto, concedi autorizzazioni aggiuntive per accedere a queste risorse a questoaccount di serviziot. Aggiungi autorizzazioni aggiuntive a questoaccount di serviziot solo quando è necessario per il funzionamento della pipeline di orchestrazione.

  3. 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.

  4. 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 per questo account di servizio.

    Ad esempio, se la pipeline utilizza un'azione che viene eseguita su un cluster effimero Managed Service for Apache Spark, l'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.

Crea un ambiente Managed Service for Apache Airflow

Crea un ambiente Managed Service for Apache Airflow, tenendo conto delle seguenti considerazioni.

  • Nome ambiente: qualsiasi nome. Utilizzerai questo nome in un secondo momento per [deploy][op-deploy] delle tue pipeline. Esempio: example-runner.
  • Versione dell'immagine: versione di Managed Service for Apache Airflow e Airflow da utilizzare. In gcloud CLI, puoi utilizzare un alias che punta alla versione predefinita, ad esempio composer-3-airflow-3 o composer-2-airflow-2.
  • Posizione: qualsiasi posizione. 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."

Esempio di configurazione dei workload consigliata per l'anteprima (puoi sempre aumentarla o ridurla 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." \
  --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) Installa il pacchetto Orchestration Pipelines da PyPI

Orchestration Pipelines dipende dal orchestration-pipelines pacchetto PyPI. Per impostazione predefinita, questo pacchetto è già preinstallato nell'ambiente runner.

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 saperne di più sull'installazione dei pacchetti PyPI nell'ambiente runner e per esempi di come farlo nella console Google Cloud e in Terraform, consulta Installare le dipendenze Python nella documentazione di Managed Service for Apache Airflow.

Passaggi successivi

  • Aggiungi l'ambiente runner alla [configurazione del deployment][op-deploy].