Versionsverwaltung für Managed Service for Apache Airflow – Übersicht

Auf dieser Seite werden die Versionsverwaltung von Managed Service for Apache Airflow und die Unterschiede zwischen den Hauptversionen von Managed Airflow beschrieben.

Hauptversionen von Managed Airflow

Managed Airflow hat die folgenden Hauptversionen:

  • Managed Airflow (Gen 3). Diese Version vereinfacht die Netzwerkeinrichtung und blendet Infrastrukturkomponenten aus, darunter den Cluster der Umgebung und die Abhängigkeiten der Umgebung von anderen Diensten.

  • Managed Airflow (2. Generation). In dieser Version wird der Cluster der Umgebung automatisch skaliert, um den Ressourcenanforderungen gerecht zu werden.

  • Managed Airflow (Legacy Gen 1) Bei der manuellen Umgebungsskalierung wird die Infrastruktur in Ihren Projekten und Netzwerken bereitgestellt.

Vergleich der Managed Airflow-Versionen

In der folgenden Tabelle sind die wichtigsten Unterschiede zwischen Managed Airflow (Legacy Gen 1), Managed Airflow (Gen 2) und Managed Airflow (Gen 3) aufgeführt.

Funktion Managed Airflow (Legacy Gen 1) Managed Airflow (2. Generation) Managed Airflow (Gen 3)
Image-Version composer-1.b.c-airflow-x.y.z composer-2.b.c-airflow-x.y.z composer-3-airflow-x.y.z-build.t
Airflow-Versionen Airflow 1.10.* und Airflow 2 Airflow 2 Airflow 2, Airflow 3
Python-Versionen 3.8.12 3.11.8 (3.11.5 und 3.8.12 in früheren Versionen) 3.11.8
Cluster der Umgebung VPC-nativer oder routenbasierter Google Kubernetes Engine-Cluster im Standardmodus VPC-nativer Google Kubernetes Engine-Cluster im Autopilot-Modus Der Cluster der Umgebung wird nicht in Ihrem Projekt bereitgestellt.
Horizontale Skalierung Kann die Anzahl der Knoten im Cluster der Umgebung anpassen. Dadurch wird die Anzahl der Airflow-Worker geändert.
Kann die Anzahl der Airflow-Planer anpassen.
Automatische Skalierung der Anzahl der Airflow-Worker nach Bedarf. Kann Ober- und Untergrenzen für die Anzahl der Worker festlegen und ändern.
Kann die Anzahl der Airflow-Planer und -Trigger anpassen
Automatische Skalierung der Anzahl der Airflow-Worker nach Bedarf. Kann Ober- und Untergrenzen für die Anzahl der Worker festlegen und ändern.
Kann die Anzahl der Airflow-Planer, -Trigger und -DAG-Prozessoren anpassen
Vertikale Skalierung Kann Maschinentypen für Clusterknoten, den Airflow-Webserver und die Airflow-Datenbank beim Erstellen einer Umgebung festlegen. Kann Maschinentypen für den Airflow-Webserver und die Airflow-Datenbank ändern. Kann die Arbeitslastkonfiguration festlegen und ändern: CPU-, Arbeitsspeicher- und Speicherparameter für Airflow-Worker, -Planer, -Webserver und die Umgebungsgröße. Kann die Arbeitslastkonfiguration festlegen und ändern: CPU-, Arbeitsspeicher- und Speicherparameter für Airflow-Worker, -Planer, -Webserver, -DAG-Prozessoren und die Umgebungsgröße.
Preismodell Preismodell für Managed Airflow (Legacy Gen 1) Preismodell für Managed Airflow (Gen 2) Preismodell für Managed Airflow (Gen 3)
Zugriffssteuerung Rollen für Managed Airflow (Legacy Gen 1) Managed Airflow-Rollen. Verwendet die Workload Identity-Föderation für GKE und erfordert zusätzliche Berechtigungen für das Managed Airflow-Dienst-Agent-Konto. Managed Airflow-Rollen Verwendet die Identitätsföderation von Arbeitslasten für GKE. Es sind keine zusätzlichen Berechtigungen erforderlich.
Zugriff über die Mitarbeiteridentitätsföderation Nicht unterstützt Unterstützt Unterstützt
Hochresiliente Umgebungen Nicht unterstützt Unterstützt Unterstützt
Aufbewahrungsrichtlinie für Datenbanken Nicht unterstützt Noch nicht verfügbar Unterstützt
Privates IP-Netzwerk VPC-Peerings Private Service Connect Vereinfachte Netzwerkeinrichtung. Kann in einer vorhandenen Umgebung zwischen öffentlicher und privater IP geändert werden.
VPC Service Controls Unterstützt Unterstützt Unterstützt
Airflow-Executors Celery Executor Celery Executor CeleryKubernetes-Executor
Airflow-Trigger (zurückstellbare Operatoren) Nicht unterstützt Unterstützt Unterstützt
Benutzerdefiniertes Dienstkonto für KubernetesPodOperator Unterstützt Unterstützt Nicht unterstützt
CMEK Unterstützt Unterstützt Unterstützt
Webserverzugriffssteuerungen Unterstützt Unterstützt Unterstützt
Webserver neu starten Unterstützt Unterstützt Unterstützt
Webserver-Plug-ins Unterstützt in Airflow 1-Umgebungen mit deaktivierter DAG-Serialisierung. Unterstützt Unterstützt, Plug-ins können bei Bedarf deaktiviert und aktiviert werden.
Scheduler-Plug-ins Nicht unterstützt Unterstützt Nicht unterstützt
Listener Nicht unterstützt Unterstützt Nur Listener auf Aufgabenebene
TimeTables Nur integriert Benutzerdefiniert und integriert Nur integriert
Benutzerdefinierte PyPI-Pakete für den Scheduler Nicht unterstützt Unterstützt Nicht unterstützt
Benutzerdefinierte Plug-ins installieren Unterstützt Unterstützt Unterstützt
Wartungsvorgänge Alle Aufgaben können betroffen sein. Aufgaben, die weniger als 55 Minuten dauern, sind nicht betroffen. Aufgaben, die weniger als 24 Stunden dauern, sind davon nicht betroffen.
Snapshots speichern Unterstützt für Airflow 2.x- und 1.10.15-Versionen Unterstützt Unterstützt
Snapshots werden geladen Nicht unterstützt Unterstützt Unterstützt
Geplante Snapshots Nicht unterstützt Unterstützt Unterstützt
Bucket der benutzerdefinierten Umgebung Nicht unterstützt Unterstützt Unterstützt
Airflow-Aufgabenlogs nur in Cloud Logging speichern Nicht unterstützt Unterstützt Unterstützt
Einbindung der Datenherkunft Nicht unterstützt Unterstützt Unterstützt
Composer Local Development CLI-Tool Nicht unterstützt Unterstützt Unterstützt

