Umgebungen zu Managed Airflow (Gen. 3) migrieren

Managed Airflow (Gen 3) | Managed Airflow (Gen 2) | Managed Airflow (Legacy Gen 1)

Auf dieser Seite wird erläutert, wie Sie DAGs, Daten und Konfigurationen aus Ihrer vorhandenen Managed Airflow (Gen 2)-Umgebung zu Managed Airflow (Gen 3) übertragen.

Weitere Migrationsleitfäden

Von An Methode Leitfaden
Managed Airflow (Gen 3), Airflow 2 Managed Airflow (Gen 3), Airflow 3 Parallele, manuelle Übertragung Anleitung zur manuellen Migration
Managed Airflow (Gen 2) Managed Airflow (Gen 3) Parallele Migration mit dem Migrationsskript Anleitung zur Migration mit Skript
Managed Airflow (Gen 2) Managed Airflow (Gen 3) Parallele Migration mit Snapshots Dieser Leitfaden
Managed Airflow (Legacy Gen 1), Airflow 2 Managed Airflow (Gen 3) Parallele Migration mit Snapshots Anleitung zur Migration mit Snapshots
Managed Airflow (Legacy Gen 1), Airflow 2 Managed Airflow (Gen 2) Parallele Migration mit Snapshots Anleitung zur Migration mit Snapshots
Managed Airflow (Legacy Gen 1), Airflow 2 Managed Airflow (Gen 2) Parallele, manuelle Übertragung Anleitung zur manuellen Migration
Managed Airflow (Legacy Gen 1), Airflow 1 Managed Airflow (Gen 2), Airflow 2 Parallele Migration mit Snapshots Anleitung zur Migration mit Snapshots
Managed Airflow (Legacy Gen 1), Airflow 1 Managed Airflow (Gen 2), Airflow 2 Parallele, manuelle Übertragung Anleitung zur manuellen Migration
Managed Airflow (Legacy Gen 1), Airflow 1 Managed Airflow (Legacy Gen 1), Airflow 2 Parallele, manuelle Übertragung Anleitung zur manuellen Migration

Hinweis

Prüfen, ob Ihre DAGs mit Managed Airflow (Gen 3) kompatibel sind

Prüfen Sie, ob Ihre DAGs mit Managed Airflow (Gen 3) kompatibel sind, indem Sie die folgenden Vorschläge beachten:

  • Die Liste der Pakete in der Managed Airflow (Gen 3)-Umgebung kann sich von der in Ihrer Managed Airflow (Gen 2)-Umgebung unterscheiden. Dies kann sich auf die Kompatibilität Ihrer DAGs mit Managed Airflow (Gen 3) auswirken.

  • Managed Airflow lädt Konfigurationsüberschreibungen, Umgebung variablen und PyPI-Pakete aus dem Snapshot Ihrer Managed Airflow (Gen 2)-Umgebung in Managed Airflow (Gen 3), ohne sie zu ändern oder an die Kompatibilität anzupassen. Um Konflikte zwischen diesen Konfigurationsparametern zu beheben, können Sie das Laden benutzerdefinierter PyPI-Pakete, Umgebungsvariablen und Airflow-Konfigurationsüberschreibungen überspringen, wenn Sie den Snapshot laden.

  • In Managed Airflow (Gen 3) befindet sich der Cluster der Umgebung im Mandantenprojekt. Achten Sie darauf, dass Ihre DAGs mit dieser Änderung kompatibel sind. Insbesondere werden KubernetesPodOperator Arbeitslasten jetzt unabhängig von Ihrer Umgebung skaliert und es ist nicht möglich, Pod-Affinitätskonfigurationen zu verwenden.

DAGs in Ihrer Managed Airflow (Gen 2)-Umgebung pausieren

Um doppelte DAG-Ausführungen zu vermeiden, pausieren Sie alle DAGs in Ihrer Managed Airflow (Gen 2)-Umgebung, bevor Sie den Snapshot speichern. Überspringen Sie den DAG für die Liveness-Überwachung (airflow_monitoring). Er wird für Überwachungszwecke verwendet und ist nicht in Umgebungs-Snapshots enthalten.

Sie haben folgende Möglichkeiten, DAGs zu pausieren:

  • DAGs einzeln in der Google Cloud Console pausieren:

    1. Rufen Sie in der Google Cloud Console die Seite Umgebungen auf.

      Zur Seite Umgebungen

    2. Wählen Sie eine Umgebung aus, um die zugehörigen Details anzuzeigen.

    3. Wechseln Sie auf der Seite Umgebungsdetails zum Tab DAGs.

    4. Klicken Sie auf den Namen eines DAG.

    5. Klicken Sie auf der Seite DAG-Details auf DAG pausieren.

  • Wechseln Sie in der Airflow-Weboberfläche zu DAGs und pausieren Sie alle DAGs manuell.

  • Verwenden Sie das Skript composer_dags, um alle DAGs zu pausieren:

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

    Ersetzen Sie:

    • COMPOSER_2_ENV durch den Namen Ihrer Managed Airflow (Gen 2)-Umgebung.
    • PROJECT_ID durch die Projekt-ID.
    • COMPOSER_2_LOCATION durch die Region, in der sich die Umgebung befindet.

