Upgrade für Umgebungen ausführen

Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1

Auf dieser Seite wird beschrieben, wie Sie Ihre Umgebung auf eine neue Airflow-Version aktualisieren.

Umstellungsvorgänge

In Cloud Composer 3 verwalten Sie die Cloud Composer-Version Ihrer Umgebung nicht:

  • Cloud Composer führt automatisch ein Upgrade der Infrastrukturkomponenten Ihrer Umgebung durch. Diese Komponenten beziehen sich auf die Cloud Composer-Funktionalität und ändern nicht die Funktionsweise von Airflow oder die Ausführung Ihrer Airflow-DAGs.
  • Cloud Composer führt kein automatisches Upgrade der Airflow-Version und des Builds, der Airflow-Komponenten oder der Komponenten durch, die eng mit Airflow-Arbeitslasten zusammenhängen. Sie werden nicht geändert, wenn die Infrastrukturkomponenten automatisch aktualisiert werden.
  • Sie können manuell auf eine neue Airflow-Version oder einen neuen Build aktualisieren.

Sie können beispielsweise dieselbe Airflow-Version und denselben Airflow-Build mehrere Monate lang verwenden, ohne Upgrades durchzuführen. Ihre Umgebung erhält trotzdem die neuesten Cloud Composer-Updates, Fehlerkorrekturen und Verbesserungen der Infrastrukturkomponenten der Umgebung. Wenn Sie später zu einer neuen Version oder einem neuen Build von Airflow wechseln möchten, führen Sie ein Upgrade der Airflow-Version in Ihrer Umgebung durch.

Airflow-Version aktualisieren

Ihre Umgebung ändert die Version oder den Build von Airflow auf folgende Weise:

  • Sie haben die Kontrolle über die Airflow-Version (und den Build) Ihrer Umgebung. Sie können das Upgrade der Airflow-Version durchführen, wenn Sie Ihre Umgebung auf eine andere Airflow-Version umstellen möchten. Das kann beispielsweise passieren, wenn die aktuelle Version und der aktuelle Build von Airflow nicht mehr unterstützt werden.

  • Cloud Composer stellt die Airflow-Komponenten Ihrer Umgebung mit der angegebenen Airflow-Version und dem angegebenen Build neu bereit.

  • Cloud Composer wendet Airflow-Konfigurationsänderungen wie benutzerdefinierte PyPI-Pakete oder Überschreibungen von Airflow-Konfigurationsoptionen an, wenn Ihre Umgebung diese vor dem Upgrade hatte.

  • Cloud Composer aktualisiert die Airflow-airflow_db-Verbindung, damit sie auf die neue Cloud SQL-Datenbank verweist.

Wenn Sie die Airflow-Version ändern, ändert sich nicht, wie Sie eine Verbindung zu den Ressourcen in Ihrer Umgebung herstellen, z. B. zur URL des Buckets Ihrer Umgebung oder zum Airflow-Webserver.

Automatische Infrastruktur-Upgrade-Vorgänge

Cloud Composer führt regelmäßig automatische Infrastruktur-Upgrade-Vorgänge aus:

  • Automatische Infrastruktur-Upgrade-Vorgänge werden regelmäßig während der für die Umgebung angegebenen Wartungsfenster ausgeführt.

  • Automatische Infrastrukturupgrades können in Cloud Composer 3 nicht deaktiviert werden. Sie können die Zeiträume, in denen automatische Upgrades ausgeführt werden können, steuern, indem Sie benutzerdefinierte Wartungsfenster für Ihre Umgebung angeben.

  • Dieser Vorgang ist wie jeder andere Vorgang mit langer Ausführungszeit in der Google Cloud -Konsole und in den Logs der Umgebung sichtbar. Während der Vorgang ausgeführt wird, können Sie keine anderen Vorgänge auf Umgebungsebene starten. Airflow-DAGs können Sie aber weiterhin ausführen.

  • In einigen Fällen können durch automatische Infrastruktur-Upgrades Airflow-Komponenten neu gestartet werden. Bei solchen Neustarts werden Airflow-Worker mit einer Kulanzfrist von 24 Stunden ordnungsgemäß beendet. Wenn Sie Aufgaben haben, die mehr als 24 Stunden in Anspruch nehmen, sollten Sie zurückstellbare Operatoren verwenden. Ein Upgrade kann zu einer kurzen Zeit der Nichtverfügbarkeit von Infrastrukturkomponenten der Umgebung führen, z. B. der Umgebungsüberwachung.