Vergleich von Airflow-Versionen

Managed Airflow (Gen 3) bietet Umgebungen mit Airflow 2 und Airflow 3.

Unterstützung für Managed Airflow-Funktionen (Gen 3)

In der folgenden Tabelle sind die Funktionen von Managed Airflow (3. Generation) zusammengefasst, die in Airflow 3 noch nicht unterstützt werden.

Funktion Status Beschreibung
Upgrades auf Airflow 3 (Snapshots) Wird in Airflow 3 noch nicht unterstützt Parallele Migration vorhandener Managed Airflow-Umgebungen (Gen 3) von Airflow 2 zu Airflow 3 mithilfe von Snapshots.
Direkte Upgrades auf Airflow 3 Wird in Airflow 3 noch nicht unterstützt Direkte Upgrades vorhandener Managed Airflow-Umgebungen (Gen 3) von Airflow 2 auf Airflow 3 durch Angabe einer Version mit Airflow 3 während eines Upgrades.
Unterstützung der Workforce Identity-Föderation Wird in Airflow 3 noch nicht unterstützt Einen externen Identitätsanbieter in Umgebungen mit Airflow 3 verwenden

Bekannte Probleme in Airflow 3

Die folgenden bekannten Probleme wurden in Airflow 3 festgestellt:

  • Warnmeldungen in den Logs von Airflow-Arbeitslasten. Diese Meldungen können ignoriert werden.
  • Das airflowctl-Dienstprogramm kann nicht einfach in Headless-Umgebungen wie Airflow-Workern in Managed Airflow oder Docker-Containern verwendet werden. Dies ist eine Einschränkung des Dienstprogramms. Weitere Informationen zu dieser Einschränkung finden Sie im Airflow-Repository auf GitHub unter Problem 58230.

