Migrer des environnements vers Cloud Composer 3

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

Cette page explique comment transférer des DAG, des données et une configuration l'environnement Cloud Composer 2 existant vers Cloud Composer 3.

Avant de commencer

  • Ce guide de migration utilise des instantanés. Les instantanés sont pris en charge dans Cloud Composer 2 version 2.0.9 ou ultérieure.

  • Cloud Composer permet la migration côte à côte de Cloud Composer 2 vers Cloud Composer 3. Il n'est pas possible de Cloud Composer 2 vers Cloud Composer 3 sur place.

  • Consultez le Liste des différences entre Cloud Composer 2 et Cloud Composer 3 Assurez-vous que votre environnement n'utilise pas de fonctionnalités qui ne sont pas disponibles. dans la version Preview publique de Cloud Composer 3.

  • La taille maximale de la base de données Airflow compatible avec les instantanés est de 20 Go. Si la base de données de votre environnement nécessite plus de 20 Go, réduire la taille de la base de données Airflow.

Vérifier que vos DAG sont compatibles avec Cloud Composer 3

Assurez-vous que vos DAG sont compatibles avec Cloud Composer 3 en procédant comme suit : ces suggestions:

  • La liste des packages dans l'environnement Cloud Composer 3 peuvent être différents de ceux de votre environnement Cloud Composer 2. Cela peut affecter la compatibilité de vos DAG avec Cloud Composer 3.

  • Cloud Composer charge les remplacements de configuration, l'environnement variables et packages PyPI de l'instantané de votre environnement Cloud Composer 2 vers Cloud Composer 3 sans les modifier ni les ajuster et la compatibilité avec d'autres appareils. Si des packages PyPI personnalisés provoquent des conflits de dépendances, vous pouvez ignorer leur installation lorsque vous chargez l'instantané.

  • Dans Cloud Composer 3, le cluster de l'environnement se trouve dans le projet locataire. Assurez-vous que vos DAG sont compatibles avec ce changement. En particulier, Les charges de travail KubernetesPodOperator évoluent désormais indépendamment et il n'est pas possible d'utiliser des configurations d'affinité de pod.

  • Dans Cloud Composer 3, la base de données Airflow n'est pas directement accessible. Marque que vos DAG sont compatibles avec ce changement.

Suspendre les DAG dans votre environnement Cloud Composer 2

Pour éviter les exécutions de DAG en double, suspendez tous les DAG dans Cloud Composer 2 avant d'enregistrer son instantané. Ignorer le DAG de surveillance de l'activité (airflow_monitoring), il est utilisé à des fins de surveillance et n'est pas inclus dans les instantanés d'environnement.

Vous pouvez utiliser l'une des options suivantes pour suspendre les DAG:

  • Mettez en pause les DAG un par un dans la console Google Cloud:

    1. Dans la console Google Cloud, accédez à la page Environnements.

      Accéder à la page Environnements

    2. Sélectionnez un environnement pour afficher ses détails.

    3. Sur la page Détails de l'environnement, accédez à l'onglet DAG.

    4. Cliquez sur le nom d'un DAG.

    5. Sur la page Détails du DAG, cliquez sur Suspendre le DAG.

  • Dans l'interface Web Airflow, accédez à DAG. suspendre manuellement tous les DAG.

  • Utilisez le script composer_dags pour suspendre tous les DAG:

    python3 composer_dags.py --environment COMPOSER_2_ENV \
      --project PROJECT_ID \
      --location COMPOSER_2_LOCATION \
      --operation pause
    

    Remplacez :

    • COMPOSER_2_ENV par le nom de votre environnement Cloud Composer 2.
    • PROJECT_ID par l'ID du projet.
    • COMPOSER_2_LOCATION par la région dans laquelle se trouve l'environnement.

Enregistrer un instantané de votre environnement Cloud Composer 2

Console

