Managed Airflow-Umgebungen aktualisieren

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

Auf dieser Seite wird beschrieben, wie eine Umgebung aktualisiert werden kann.

Aktualisierungsvorgänge

Wenn Sie Parameter Ihrer Umgebung ändern, z. B. neue Skalierungs- und Leistungsparameter angeben oder benutzerdefinierte PyPI-Pakete installieren, wird Ihre Umgebung aktualisiert.

Nach Abschluss dieses Vorgangs sind die Änderungen in Ihrer Umgebung verfügbar.

Für eine einzelne Managed Airflow-Umgebung kann jeweils nur ein Aktualisierungsvorgang gestartet werden. Sie müssen warten, bis ein Aktualisierungsvorgang abgeschlossen ist, bevor Sie einen weiteren Umgebungsvorgang starten.

Auswirkungen von Aktualisierungen auf laufende Airflow-Aufgaben

Wenn Sie einen Aktualisierungsvorgang ausführen, müssen die Airflow-Planer und ‑Worker in Ihrer Umgebung möglicherweise neu gestartet werden. In diesem Fall werden alle derzeit ausgeführten Aufgaben beendet. Nach Abschluss des Aktualisierungsvorgangs plant Airflow diese Aufgaben für einen Wiederholungsversuch ein, je nachdem, wie Sie Wiederholungsversuche für Ihre DAGs konfigurieren.

Die folgenden Änderungen führen zum Beenden von Airflow-Aufgaben:

  • Upgrade Ihrer Umgebung auf eine neue Version.
  • Benutzerdefinierte PyPI-Pakete hinzufügen, ändern oder löschen.
  • Managed Airflow-Umgebungsvariablen ändern.
  • Überschreibungen von Airflow-Konfigurationsoptionen hinzufügen oder entfernen oder ihre Werte ändern.
  • CPU, Arbeitsspeicher oder Speicher von Airflow-Workern ändern.
  • Die maximale Anzahl von Airflow-Workern reduzieren, wenn der neue Wert niedriger als die Anzahl der derzeit ausgeführten Worker ist. Beispiel: In einer Umgebung werden derzeit drei Worker ausgeführt und die maximale Anzahl wird auf zwei reduziert.

Die folgenden Änderungen führen nicht zum Beenden von Airflow-Aufgaben:

  • DAG erstellen, aktualisieren oder löschen (kein Aktualisierungsvorgang).
  • DAGs pausieren oder die Pausierung aufheben (kein Aktualisierungsvorgang).
  • Airflow-Variablen ändern (kein Aktualisierungsvorgang).
  • Airflow-Verbindungen ändern (kein Aktualisierungsvorgang).
  • Einbindung in Knowledge Catalog-Datenherkunft aktivieren oder deaktivieren.
  • Umgebungsgröße ändern.
  • Anzahl der Planer ändern.
  • CPU, Arbeitsspeicher oder Speicher von Airflow-Planern ändern.
  • Anzahl der Trigger ändern.
  • CPU, Arbeitsspeicher oder Speicher von Airflow-Triggern ändern.
  • CPU, Arbeitsspeicher oder Speicher von Airflow-Webservern ändern.
  • Die Mindestanzahl von Workern erhöhen oder verringern.
  • Die maximale Anzahl von Airflow-Workern reduzieren. Beispiel: In einer Umgebung werden derzeit zwei Worker ausgeführt und die maximale Anzahl wird auf drei reduziert.
  • Wartungsfenster ändern.
  • Einstellungen für geplante Snapshots ändern.
  • Umgebungslabels ändern.

Mit Terraform aktualisieren

Führen Sie vor terraform apply den Befehl terraform plan aus, um zu prüfen, ob Terraform eine neue Umgebung erstellt, anstatt die vorhandene zu aktualisieren.

Hinweis

Umgebungen aktualisieren

Weitere Informationen zum Aktualisieren Ihrer Umgebung finden Sie auf anderen Dokumentationsseiten zu bestimmten Aktualisierungsvorgängen. Beispiel:

Umgebungsdetails ansehen

Console

  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 Umgebung. Die Seite Umgebungsdetails wird geöffnet.

gcloud

Führen Sie folgenden Befehl gcloud aus:

gcloud composer environments describe ENVIRONMENT_NAME \
  --location LOCATION

Ersetzen Sie:

  • ENVIRONMENT_NAME durch den Namen der Umgebung.
  • LOCATION durch die Region, in der sich die Umgebung befindet.

API

Erstellen Sie eine environments.get-API-Anfrage.

Beispiel:

GET https://composer.googleapis.com/v1/projects/example-project/
locations/us-central1/environments/example-environment

Terraform

Führen Sie den Befehl terraform state show für die Ressource Ihrer Umgebung aus.

Der Name der Terraform-Ressource Ihrer Umgebung kann sich vom Namen Ihrer Umgebung unterscheiden.

terraform state show google_composer_environment.RESOURCE_NAME

Ersetzen Sie:

  • RESOURCE_NAME durch den Namen der Ressource Ihrer Umgebung.

Änderungen durch Aktualisierung rückgängig machen

In seltenen Fällen kann ein Aktualisierungsvorgang unterbrochen werden (z. B. aufgrund eines Zeitlimits) und die angeforderten Änderungen werden möglicherweise nicht in allen Umgebungskomponenten (z. B. im Airflow-Webserver) rückgängig gemacht.