Unterstützung für Airflow 3-Funktionen

In der folgenden Tabelle sind die Airflow 3-Funktionen und die Unterstützung für diese Funktionen aufgeführt:

Funktion Status
Airflow 3.0-Benutzeroberfläche Unterstützt
DAG-Versionsverwaltung Unterstützt
Backfills (über die Airflow-UI) Unterstützt
Ereignisgesteuerte Planung Unterstützt
Assets Unterstützt
Inferenzausführung und Hyperparameter-Abstimmung Unterstützt
airflowctl-Befehlszeilentool Unterstützt
DAG-Bundles (außer LocalDagBundle) Wird in Airflow 3 noch nicht unterstützt
Edge Executor und Aufgaben in anderen Programmiersprachen Wird in Airflow 3 noch nicht unterstützt

Managed Service for Apache Airflow-Images

Zur Ausführung von Apache Airflow erstellt Managed Airflow Docker-Images, in denen Airflow-Versionen mit anderen gängigen Binärdateien und Python-Bibliotheken gebündelt werden.

Managed Airflow-Images enthalten Airflow-Änderungen, die spezifisch für Managed Airflow und für die vorgelagerte Airflow-Codebasis nicht geeignet sind. Jedes Managed Airflow-Image enthält vorinstallierte Pakete sowie Managed Airflow-spezifische Airflow-Änderungen.

Google veröffentlicht regelmäßig neue Managed Airflow-Images:

  • In Managed Airflow (Gen 3) enthalten Images neue Builds unterstützter Airflow-Versionen. Sie können eine Airflow-Version und einen Build auswählen, die Sie verwenden möchten. Ihre Umgebung erhält automatisch Verbesserungen für Managed Airflow.

  • In Managed Airflow (Gen 2) und Managed Airflow (Legacy Gen 1) enthalten Images Verbesserungen für Managed Airflow und neue Builds unterstützter Airflow-Versionen. Wenn Sie die Verbesserungen von Managed Airflow nutzen möchten, müssen Sie Ihre Umgebung auf eine neuere Version von Managed Airflow aktualisieren.

Unterstützte und verworfene Versionen

Composer 3

Google unterstützt einen Airflow-Build für einen bestimmten Zeitraum nach der Veröffentlichung:

  • 0 bis 12 Monate ab dem Releasedatum: Managed Airflow (Gen 3)-Umgebungen, in denen dieser Airflow-Build ausgeführt wird, werden unterstützt.

  • 12 Monate oder mehr ab dem Releasedatum: Managed Airflow-Umgebungen (3. Generation), in denen diese Versionen ausgeführt werden, werden nicht mehr unterstützt.

    Nachdem ein Airflow-Build nicht mehr unterstützt wird, werden Umgebungen, in denen dieser Airflow-Build ausgeführt wird, ebenfalls nicht mehr unterstützt und vollständig vom Nutzer verwaltet.

Umgebungen funktionieren mit unterstützten und nicht unterstützten Airflow-Builds auf folgende Weise:

  • Sie können Umgebungen mit allen unterstützten Airflow-Builds erstellen.

  • Sie können weiterhin eine Umgebung mit einem Airflow-Build verwenden, der nicht mehr unterstützt wird. Die Umgebung funktioniert weiterhin, Sie können sie weiter verwenden und auf einen unterstützten Airflow-Build aktualisieren.

  • In einigen Fällen ist ein Upgrade auf eine neuere Airflow-Version oder einen neueren Build die einzige verfügbare Lösung für eine Sicherheitslücke.

Composer 2

Google unterstützt Managed Airflow-Versionen (Gen 2) für einen bestimmten Zeitraum nach der Veröffentlichung der Version:

  • 0 bis 12 Monate ab dem Releasedatum: Managed Airflow (Gen 2)-Umgebungen, in denen diese Versionen ausgeführt werden, werden unterstützt.

  • 12 Monate oder mehr ab dem Releasedatum: Managed Airflow (Gen 2)-Umgebungen, in denen diese Versionen ausgeführt werden, werden nicht mehr unterstützt.