Snapshot Ihrer Managed Airflow (Gen 2)-Umgebung speichern

Console

So erstellen Sie einen Snapshot Ihrer Umgebung:

  1. Rufen Sie in der Google Cloud Console die Seite Umgebungen auf.

    Zur Seite Umgebungen

  2. Klicken Sie in der Liste der Umgebungen auf den Namen Ihrer Managed Airflow (Gen 2)-Umgebung. Die Seite Umgebungsdetails wird geöffnet.

  3. Klicken Sie auf Snapshot erstellen.

  4. Klicken Sie im Dialogfeld Snapshot erstellen auf Senden. In dieser Anleitung speichern Sie den Snapshot im Bucket der Managed Airflow (Gen 2)-Umgebung. Sie können aber auch einen anderen Speicherort auswählen. Wenn Sie einen benutzerdefinierten Speicherort angeben, müssen die Dienstkonten beider Umgebungen Lese- und Schreibberechtigungen für den angegebenen Speicherort haben.

  5. Warten Sie, bis Managed Airflow den Snapshot erstellt hat.

  6. Nachdem der Snapshot erstellt wurde, wird in der angezeigten Meldung der Speicherort des Snapshots ausgegeben. Speichern Sie diese Informationen, um sie später zu verwenden, wenn Sie diesen Snapshot in die Managed Airflow (Gen 3)-Umgebung laden.

    Der Speicherort des Snapshots kann beispielsweise so aussehen: gs://us-central1-example-916807e1-bucket/snapshots/snapshots_example-project_us-central1_example-environment/2024-05-15T15-23-12.

gcloud

  1. So erstellen Sie einen Snapshot Ihrer Managed Airflow (Gen 2)-Umgebung:

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

    Ersetzen Sie:

    • COMPOSER_2_ENV durch den Namen Ihrer Managed Airflow (Gen 2)-Umgebung.
    • COMPOSER_2_LOCATION durch die Region, in der sich die Managed Airflow (Gen 2)-Umgebung befindet.
    • (Optional) Mit dem Argument --snapshot-location können Sie einen benutzerdefinierten Speicherort angeben, an dem der Snapshot der Umgebung gespeichert werden soll.

      In dieser Anleitung speichern Sie den Snapshot im Bucket der Managed Airflow (Gen 2)-Umgebung. Sie können aber auch einen anderen Speicherort auswählen. Wenn Sie einen benutzerdefinierten Speicherort angeben, müssen die Dienstkonten beider Umgebungen Lese- und Schreibberechtigungen für den angegebenen Speicherort haben.

  2. Nachdem der Snapshot erstellt wurde, wird in der angezeigten Meldung der Speicherort des Snapshots ausgegeben. Speichern Sie diese Informationen, um sie später zu verwenden, wenn Sie diesen Snapshot in die Managed Airflow (Gen 3)-Umgebung laden.

    Der Speicherort des Snapshots kann beispielsweise so aussehen: gs://us-central1-example-916807e1-bucket/snapshots/snapshots_example-project_us-central1_example-environment/2024-05-15T15-23-12.

Managed Airflow (Gen 3)-Umgebung erstellen

Erstellen Sie eine Managed Airflow (Gen 3)-Umgebung gemäß den folgenden Richtlinien:

  • Sie können mit derselben Konfiguration für Ressourcenlimits wie für Ihre Managed Airflow (Gen 2)-Umgebung beginnen und die Konfiguration später skalieren und weiter optimieren.

  • In Managed Airflow (Gen 3)-Umgebungen wird der Airflow-DAG-Prozessor als separate Umgebungskomponente ausgeführt. Da der DAG-Prozessor die Analyse von DAGs vom Planer auslagert, sollten Sie Ressourcen neu verteilen, die zuvor Airflow-Planern zugewiesen wurden. Sie können dies später tun, nachdem Sie zu Managed Airflow (Gen 3) migriert sind und die Leistung des Planers und des DAG-Prozessors überwacht haben.

  • Managed Airflow (Gen 3) bietet im Vergleich zu Managed Airflow (Gen 2) eine optimiertere und einfachere Netzwerkeinrichtung. Es ist möglich, zwischen der Netzwerkkonfiguration mit öffentlicher IP-Adresse und privater IP-Adresse zu wechseln und VPC-Netzwerke anzuhängen und zu trennen. Sie müssen keine IP-Bereiche angeben . Achten Sie darauf, dass die Netzwerkkonfiguration Ihrer Managed Airflow (Gen 3)-Umgebung mit der entsprechenden Managed Airflow (Gen 2)-Konfiguration übereinstimmt.

  • Sie müssen keine Konfigurationsüberschreibungen und Umgebungsvariablen angeben, da Sie sie später ersetzen, wenn Sie den Snapshot Ihrer Managed Airflow (Gen 2)-Umgebung laden.