Bei einem Aktualisierungsvorgang werden beispielsweise zusätzliche PyPI-Module installiert oder entfernt, eine neue Airflow- oder Managed Airflow-Umgebungsvariable neu definiert oder definiert oder einige Airflow-bezogene Parameter geändert.

Eine solche Situation kann auftreten, wenn ein Aktualisierungsvorgang ausgelöst wird, während andere Vorgänge ausgeführt werden, z. B. die automatische Skalierung des Managed Airflow-Clusters oder ein Wartungsvorgang.

In diesem Fall empfiehlt es sich, den Vorgang zu wiederholen.

Dauer von Aktualisierungs- oder Upgradevorgängen

Die Dauer von Aktualisierungs- und Upgradevorgängen wird von den folgenden Faktoren beeinflusst:

  • Bei den meisten Aktualisierungs- oder Upgradevorgängen müssen Airflow-Komponenten wie Airflow-Planer, ‑Worker und ‑Webserver neu gestartet werden. Nach dem Neustart einer Komponente muss sie initialisiert werden. Während der Initialisierung laden Airflow-Planer und ‑Worker die Inhalte der Ordner /dags und /plugins aus dem Bucket der Umgebung herunter. Der Vorgang zum Synchronisieren von Dateien mit Airflow-Planern und ‑Workern erfolgt nicht sofort und hängt von der Gesamtgröße und Anzahl aller Objekte in diesen Ordnern ab.

    Wir empfehlen, nur DAG- und Plug-in-Dateien in den Ordnern /dags bzw. /plugins zu speichern und alle anderen Dateien zu entfernen. Zu viele Daten in den Ordnern /dags und /plugins können die Initialisierung von Airflow-Komponenten verlangsamen und in bestimmten Fällen unmöglich machen.

    Wir empfehlen, weniger als 30 MB Daten in den Ordnern /dags und /plugins zu speichern und die Größe von 100 MB auf keinen Fall zu überschreiten. Weitere Informationen finden Sie unter Umgang mit einer großen Anzahl von DAGs und Plug-ins

  • Die Größe der Airflow-Datenbank kann die Dauer von Upgradevorgängen erheblich verlängern. Wir empfehlen, die Größe der Airflow-Datenbank Ihrer Umgebung zu verwalten.

Upgrade für den Maschinentyp für GKE-Knoten durchführen

Sie können den Maschinentyp für den GKE-Cluster Ihrer Umgebung manuell aktualisieren, indem Sie den vorhandenen default-pool löschen und einen neuen default-pool mit dem gewünschten Maschinentyp erstellen.

Wir empfehlen, bei der Erstellung einer Umgebung einen geeigneten Maschinentyp für die Art von Computing anzugeben, die in Ihrer Managed Airflow-Umgebung ausgeführt wird, wenn Sie eine Umgebung erstellen.

Wenn Sie Jobs ausführen, bei denen ressourcenintensive Berechnungen durchgeführt werden, sollten Sie GKE-Operatoren verwenden.

Nach einem Upgrade wird der vorherige Maschinentyp weiterhin in den Details Ihrer Umgebung aufgeführt. Auf der Seite „Umgebungsdetails“ wird beispielsweise nicht der neue Maschinentyp angezeigt.

Console

So aktualisieren Sie den Maschinentyp:

  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 Umgebung. Die Seite Umgebungsdetails wird geöffnet.

  3. Informationen zum Standardknotenpool abrufen:

    1. Rufen Sie den Tab Umgebungskonfiguration auf.

    2. Klicken Sie auf den Link Clusterdetails ansehen.

    3. Klicken Sie auf der Seite Cluster im Abschnitt Knoten auf default-pool.

    4. Notieren Sie sich auf der Seite „Knotenpooldetails“ alle Informationen zu default-pool. Sie verwenden diese Informationen, um einen neuen Standardknotenpool für Ihre Umgebung zu erstellen.

  4. So löschen Sie den default-pool:

    1. Klicken Sie auf der Seite Knotenpooldetails auf den Zurückpfeil, um zur Seite Cluster für Ihre Umgebung zurückzukehren.

    2. Klicken Sie im Abschnitt Knotenpools auf das Papierkorbsymbol für den default-pool. Klicken Sie dann auf Löschen , um den Vorgang zu bestätigen.

  5. So erstellen Sie den neuen default-pool:

    1. Klicken Sie auf der Seite Cluster auf Knotenpool hinzufügen.

    2. Geben Sie als Name default-pool ein. Sie müssen den Namen default-pool verwenden, damit Workflows in Ihrer Umgebung in diesem Pool ausgeführt werden können.

    3. Geben Sie die Einstellungen für Größe und Knoten ein.

    4. (Nur für Compute Engine-Standarddienstkonten) Wählen Sie die Option Uneingeschränkten Zugriff auf alle Cloud APIs zulassen als Zugriffsbereich aus.

    5. Klicken Sie auf Speichern.

  6. Wenn Sie feststellen, dass die Arbeitslasten ungleich verteilt sind, skalieren Sie das Deployment von airflow-worker herunter auf null und dann wieder hoch.

Nächste Schritte