Sie können verwaltete Airflow-Versionen nach dem Datum verwenden, nach dem sie nicht mehr unterstützt werden. Wenn Ihre Umgebung beispielsweise auf einer Managed Airflow-Version basiert, deren Supportzeitraum abgelaufen ist, funktioniert die Umgebung weiterhin und Sie können sie weiterhin verwenden. In diesem Fall empfehlen wir ein Upgrade Ihrer Umgebung auf eine unterstützte Version.

Composer 1

Bis Ende März 2023 wurden neue Versionen von Managed Airflow (Legacy Gen 1) veröffentlicht. Für alle veröffentlichten Managed Airflow-Versionen (Legacy Gen 1) gilt dieselbe Richtlinie zur Einstellung von Produkten und Diensten wie für Managed Airflow (Gen 2). Sie werden entsprechend unterstützt.

Schemas versionieren

In diesem Abschnitt werden Airflow- und Managed Airflow-Versionsschemata und Versionsaliase beschrieben.

Schema der Airflow-Version

Airflow folgt dem semantischen Schema zur Verwaltung von Softwareversionen. Jede Airflow-Version hat eine Hauptversion, eine Nebenversion und eine Patchversion.

Composer 3

In Managed Airflow (Gen 3) werden im Laufe der Zeit neue Airflow-Versionen und -Builds verfügbar.

Ihre Umgebung kann mit allen vorherigen Airflow-Versionen und -Builds funktionieren und erhält automatisch Updates für die Infrastrukturkomponenten. Jede Version und jeder Build wird wie unter Versionsverwerfung und ‑support beschrieben unterstützt. Sie können Ihre Airflow-Version auf eine neuere Version oder einen neueren Build aktualisieren.

Composer 2

Eine Liste der Airflow-Versionen, die in jeder Managed Airflow-Version unterstützt werden, finden Sie in der Liste der Managed Airflow-Versionen.

  • In jedem Release unterstützt Managed Airflow (Gen 2) zwei Nebenversionen von Airflow 2.

    Managed Airflow 2.4.0 unterstützt beispielsweise Airflow 2.4.* und Airflow 2.5.*.

  • Für jede Nebenversion von Airflow 2 unterstützt Managed Airflow eine Patchversion.

    Beispiel: Für Airflow 2.4.* Managed Airflow unterstützt Airflow 2.4.3.

  • Wenn eine neue Patchversion von Airflow 2 in Managed Airflow verfügbar ist, sind für den entsprechenden Release zwei Patchversionen von Airflow 2 für dieselbe Nebenversion von Airflow verfügbar. Die vorherige Patchversion wird dann in einer der nächsten Releases entfernt.

    Managed Airflow 2.3.4 unterstützt beispielsweise sowohl Airflow 2.5.1 als auch Airflow 2.5.3.

  • Managed Airflow kann zwischen den Releases von Managed Airflow einige Airflow-Patchversionen überspringen. Wenn es bei einer bestimmten Patchversion von Airflow Funktions-, Qualitäts- oder Leistungsprobleme gibt, kann Managed Airflow diese Version auch überspringen.

    Airflow 2.1.3 wird beispielsweise übersprungen und Airflow 2.1.4 ist verfügbar.

  • Eine Managed Airflow-Version mit einer stabilen Airflow-Version kann Airflow-Updates enthalten, die von einer späteren Airflow-Version zurückportiert werden.

Composer 1

Die neueste in Managed Airflow (Legacy Gen 1) unterstützte Version von Airflow ist Airflow 2.4.3.

Nur Managed Airflow (Legacy Gen 1) unterstützt Airflow 1.10.15, die neueste veröffentlichte Version von Airflow 1.

Managed Airflow-Versionsschema

Composer 3

Das Versionsschema für Managed Airflow (Gen 3) erfasst Airflow-Versionen und -Builds:

composer-3-airflow-x.y.z-build.t

Wobei:

  • composer-3 ist die Hauptversion von Managed Airflow.

  • airflow-x.y.z.build.t ist die Airflow-Version und der Build. Jede nächste Version derselben Airflow-Version in Managed Airflow (3. Generation) hat eine höhere Build-Nummer. Die Build-Nummer wird von Managed Airflow und nicht vom Airflow-Open-Source-Projekt definiert.

Composer 2