Créez un instantané de votre environnement:

  1. Dans la console Google Cloud, accédez à la page Environnements.

    Accéder à la page Environnements

  2. Dans la liste des environnements, cliquez sur le nom de votre Cloud Composer 2. La page Détails de l'environnement s'ouvre.

  3. Cliquez sur Create snapshot (Créer un instantané).

  4. Dans la boîte de dialogue Créer un instantané, cliquez sur Envoyer. Dans dans ce guide, vous enregistrez l'instantané dans Cloud Composer bucket, mais vous pouvez sélectionner un autre emplacement si vous le souhaitez. Si vous spécifier un emplacement personnalisé, les comptes de service des deux environnements ; doit disposer d'autorisations de lecture et d'écriture pour l'emplacement spécifié.

  5. Attendez que Cloud Composer crée l'instantané.

  6. Une fois l'instantané créé, le message affiché indique l'emplacement de l'instantané. Enregistrer ces informations pour les utiliser ultérieurement lors du chargement de cette dans l'environnement Cloud Composer 3.

    Par exemple, l'emplacement de l'instantané peut ressembler à ceci: gs://us-central1-example-916807e1-bucket/snapshots/snapshots_example-project_us-central1_example-environment/2024-05-15T15-23-12

gcloud

  1. Créez un instantané de votre environnement Cloud Composer 2:

    gcloud composer environments snapshots save \
      COMPOSER_2_ENV \
      --location COMPOSER_2_LOCATION
    

    Remplacez :

    • COMPOSER_2_ENV par le nom de votre environnement Cloud Composer 2.
    • COMPOSER_2_LOCATION par la région où se trouve l'environnement Cloud Composer 2.
    • (Facultatif) Vous pouvez utiliser l'argument --snapshot-location pour spécifier une un emplacement personnalisé où l'instantané de l'environnement doit être stocké.

      Dans ce guide, vous enregistrez l'instantané dans bucket de l'environnement Cloud Composer 2, mais vous pouvez sélectionner un autre endroit, si vous le souhaitez. Si vous spécifiez un emplacement personnalisé, les comptes de service des deux environnements ; doit disposer d'autorisations de lecture et d'écriture pour l'emplacement spécifié.

  2. Une fois l'instantané créé, le message affiché indique l'emplacement de l'instantané. Enregistrer ces informations pour les utiliser ultérieurement lors du chargement de cette dans l'environnement Cloud Composer 3.

    Par exemple, l'emplacement de l'instantané peut ressembler à ceci: gs://us-central1-example-916807e1-bucket/snapshots/snapshots_example-project_us-central1_example-environment/2024-05-15T15-23-12

Créer un environnement Cloud Composer 3

Créez un environnement Cloud Composer 3 à l'aide des éléments suivants : consignes:

  • Vous pouvez commencer avec la même configuration de limites de ressources que Cloud Composer 2 et versions ultérieures font évoluer et optimiser la configuration plus loin.

  • Dans les environnements Cloud Composer 3, Le processeur DAG Airflow s'exécute d'environnement. Comme le processeur DAG décharge l'analyse des DAG depuis le planificateur, vous pouvez redistribuer les ressources alloués aux programmeurs Airflow. Vous pourrez le faire plus tard, après avoir migré vers Cloud Composer 3, et surveiller les performances du programmeur et du processeur DAG.

  • Cloud Composer 3 offre une mise en réseau simplifiée et simplifiée par rapport à Cloud Composer 2. Il est possible de basculer entre Configuration de mise en réseau avec adresses IP publiques et adresses IP privées, et association et dissociation de VPC réseaux sociaux. Vous n'avez pas besoin de spécifier des plages d'adresses IP . Assurez-vous que la mise en réseau de votre environnement Cloud Composer 3 correspond à la configuration Cloud Composer 2 correspondante.

  • Vous n'avez pas besoin de spécifier des remplacements de configuration et des variables d'environnement car vous les remplacerez plus tard, lorsque vous chargerez l'instantané Cloud Composer 2.

Charger l'instantané dans votre environnement Cloud Composer 3

Console

