Cette page décrit le processus de création d'environnements d'exécuteur qui exécuteront vos pipelines d'orchestration.
À propos des environnements d'exécuteur
Chaque environnement de déploiement doit disposer d'un environnement d'exécuteur. Managed Airflow est le moteur d'orchestration qui exécute vos pipelines une fois qu'ils sont déployés. Un environnement d'exécuteur est un environnement Managed Airflow que vous avez attribué à votre environnement de déploiement.
Avant de commencer
Pour le moment, le seul exécuteur disponible pour les pipelines d'orchestration sur Google Cloud est Managed Service pour Apache Airflow. Tous les quotas et limites système de Managed Airflows'appliquent. Pour en savoir plus sur les coûts d'un environnement d'exécuteur, consultez la page Tarifs de Managed Airflow.
Les pipelines d'orchestration peuvent s'exécuter dans des environnements d'exécuteur Managed Airflow (3e génération) et (2e génération). Dans Managed Airflow (3e génération), vous pouvez utiliser Airflow 3 et Airflow 2.
Les packages de pipelines d'orchestration sont préinstallés dans Managed Airflow à partir des versions suivantes :
composer-3-airflow-3.1.7-build.5composer-3-airflow-2.11.1-build.1,composer-3-airflow-2.10.5-build.34etcomposer-3-airflow-2.9.3-build.54composer-2.16.11-airflow-2.11.1,composer-2.16.11-airflow-2.10.5
Si vous utilisez une version antérieure de Managed Airflow, vous pouvez installer le
orchestration-pipelinespackage à partir de PyPI manuellement.La durée approximative de création d'un environnement Managed Airflow est de 25 minutes.
Vous pouvez créer des environnements Managed Airflow dans Google Cloud la console, gcloud CLI et Terraform. Ce guide ne présente que les commandes gcloud CLI. Pour obtenir des instructions et des exemples d'autres approches, consultez la section Créer des environnements dans la documentation Managed Airflow.
La configuration par défaut fournie dans ce guide crée un environnement Managed Airflow avec une adresse IP publique. Managed Airflow offre de nombreuses autres options de configuration réseau et de sécurité. Pour en savoir plus sur les différentes façons de configurer un environnement d'exécuteur, consultez la section Créer des environnements dans la documentation Managed Airflow.
Examiner les rôles IAM requis
Pour obtenir les autorisations nécessaires pour créer des environnements d'exécuteur dans votre projet, demandez à votre administrateur de vous accorder les rôles suivants :
- Rôle Administrateur de l'environnement et des objets de l'espace de stockage (
composer.environmentAndStorageObjectAdmin) et rôle Utilisateur du compte de service (iam.serviceAccountUser) pour créer et gérer des environnements dans Managed Service pour Apache Airflow, et gérer des objets dans les buckets associés à ces environnements. Pour en savoir plus sur ces rôles utilisateur, consultez Attribuer des rôles aux utilisateurs dans la documentation Managed Service pour Apache Airflow.
Activer l'API Cloud Composer et les API pour les actions
- Activez l'API Cloud Composer. Pour obtenir la liste complète des services utilisés par Managed Airflow, consultez la section Services requis par Managed Airflow.
- Activez les API pour les Google Cloud services que vous souhaitez utiliser (par exemple, l'API Dataproc).
Créer un compte de service pour l'environnement d'exécuteur et lui attribuer des rôles IAM
Le compte de service de l'environnement d'exécuteur est utilisé pour créer un environnement Managed Service pour Apache Airflow et exécuter tous les pipelines d'orchestration que vous y déployez.
Demandez à votre administrateur d'effectuer les opérations suivantes :
Créez un compte de service comme décrit dans la documentation Identity and Access Management.
Attribuez-lui le rôle Nœud de calcul Composer (
composer.worker). Dans la plupart des cas, ce rôle fournit l'ensemble d'autorisations requis.Pour accéder à d'autres ressources de votre Google Cloud projet, accordez des autorisations supplémentaires à ce compte de service. N'ajoutez des autorisations supplémentaires à ce compte de service que lorsque cela est nécessaire au fonctionnement de votre pipeline d'orchestration.
Si vous souhaitez utiliser un environnement Managed Airflow (2e génération), suivez les instructions de la section Accorder les autorisations requises au compte de service Managed Airflow pour accorder des autorisations supplémentaires.
Accordez les autorisations requises par votre pipeline. Toutes les tâches d'orchestration d'un pipeline seront exécutées par le compte de service de cet environnement d'exécuteur. Vous devez donc accorder manuellement toutes les autorisations requises sur ce compte de service.
Par exemple, si votre pipeline utilise une action qui s'exécute sur un cluster éphémère Managed Service pour Apache Spark, le compte de service de l'environnement d'exécuteur doit disposer des autorisations nécessaires pour créer et supprimer un cluster Managed Service pour Apache Spark, ainsi que pour déclencher et gérer des jobs Managed Service pour Apache Spark. De plus, l'API Dataproc doit être activée.
Créer un environnement Managed Service pour Apache Airflow
Créez un environnement Managed Service pour Apache Airflow, en tenant compte des points suivants.
- Nom de l'environnement : n'importe quel nom. Vous utiliserez ce nom ultérieurement pour [déployer][op-deploy] vos pipelines. Exemple :
example-runner. - Version de l'image : version de Managed Service pour Apache Airflow et d'Airflow à utiliser. Dans gcloud CLI, vous pouvez utiliser un alias qui pointe vers la version par défaut, par exemple
composer-3-airflow-3oucomposer-2-airflow-2. - Emplacement : n'importe quel emplacement. Exemple :
us-central1. - Compte de service : compte de service que vous avez créé pour cet environnement.
Exemple de commande 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"
Exemple de configuration recommandée pour les charges de travail pour la version preview (vous pouvez toujours l'augmenter ou la réduire ultérieurement) :
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 création d'un environnement Managed Airflow prend environ 25 minutes.
(Facultatif) Installer le package de pipelines d'orchestration à partir de PyPI
Les pipelines d'orchestration dépendent du
orchestration-pipelines package PyPI.
Par défaut, ce package est déjà préinstallé dans votre environnement d'exécuteur.
Si vous utilisez une version antérieure de Managed Airflow qui ne dispose pas de ce package préinstallé ou si vous souhaitez installer une autre version du package, vous pouvez l'installer à partir de PyPI.
Exemple :
gcloud composer environments update example-runner \
--location us-central1 \
--update-pypi-package "orchestration-pipelines>=0.11.1"
Pour en savoir plus sur l'installation de packages PyPI dans votre environnement d'exécuteur et pour obtenir des exemples de procédure dans la Google Cloud console et Terraform, consultez la section Installer les dépendances Python dans la documentation Managed Service pour Apache Airflow.
Étape suivante
- Ajoutez l'environnement d'exécuteur à la [configuration de déploiement][op-deploy].