Das Image-Versionsverwaltungsschema von Managed Airflow (Gen 2) erfasst Managed Airflow- und Airflow-Versionen:

composer-2.b.c-airflow-x.y.z

Wobei:

  • composer-2.b.c steht für die Neben- und Patchversion der von Managed Airflow verwalteten Anpassungen in Managed Airflow (Gen 2). In der Regel entsprechen Nebenversionen von Managed Airflow erheblichen Änderungen der Funktionalität im Vergleich zur vorherigen Nebenversion, z. B. wenn sich die verfügbaren Airflow-Versionen ändern. Patchversionen werden in nachfolgenden Releases aktualisiert.

  • airflow-x.y.z ist die Airflow-Version. Sie gibt die Haupt-, Neben- und Patchversion von Airflow an, die in einem bestimmten Managed Airflow-Image verwendet wird.

Composer 1

Das Image-Versionsverwaltung-Schema von Managed Airflow (Legacy Gen 1) erfasst Managed Airflow- und Airflow-Versionen:

composer-1.b.c-airflow-x.y.z

Wobei:

  • composer-1.b.c ist die Version der von Managed Airflow verwalteten Anpassungen.
  • airflow-x.y.z ist die Airflow-Release.

Versionsaliasse

Versionsaliasse funktionieren so:

  • Managed Airflow löst den Versionsalias beim Erstellen der Umgebung in das vollständige Format auf:

    • Alle Versionsaliase werden in Managed Airflow (Gen 3) zu composer-3-airflow-x.y.z-build.t.
    • Alle Versionsaliase werden in Managed Airflow (Gen 2) und Managed Airflow (Legacy Gen 1) zu composer-a.b.c-airflow-x.y.z.
  • In Managed Airflow (Gen 3) wird die Airflow-Version und der Build Ihrer Umgebung nicht automatisch aktualisiert, wenn Sie einen Versionsalias wie composer-3-airflow-x.y verwenden. Die Umgebung bleibt bei demselben Airflow-Build und derselben Airflow-Version, bis Sie ein Upgrade durchführen. Die Umgebung erhält weiterhin automatische Infrastruktur-Upgrades.

  • In Managed Airflow (Gen 2) und Managed Airflow (Legacy Gen 1) werden keine automatischen Upgrades für eine Umgebung bereitgestellt, wenn ein Versionsalias wie composer-a-airflow-x.y.z verwendet wird. Die Umgebung bleibt in derselben Managed Airflow- und Airflow-Version, bis Sie ein Upgrade durchführen.

Versionsaliasse für Managed Airflow (Gen 3)

Managed Airflow (Gen 3) unterstützt die folgenden Versionsaliasse:

Alias Airflow-Version
composer-3-airflow-2 Aktuelle Version und Build von Airflow 2
composer-3-airflow-x.y Neueste Version und Build von Airflow innerhalb der Haupt- und Nebenversionen x.y
composer-3-airflow-x.y.z Letzter Build der angegebenen Airflow-Version

Versionsaliasse für Managed Airflow (2. Generation)

Managed Airflow (Gen 2) unterstützt die folgenden Versionsaliasse:

Alias Managed Airflow-Version Airflow-Version
composer-2-airflow-2 Aktuelle Version von Managed Airflow (Gen 2) Neueste Version von Airflow 2
composer-2-airflow-x.y Aktuelle Version von Managed Airflow (Gen 2) Neueste Version von Airflow innerhalb der Haupt- und Nebenversionen x.y
composer-2-airflow-x.y.z Aktuelle Version von Managed Airflow (Gen 2) Angegebene Airflow-Version
composer-2.b.c-airflow-x.y Angegebene Version von Managed Airflow (Gen 2) Neueste Airflow-Version, die in den Haupt- und Nebenversionen von x.y verfügbar ist

Versionsaliasse für Managed Airflow (Legacy Gen 1)

Managed Airflow (Legacy Gen 1) unterstützt die folgenden Versionsaliase:

