Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
Cette page explique comment installer des plug-ins personnalisés dans votre environnement Cloud Composer.
Le gestionnaire de plug-ins d'Apache Airflow vous permet d'écrire des opérateurs, des hooks, des capteurs ou des interfaces Apache Airflow internes personnalisés. Pour en savoir plus, consultez la page custom plugins dans la documentation Airflow.
À propos des plug-ins personnalisés
Lorsque vous créez un environnement, Cloud Composer crée un bucket Cloud Storage et l'associe à votre environnement. Pour installer des plug-ins personnalisés, utilisez le dossier plugins du bucket de votre environnement.
Avant de commencer
- Votre compte doit disposer d'un rôle permettant d'afficher et de modifier le contenu des buckets de votre environnement.
- Cette méthode d'installation ne s'applique qu'aux plug-ins Airflow. Par exemple, elle ne vous permet pas d'installer des modules Python courants, ni d'autres bibliothèques.
Les plug-ins doivent être conformes aux directives du modèle de plug-ins Airflow.
Cloud Composer 3 n'est pas compatible avec les plug-ins personnalisés pour le planificateur Airflow et le déclencheur Airflow. Les plug-ins ne sont pas synchronisés avec ces composants de votre environnement. Cela inclut les fonctionnalités d'Airflow qui s'appuient sur des plug-ins, tels que les tableaux horaires personnalisés et les écouteurs au niveau du DAG. Les écouteurs au niveau des tâches et les TimeTables intégrées sont acceptés.
Installer un plug-in
Pour installer un plug-in personnalisé dans votre environnement Cloud Composer, copiez le code du plug-in dans le dossier plugins du bucket de votre environnement.
Pour installer un plug-in, procédez comme suit :
Console
Dans la console Google Cloud , accédez à la page Environnements.
Recherchez votre environnement et suivez le lien DAG.
Remontez d'un niveau, puis accédez au dossier
plugins/.Importez vos fichiers de plug-in. Pour plus d'informations sur l'importation d'objets, consultez la page Importer des objets.
gcloud
Exécutez la commande gcloud suivante :
gcloud composer environments storage plugins import \
--environment ENVIRONMENT_NAME \
--location LOCATION \
--source PATH_TO_LOCAL_FILE \
--destination PATH_IN_SUBFOLDER
Remplacez :
ENVIRONMENT_NAMEpar le nom de l'environnement.LOCATIONpar la région dans laquelle se trouve l'environnement.PATH_TO_LOCAL_FILEpar le chemin d'accès du fichier à importer.- (Facultatif)
PATH_IN_SUBFOLDERpar le chemin d'accès au sous-dossier. Utilisez l'argument--destinationpour importer un plug-in dans un sous-dossier du dossierplugins. Sinon, omettez l'argument--destination.
Afficher la liste des plug-ins
Console
Dans la console Google Cloud , accédez à la page Environnements.
Recherchez votre environnement et suivez le lien DAG.
Remontez d'un niveau, puis accédez au dossier
plugins/.Affichez les fichiers du plug-in.
gcloud
Exécutez la commande gcloud suivante :
gcloud composer environments storage plugins list \
--environment ENVIRONMENT_NAME \
--location LOCATION
Remplacez :
ENVIRONMENT_NAMEpar le nom de l'environnement.LOCATIONpar la région dans laquelle se trouve l'environnement.
Supprimer un plug-in
Pour supprimer un plug-in de votre environnement Cloud Composer, supprimez le code du plug-in dans le dossier plugins du bucket de l'environnement.
Pour supprimer un plug-in, procédez comme suit :
Console
Dans la console Google Cloud , accédez à la page Environnements.
Recherchez votre environnement et suivez le lien DAG.
Remontez d'un niveau, puis accédez au dossier
plugins/.Supprimez les fichiers du plug-in. Pour plus d'informations, consultez la section Supprimer des objets.
gcloud
Exécutez la commande gcloud suivante :
gcloud composer environments storage plugins delete \
--environment ENVIRONMENT_NAME \
--location LOCATION \
PLUGIN_TO_DELETE
Télécharger des plug-ins
Pour télécharger des plug-ins, choisissez une option parmi les suivantes :
Console
Dans la console Google Cloud , accédez à la page Environnements.
Recherchez votre environnement et suivez le lien DAG.
Remontez d'un niveau, puis accédez au dossier
plugins/.Téléchargez les fichiers du plug-in. Pour en savoir plus sur la suppression d'objets, consultez la page Télécharger des objets.
gcloud
Exécutez la commande gcloud suivante :
gcloud composer environments storage plugins export \
--environment ENVIRONMENT_NAME \
--location LOCATION \
--destination PATH_TO_LOCAL_DESTINATION \
--source PATH_IN_FOLDER
Remplacez :
ENVIRONMENT_NAMEpar le nom de l'environnement.LOCATIONpar la région dans laquelle se trouve l'environnement.PATH_TO_LOCAL_DESTINATIONpar la destination du fichier téléchargé.- (Facultatif)
--sourceest une option permettant de télécharger un seul plug-in.PATH_IN_FOLDERest le chemin d'accès au dossier.
Désactiver les plug-ins de serveur Web
Dans Cloud Composer 3, si vous rencontrez des problèmes avec l'UI Airflow, vous pouvez désactiver les plug-ins du serveur Web sans avoir à les supprimer du bucket de l'environnement.
gcloud
Les arguments Google Cloud CLI suivants permettent d'activer et de désactiver les plug-ins du serveur Web :
--no-support-web-server-plugins: désactiver les plug-ins du serveur Web--support-web-server-plugins: activer les plug-ins du serveur Web
Pour désactiver les plug-ins de serveur Web, exécutez la commande Google Cloud CLI suivante :
gcloud beta composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--no-support-web-server-plugins
Pour activer les plug-ins de serveur Web, exécutez la commande Google Cloud CLI suivante :
gcloud beta composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--support-web-server-plugins
Remplacez les éléments suivants :
ENVIRONMENT_NAME: nom de l'environnementLOCATION: région où se trouve l'environnement
API
Créez une requête API
environments.patch.Dans cette requête :
Dans le paramètre
updateMask, spécifiez le masqueconfig.software_config.web_server_plugins_mode.Dans le corps de la requête, dans le champ
web_server_plugins_mode:- Spécifiez
PLUGINS_DISABLEDpour désactiver les plug-ins du serveur Web. - Spécifiez
PLUGINS_ENABLEDpour activer les plug-ins du serveur Web.
- Spécifiez
Exemple (désactiver les plug-ins) :
// PATCH https://composer.googleapis.com/v1beta1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.software_config.web_server_plugins_mode
"config": {
"softwareConfig": {
"web_server_plugins_mode": "PLUGINS_DISABLED"
}
}
Exemple (activer les plug-ins) :
// PATCH https://composer.googleapis.com/v1beta1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.software_config.web_server_plugins_mode
"config": {
"softwareConfig": {
"web_server_plugins_mode": "PLUGINS_ENABLED"
}
}
Résoudre les problèmes liés aux plug-ins
Les plug-ins causent des problèmes avec l'UI Airflow
Vous pouvez désactiver les plug-ins du serveur Web sans les supprimer. Pour en savoir plus, consultez Désactiver les plug-ins de serveur Web.
Un plug-in récemment importé n'est pas visible dans l'UI Airflow
Si vous utilisez le contrôle des accès à l'interface utilisateur d'Airflow, le plug-in que vous venez d'importer n'est peut-être pas visible dans l'interface utilisateur d'Airflow. Pour résoudre ce problème, demandez à l'administrateur de l'interface utilisateur Airflow de configurer l'accès au plug-in nouvellement importé ou attribuez-vous le rôle Admin dans l'interface utilisateur Airflow.