Einschränkungen bei Upgradevorgängen

Für Upgrade-Vorgänge gelten die folgenden Einschränkungen:

  • Cloud Composer-Releases werden über mehrere Tage hinweg nach und nach in allen von Cloud Composer unterstützten Regionen eingeführt. Die aktuelle Version eines laufenden Releases ist in Ihrer Region möglicherweise noch nicht verfügbar.

  • Ein Downgrade auf eine frühere Version oder einen früheren Build von Airflow ist nicht möglich.

  • Sie können Ihre Umgebung nicht aktualisieren, wenn die Airflow-Datenbank mehr als 20 GB Daten umfasst. Während eines Upgrades wird eine Warnung angezeigt, wenn die Airflow-Datenbankgröße mehr als 20 GB beträgt. Führen Sie in diesem Fall die Datenbankwartung durch, um die Datenbankgröße zu reduzieren.

  • Wenn Sie den XCom-Mechanismus zum Übertragen von Dateien verwenden, achten Sie darauf, dass Sie ihn gemäß den Airflow-Richtlinien verwenden. Die Übertragung großer Dateien oder einer großen Anzahl von Dateien mit XCom wirkt sich auf die Leistung der Airflow-Datenbank aus und kann zu Fehlern beim Laden von Snapshots oder beim Aktualisieren Ihrer Umgebung führen. Erwägen Sie die Verwendung von Alternativen wie Cloud Storage, um große Datenmengen zu übertragen.

Hinweise

  • Wir empfehlen, einen neuen Snapshot der Umgebung zu erstellen, damit Sie die Umgebung bei Bedarf neu erstellen können.

  • Ihr Konto muss eine Rolle haben, die Umgebungsaktualisierungsvorgänge auslösen kann. Darüber hinaus muss das Dienstkonto der Umgebung eine Rolle mit ausreichenden Berechtigungen zum Ausführen von Aktualisierungsvorgängen haben. Weitere Informationen finden Sie unter Zugriffssteuerung.

Prüfen, ob Ihre Umgebung auf dem neuesten Stand ist

Cloud Composer zeigt Warnungen an, wenn der Airflow-Build Ihrer Umgebung das Ende des Supportdatums erreicht hat. Sie können diese Warnungen verwenden, um Ihre Umgebung immer zu unterstützen.

Auf der Seite „Umgebungsdetails“ wird eine Meldung zur Einstellung angezeigt.
Abbildung 1. Auf der Seite „Umgebungsdetails“ wird eine Einstellungseinstellungsmeldung angezeigt.

Cloud Composer erfasst die Airflow-Version und den Build, auf denen Ihre Umgebung basiert. Wenn sich das Image dem Enddatum des Supports annähert, wird in der Liste der Umgebungen und auf der Seite Umgebungsdetails eine Warnung angezeigt.

So prüfen Sie, ob Ihre Umgebung auf dem neuesten Stand ist:

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.

  3. Rufen Sie den Tab Umgebungskonfiguration auf.

  4. Im Feld Image-Version wird eine der folgenden Meldungen angezeigt:

    • Aktuelle verfügbare Version Ihr Umgebungs-Image wird vollständig unterstützt.

    • Neue Version verfügbar Ihr Umgebungs-Image wird vollständig unterstützt und Sie können ein Upgrade auf eine neuere Version ausführen.

    • Unterstützung für diese Image-Version endet in... Ihr Umgebungs-Image nähert sich dem Ende des vollständigen Supportzeitraums.

    • Diese Version wird ab dem nicht mehr unterstützt Ihre Umgebung hat den vollständigen Supportzeitraum überschritten.