Alias Managed Airflow-Version Airflow-Version
composer-1-airflow-2 Aktuelle Version von Managed Airflow (Legacy Gen 1) Neueste Version von Airflow 2
composer-1-airflow-1 Aktuelle Version von Managed Airflow (Legacy Gen 1) Aktuelle Version von Airflow 1
composer-1-airflow-x.y Aktuelle Version von Managed Airflow (Legacy Gen 1) Neueste Version von Airflow innerhalb der Haupt- und Nebenversionen x.y
composer-1-airflow-x.y.z Aktuelle Version von Managed Airflow (Legacy Gen 1) Angegebene Airflow-Version
composer-1.b.c-airflow-x.y Angegebene Version von Managed Airflow (Legacy Gen 1) Die neueste Version von Airflow, die in den Haupt- und Nebenversionen von x.y verfügbar ist.

Die folgenden Versionsaliasse verweisen auf Managed Airflow (Gen 3). Sie können sie weiterhin verwenden, sollten aber für Ihre Version von Managed Airflow auf Aliase umstellen.

  • composer-latest-airflow-x.y ist gleich composer-3-airflow-x.y.
  • composer-latest-airflow-x.y.z ist gleich composer-3-airflow-x.y.z.

Versionsargumente in der Google Cloud CLI

Wenn Sie eine verwaltete Airflow-Umgebung mit der Google Cloud CLI erstellen oder aktualisieren, können Sie die Versionen von Managed Airflow und Airflow angeben:

Composer 3

  • Das Argument --image-version gibt die Airflow-Version und den Build im Format composer-3-airflow-x.y.z-build.t an. Sie können Versionsaliasse verwenden, die von der Google Cloud CLI in das vollständige Format aufgelöst werden.

  • --airflow-version gibt die Airflow-Version in den folgenden Formaten an:

    • Das Format x.y.z ist für den neuesten Build der angegebenen Airflow-Version. Dieses Format entspricht dem Versionsalias composer-3-airflow-x.y.z.

    • Das Format x.y bezieht sich auf den neuesten Build von Airflow, der innerhalb der Haupt- und Nebenversionen x.y verfügbar ist. Dieses Format entspricht dem Versionsalias composer-3-airflow-x.y.

    • x.y.z-build.t ist die angegebene Version und der Build von Airflow. Dieses Format entspricht composer-3-airflow-x.y.z-build.t.

Composer 2

  • Mit dem Argument --image-version werden Managed Airflow (Gen 2) und Airflow-Versionen angegeben:

    • Im Format composer-a.b.c-airflow-x.y.z wird eine Umgebung mit den angegebenen Versionen von Managed Airflow und Airflow erstellt.
    • Versionsaliase werden zuerst in das Format composer-a.b.c-airflow-x.y.z aufgelöst und dann wird eine Umgebung mit den angegebenen Versionen von Managed Airflow (Gen 2) und Airflow erstellt.
  • --airflow-version gibt die Airflow-Version in den folgenden Formaten an:

    • Das Format x.y.z ist für die neueste Version von Managed Airflow (Gen 2) und die angegebene Version von Airflow. Dieses Format entspricht dem composer-2-airflow-x.y.z-Versionsalias.

    • Das Format x.y gilt für die neueste Version von Managed Airflow (Gen 2) und die neueste Version von Airflow, die in den Haupt- und Nebenversionen x.y verfügbar ist. Dieses Format entspricht dem Versionsalias composer-2-airflow-x.y.

Composer 1

  • Mit dem Argument --image-version werden Managed Airflow (Legacy Gen 1) und Airflow-Versionen angegeben:

    • Im Format composer-a.b.c-airflow-x.y.z wird eine Umgebung mit den angegebenen Versionen von Managed Airflow und Airflow erstellt.
    • Versionsaliase werden zuerst in das Format composer-a.b.c-airflow-x.y.z aufgelöst und dann wird eine Umgebung mit den angegebenen Versionen von Managed Airflow (Legacy Gen 1) und Airflow erstellt.
  • --airflow-version gibt die Airflow-Version in den folgenden Formaten an:

    • Das Format x.y.z ist für die neueste Version von Managed Airflow (Legacy Gen 1) und die angegebene Version von Airflow. Dieses Format entspricht dem composer-1-airflow-x.y.z-Versionsalias.

    • Das Format x.y gilt für die neueste Version von Managed Airflow (Legacy Gen 1) und die neueste Version von Airflow, die in den Haupt- und Nebenversionen von x.y verfügbar ist. Dieses Format entspricht dem Versionsalias composer-1-airflow-x.y.

Nächste Schritte