Snapshot in Ihre Managed Airflow (Gen 3)-Umgebung laden

Console

So laden Sie den Snapshot in Ihre Managed Airflow (Gen 3)-Umgebung:

  1. Rufen Sie in der Google Cloud Console die Seite Umgebungen auf.

    Zur Seite Umgebungen

  2. Klicken Sie in der Liste der Umgebungen auf den Namen Ihrer Managed Airflow (Gen 3)-Umgebung. Die Seite Umgebungsdetails wird geöffnet.

  3. Klicken Sie auf Snapshot laden.

  4. Klicken Sie im Dialogfeld Snapshot laden auf Durchsuchen.

  5. Wählen Sie den Ordner mit dem Snapshot aus.

    Wenn Sie für diese Anleitung den standardmäßigen Standort verwenden, befindet sich dieser Ordner im Bucket Ihrer Managed Airflow (Gen 2)-Umgebung im Ordner /snapshots. Der Name ist der Zeitstempel des Speichervorgangs für den Snapshot. Derselbe Speicherort wurde in der Meldung über die erfolgreiche Erstellung des Snapshots angezeigt.

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

  6. Klicken Sie auf Laden und warten Sie, bis Managed Airflow den Snapshot geladen hat.

gcloud

Laden Sie den Snapshot Ihrer Managed Airflow (Gen 2)-Umgebung in Ihre Managed Airflow (Gen 3)-Umgebung:

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

Ersetzen Sie:

  • COMPOSER_3_ENV durch den Namen Ihrer Managed Airflow (Gen 3)-Umgebung.
  • COMPOSER_3_LOCATION durch die Region, in der sich die Managed Airflow (Gen 3)-Umgebung befindet.
  • SNAPSHOT_PATH durch den URI des Buckets Ihrer Managed Airflow (Gen 2)-Umgebung, gefolgt vom Pfad zum Snapshot. Derselbe Speicherort wurde in der Meldung über die erfolgreiche Erstellung des Snapshots angezeigt. Beispiel: gs://us-central1-example-916807e1-bucket/snapshots/example-project_us-central1_example-environment_2024-05-15T15-23-12.

Pausierung von DAGs in der Managed Airflow (Gen 3)-Umgebung aufheben

Sie haben folgende Möglichkeiten:

  • Pausierung von DAGs einzeln in der Google Cloud Console aufheben:

    1. Rufen Sie in der Google Cloud Console die Seite Umgebungen auf.

      Zur Seite Umgebungen

    2. Wählen Sie eine Umgebung aus, um die zugehörigen Details anzuzeigen.

    3. Wechseln Sie auf der Seite Umgebungsdetails zum Tab DAGs.

    4. Klicken Sie auf den Namen eines DAG.

    5. Klicken Sie auf der Seite DAG-Details auf Pausierung des DAG aufheben.

  • Wechseln Sie in der Airflow-Weboberfläche, zu DAGs und heben Sie die Pausierung aller DAGs manuell einzeln auf.

  • Verwenden Sie das composer_dags-Skript, um die Pausierung aller DAGs aufzuheben:

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

    Ersetzen Sie:

    • COMPOSER_3_ENV durch den Namen Ihrer Managed Airflow (Gen 3)-Umgebung.
    • PROJECT_ID durch die Projekt-ID.
    • COMPOSER_3_LOCATION durch die Region, in der sich die Umgebung befindet.

Auf DAG-Fehler prüfen

  1. Wechseln Sie in der Airflow-Weboberfläche, zu DAGs und suchen Sie nach gemeldeten DAG-Syntaxfehlern.

  2. Prüfen Sie, ob DAG-Ausführungen zum richtigen Zeitpunkt geplant sind.

  3. Warten Sie, bis die DAG-Ausführungen in der Managed Airflow (Gen 3)-Umgebung erfolgt sind, und prüfen Sie, ob sie erfolgreich waren. Wenn eine DAG-Ausführung erfolgreich war, heben Sie die Pausierung in der Managed Airflow (Gen 2)-Umgebung nicht auf. Andernfalls wird in der Managed Airflow (Gen 2)-Umgebung ein DAG zur selben Zeit und am selben Datum ausgeführt.

  4. Wenn eine bestimmte DAG-Ausführung fehlschlägt, versuchen Sie, eine Fehlerbehebung für den DAG durchzuführen, bis er erfolgreich in Managed Airflow (Gen 3) ausgeführt wird.

Managed Airflow (Gen 3)-Umgebung überwachen

Nachdem Sie alle DAGs und Konfigurationen in die Managed Airflow (Gen 3)-Umgebung übertragen haben, überwachen Sie diese auf potenzielle Probleme, fehlgeschlagene DAG-Ausführungen und den allgemeinen Umgebungsstatus.

Wenn die Managed Airflow (Gen 3)-Umgebung für einen ausreichend langen Zeitraum problemlos ausgeführt wird, sollten Sie die Managed Airflow (Gen 2)-Umgebung vielleicht löschen.

Nächste Schritte