gcloud

Diese Funktion ist nicht über die Google Cloud CLI verfügbar. Stattdessen können Sie vorgeschlagene Upgrades ansehen. Dort werden neue verfügbare Versionen angezeigt.

API

Diese Funktion ist nicht über die API verfügbar. Stattdessen können Sie vorgeschlagene Upgrades ansehen. Dort werden neue verfügbare Versionen angezeigt.

Vorgeschlagene Upgrades ansehen

Cloud Composer bietet eine Liste von Airflow-Builds, auf die Sie Ihre Umgebung upgraden können.

So rufen Sie die für ein Upgrade vorgeschlagenen Cloud Composer-Versionen auf:

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.

  3. Wechseln Sie zum Tab Umgebungskonfiguration und klicken Sie auf Upgrade für Image-Version ausführen.

  4. Klicken Sie auf das Drop-down-Menü Image-Version für Cloud Composer, um die Liste der vorgeschlagenen Versionen aufzurufen.

gcloud

gcloud composer environments list-upgrades \
  ENVIRONMENT_NAME \
  --location LOCATION

Ersetzen Sie:

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

Beispiel:

gcloud composer environments list-upgrades example-environment \
  --location us-central1

API

Sie können sich die verfügbaren Versionen für einen Standort ansehen. Erstellen Sie dazu eine API-Anfrage imageVersions.list.

Beispiel:

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

Vor dem Upgrade auf PyPI-Paketkonflikte prüfen

Sie können prüfen, ob in Ihrer Umgebung installierte PyPI-Pakete mit vorinstallierten Paketen in der neuen Airflow-Version oder im neuen Airflow-Build in Konflikt stehen.

Eine erfolgreiche Prüfung bedeutet, dass keine Konflikte in den PyPI-Paketabhängigkeiten zwischen der aktuellen und der angegebenen Version bestehen. Ein Upgradevorgang kann jedoch aus anderen Gründen möglicherweise noch nicht erfolgreich sein.

Console

So führen Sie eine Upgradeprüfung für Ihre Umgebung aus:

  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. Wechseln Sie zum Tab Umgebungskonfiguration, suchen Sie den Eintrag Image-Version und klicken Sie auf Upgrade.

  4. Wählen Sie im Dialogfeld Umgebungsversionsupgrade in der Drop-down-Liste Neue Version eine Airflow-Version oder einen Airflow-Build aus, auf die Sie upgraden möchten.

  5. Klicken Sie im Abschnitt Kompatibilität von PyPI-Paketen auf Nach Konflikten suchen.

  6. Warten Sie, bis die Prüfung abgeschlossen ist. Wenn PyPI-Paketabhängigkeitskonflikte auftreten, enthalten die angezeigten Fehlermeldungen Details zu in Konflikt stehenden Paketen und Paketversionen.

gcloud

Führen Sie zum Ausführen einer Upgradeprüfung für Ihre Umgebung den Befehl environments check-upgrade mit der Airflow-Version oder dem Build aus, auf die Sie ein Upgrade ausführen möchten.

gcloud composer environments check-upgrade \
  ENVIRONMENT_NAME \
  --location LOCATION \
  --airflow-version VERSION

Ersetzen Sie:

  • ENVIRONMENT_NAME durch den Namen der Umgebung.
  • LOCATION durch die Region, in der sich die Umgebung befindet.
  • VERSION mit der neuen Airflow-Version und dem neuen Build, auf die Sie das Upgrade ausführen möchten, im Format airflow-x.y.z-build.t. Sie können auch alle Versionsaliase verwenden.

Beispiel:

gcloud composer environments check-upgrade example-environment \
  --location us-central1 \
  --airflow-version airflow-2.10.5-build.11

Beispielausgabe:

Waiting for [projects/example-project/locations/us-central1/environments/
example-environment] to be checked for PyPI package conflicts when upgrading
to composer-3-airflow-2.10.5-build.11. Operation [projects/example-project/locations/
us-central1/operations/04d0e8b2-...]...done.
...