Pour charger l'instantané dans votre environnement Cloud Composer 3, procédez comme suit:

  1. Dans la console Google Cloud, accédez à la page Environnements.

    Accéder à la page Environnements

  2. Dans la liste des environnements, cliquez sur le nom de votre Cloud Composer 3. La page Détails de l'environnement s'ouvre.

  3. Cliquez sur Charger l'instantané.

  4. Dans la boîte de dialogue Charger l'instantané, cliquez sur Parcourir.

  5. Sélectionnez le dossier contenant l'instantané.

    Si vous utilisez l'emplacement par défaut de ce guide, ce dossier est situé dans votre bucket d'environnement Cloud Composer 2 dans le dossier /snapshots ; son nom est le code temporel de l'opération d'enregistrement de l'instantané. Identique emplacement était affiché dans le message indiquant que la création l'instantané.

    Exemple : us-central1-example-916807e1-bucket/snapshots_example-project_us-central1_example-environment/2024-05-15T15-23-12.

  6. Cliquez sur Charger et attendez que Cloud Composer charge l'instantané.

gcloud

Chargez l'instantané de votre environnement Cloud Composer 2 dans votre Environnement Cloud Composer 3:

gcloud composer environments snapshots load \
  COMPOSER_3_ENV \
  --location COMPOSER_3_LOCATION \
  --snapshot-path "SNAPSHOT_PATH"

Remplacez :

  • COMPOSER_3_ENV par le nom de votre environnement Cloud Composer 3 ;
  • COMPOSER_3_LOCATION par la région dans laquelle Cloud Composer 3 de l'environnement.
  • SNAPSHOT_PATH par l'URI de votre environnement Cloud Composer 2. bucket d'un environnement, suivi du chemin d'accès à l'instantané. Identique emplacement était affiché dans le message indiquant que la création l'instantané. Exemple : gs://us-central1-example-916807e1-bucket/snapshots/example-project_us-central1_example-environment_2024-05-15T15-23-12.

Réactivez les DAG dans l'environnement Cloud Composer 3

Vous pouvez utiliser l'une des options suivantes:

  • Réactivez les DAG un par un dans la console Google Cloud:

    1. Dans la console Google Cloud, accédez à la page Environnements.

      Accéder à la page Environnements

    2. Sélectionnez un environnement pour afficher ses détails.

    3. Sur la page Détails de l'environnement, accédez à l'onglet DAG.

    4. Cliquez sur le nom d'un DAG.

    5. Sur la page Détails du DAG, cliquez sur Réactiver le DAG.

  • Dans l'interface Web Airflow, procédez comme suit : Accédez aux DAG et réactivez tous les DAG manuellement un par un.

  • Utilisez le script composer_dags pour réactiver tous les DAG:

      python3 composer_dags.py --environment COMPOSER_3_ENV \
      --project PROJECT_ID \
      --location COMPOSER_3_LOCATION \
      --operation unpause
    

    Remplacez :

    • COMPOSER_3_ENV par le nom de votre environnement Cloud Composer 3 ;
    • PROJECT_ID par l'ID du projet.
    • COMPOSER_3_LOCATION par la région dans laquelle se trouve l'environnement.

Rechercher les erreurs de DAG

  1. Dans l'interface Web Airflow, accédez aux DAG et recherchez les erreurs de syntaxe des DAG signalés.

  2. Vérifiez que les exécutions du DAG sont planifiées au bon moment.

  3. Attendez que les exécutions du DAG aient lieu dans l'environnement Cloud Composer 3 et vérifier s’ils ont réussi. Si l'exécution du DAG a réussi, la réactiver dans l'environnement Cloud Composer 2, Dans ce cas, un DAG à la même date et à la même heure dans Cloud Composer 2 environnement.

  4. Si l'exécution d'un DAG spécifique échoue, essayez dépanner le DAG jusqu'à ce qu'il aboutisse s'exécute dans Cloud Composer 3.

Surveiller votre environnement Cloud Composer 3

Après avoir transféré l'ensemble des DAG et leur configuration vers Cloud Composer 3 de l'environnement, surveillez-le pour détecter d'éventuels problèmes, les échecs d'exécution du DAG l'état de l'environnement.

Si l'environnement Cloud Composer 3 s'exécute sans problème pendant une période suffisante, pensez à supprimer la bibliothèque Cloud Composer 2 environnement.

Étape suivante