Response:
'@type': type.googleapis.com/
google.cloud.orchestration.airflow.service.v1.CheckUpgradeResponse
buildLogUri: https://console.cloud.google.com/cloud-build/builds/79738aa7-...
containsPypiModulesConflict: CONFLICT
pypiConflictBuildLogExtract: |-
The Cloud Build image build failed: Build failed; check build logs for
details. Full log can be found at https://console.cloud.google.com/
cloud-build/builds/79738aa7-...
Error details: tensorboard 2.2.2 has requirement
setuptools>=41.0.0, but you have setuptools 40.3.0.

Alternativ können Sie eine Upgradeprüfung asynchron ausführen. Verwenden Sie das Argument --async, um einen asynchronen Aufruf auszuführen, und prüfen Sie dann das Ergebnis mit dem Befehl gcloud composer operations describe.

API

Erstellen Sie eine environments.checkUpgrade-API-Anfrage.

Geben Sie im Feld imageVersion die Image-Version an:

{
  "imageVersion": "VERSION"
}

Ersetzen Sie VERSION durch die neue Version, auf die Sie das Upgrade ausführen möchten, im Format composer-3-airflow-x.y.z-build.t.

Umgebung upgraden

So führen Sie ein Upgrade Ihrer Umgebung auf eine neue Version oder einen neuen Build von Airflow durch:

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.

  3. Rufen Sie den Tab Umgebungskonfiguration auf.

  4. Suchen Sie den Eintrag Image-Version und klicken Sie auf Upgrade.

  5. Wählen Sie im Drop-down-Menü Image-Version eine Airflow-Version oder einen Build aus, auf die Sie upgraden möchten.

  6. Klicken Sie auf Upgrade.

gcloud

gcloud composer environments update \
  ENVIRONMENT_NAME \
  --location LOCATION \
  --airflow-version VERSION

Ersetzen Sie:

  • ENVIRONMENT_NAME durch den Namen der Umgebung.
  • LOCATION durch die Region, in der sich die Umgebung befindet.
  • VERSION mit der neuen Airflow-Version und dem neuen Build, auf die Sie das Upgrade ausführen möchten, im Format airflow-x.y.z-build.t. Sie können auch alle Versionsaliase verwenden.

Beispiel:

gcloud composer environments update
  example-environment \
  --location us-central1 \
  --airflow-version airflow-2.10.5-build.11

API

  1. Erstellen Sie eine API-Anfrage environments.patch.

  2. In dieser Anfrage:

    1. Geben Sie im updateMask-Parameter die config.softwareConfig.imageVersion-Maske an.

    2. Geben Sie im Anfragetext im Feld imageVersion eine neue Version an, auf die Sie upgraden möchten.

Beispiel:

// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.softwareConfig.imageVersion

  {
    "config": {
      "softwareConfig": {
        "imageVersion": "composer-3-airflow-2.10.5-build.11"
      }
    }
  }

Terraform

Das Feld image_version im Block config.software_config steuert die Airflow-Version und den Build Ihrer Umgebung. Geben Sie in diesem Feld eine neue Airflow-Version und einen neuen Build an.

  resource "google_composer_environment" "example" {
  provider = google-beta
  name = "ENVIRONMENT_NAME"
  region = "LOCATION"

  config {
    software_config {
      image_version = "VERSION"
    }
  }
}

Ersetzen Sie:

  • ENVIRONMENT_NAME durch den Namen der Umgebung.
  • LOCATION durch die Region, in der sich die Umgebung befindet. Die neue Airflow-Version und der neue Build, auf die Sie ein Upgrade durchführen möchten, im Format airflow-x.y.z-build.t. Sie können auch alle Versionsaliase verwenden.

Beispiel:

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "example-environment"
  region = "us-central1"

  config {
    software_config {
      image_version = "airflow-2.10.5-build.11"
    }
  }
}

Nächste Schritte