Upgrade für Umgebungen ausführen

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

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

Informationen zu Upgradevorgängen

Sie können für die Managed Airflow-Version, für die Airflow-Version oder für beides gleichzeitig ein Upgrade ausführen.

Wenn Sie die Version von Airflow oder Managed Airflow ändern, die von Ihrer Umgebung verwendet wird, gilt Folgendes:

  • Managed Airflow stellt die Komponenten Ihrer Umgebung mit neuen Versionen von Managed Airflow-Images neu bereit.

  • Managed Airflow wendet Änderungen an der Airflow-Konfiguration an, z. B. benutzerdefinierte PyPI-Pakete oder Überschreibungen von Airflow-Konfigurationsoptionen, wenn Ihre Umgebung diese vor dem Upgrade hatte.

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

Upgrades haben keinen Einfluss auf die Art und Weise, wie Sie eine Verbindung zu Ressourcen in Ihrer Umgebung herstellen, z. B. die URL des Buckets Ihrer Umgebung oder des Airflow-Webservers.

Einschränkungen von Upgradevorgängen

Für Upgradevorgänge gelten die folgenden Einschränkungen:

  • Managed Airflow-Releases werden über mehrere Tage hinweg schrittweise in allen von Managed Airflow unterstützten Regionen eingeführt. Die neueste Version aus einem laufenden Release ist in Ihrer Region möglicherweise noch nicht verfügbar.

  • Ein Downgrade auf eine frühere Managed Airflow- oder Airflow-Version ist nicht möglich.

  • In der Google Cloud Console können Sie nur auf die neuesten unterstützten Versionen von Managed Airflow (Gen 2) aktualisieren.

  • In der Google Cloud CLI, der API oder Terraform können Sie eine Umgebung auf die neuesten unterstützten Versionen, drei vorherige Versionen von Managed Airflow (Gen 2), die letzte Patch-Version der vorherigen Nebenversion und auf Versionen mit einem verlängerten Upgradezeitraum aktualisieren. Ein Upgrade auf andere Versionen von Managed Airflow (Gen 2) ist nicht möglich, auch wenn sie noch unterstützt werden und zum Erstellen einer neuen Umgebung verwendet werden können.

    Beispiel für Upgradeoptionen für die Google Cloud CLI, die API und Terraform:

    • Neueste Versionen: composer-2.11.5-airflow-*
    • Drei vorherige Managed Airflow-Versionen (Gen 2): composer-2.11.4-airflow-*, composer-2.11.3-airflow-*, composer-2.11.2-airflow-*.
    • Letzter Patch der vorherigen Managed Airflow-Nebenversion (Gen 2): composer-2.10.2-airflow-*
    • Managed Airflow-Versionen (Gen 2) mit einem verlängerten Upgradezeitraum: composer-2.10.2-airflow-*, composer-2.10.1-ariflow-*, composer-2.9.7-airflow-* und andere Versionen mit einem verlängerten Upgradezeitraum.
  • Die Version, auf die Sie aktualisieren, muss die aktuelle Python-Version Ihrer Umgebung unterstützen.

  • Die Kontingentlimits der Compute Engine API können Upgrades verhindern. Rufen Sie in der Google Cloud Console die Seite IAM und Verwaltung > Kontingente und Systemlimits auf und prüfen Sie, ob das Compute Engine API-Kontingent für CPUs nicht überschritten wurde. Wenn sich der Kontingentschwellenwert nähert, fordern Sie eine Kontingenterhöhung an, bevor Sie mit dem Upgradevorgang fortfahren.

  • Ein direktes Upgrade auf eine andere Hauptversion von Managed Airflow oder Airflow ist nicht möglich. Sie können DAGs und Konfigurationen manuell zwischen Umgebungen übertragen. Weitere Informationen finden Sie unter:

  • Sie können Ihre Umgebung nicht aktualisieren, wenn die Airflow-Datenbank mehr als 16 GB Daten umfasst. Während eines Upgrades wird eine Warnung angezeigt, wenn die Airflow-Datenbankgröße mehr als 16 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, müssen Sie sicherstellen, dass Sie ihn gemäß den Airflow-Richtlinien verwenden. Das Übertragen 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 Upgrade Ihrer Umgebung führen. Verwenden Sie Alternativen wie Cloud Storage, um große Datenmengen zu übertragen.

Hinweis

  • 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

Managed Airflow zeigt Warnungen an, wenn das Image Ihrer Umgebung das Ende des vollständigen Supportzeitraums erreicht hat. Sie können diese Warnungen verwenden, um Ihre Umgebung immer unterstützt zu halten.

Auf der Seite mit Umgebungsdetails wird eine Meldung zur Einstellung angezeigt.
Abbildung 1 Auf der Seite Umgebungs details
wird eine Einstellungsmeldung angezeigt.

Managed Airflow verfolgt die Managed Airflow-Image-Version , auf der Ihre Umgebung basiert. Wenn sich das Ende des Supportzeitraums nä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 über die Google Cloud CLI nicht verfügbar. Sie können Vorgeschlagene Upgrades ansehen stattdessen, in denen die verfügbaren neuen Versionen aufgeführt sind.

API

Diese Funktion ist über die API nicht verfügbar. Sie können Vorgeschlagene Upgrades ansehen stattdessen, in denen die verfügbaren neuen Versionen aufgeführt sind.

Vorgeschlagene Upgrades ansehen

Managed Airflow bietet eine Liste der Managed Airflow-Versionen, auf die Sie Ihre Umgebung aktualisieren können.

So rufen Sie die für ein Upgrade vorgeschlagenen Managed Airflow-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. Rufen Sie den Tab Umgebungskonfiguration auf und klicken Sie auf Upgrade für Image-Version ausführen.

  4. Klicken Sie auf das Drop-down-Menü Image-Version für Managed Airflow, 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 die verfügbaren Versionen für einen Standort aufrufen. Erstellen Sie dazu eine imageVersions.list-API-Anfrage.

Beispiel:

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

Auf PyPI-Paketkonflikte prüfen

Sie können prüfen, ob in Ihrer Umgebung installierte PyPI-Pakete mit vorinstallierten Paketen im neuen Managed Airflow-Image 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 trotzdem fehlschlagen.

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. Rufen Sie den Tab Umgebungskonfiguration auf, 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 Managed Airflow-Version 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 environments check-upgrade Befehl mit der Managed Airflow-Image-Version aus, auf die Sie ein Upgrade ausführen möchten.

gcloud composer environments check-upgrade \
  ENVIRONMENT_NAME \
  --location LOCATION \
  --image-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 Managed Airflow-Bildversion auf die Sie ein Upgrade ausführen möchten, im composer-a.b.c-airflow-x.y.z Format. Sie können alle Versionsaliase verwenden.

Beispiel:

gcloud composer environments check-upgrade example-environment \
  --location us-central1 \
  --image-version composer-1.20.12-airflow-1.10.15

Beispielausgabe:

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

Response:
'@type': type.googleapis.com/
google.cloud.orchestration.airflow.service.v1.CheckUpgradeResponse
buildLogUri: ...
containsPypiModulesConflict: CONFLICT
pypiConflictBuildLogExtract: |-
The Cloud Build image build failed: Build failed; check build logs for
details. Full log can be found at ...
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 ein Upgrade ausführen möchten, in dem composer-a.b.c-airflow-x.y.z Format.

Umgebung aktualisieren

So aktualisieren Sie Ihre Umgebung auf eine neuere Version von Managed Airflow oder Airflow:

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 das Element Image-Version und klicken Sie auf Upgrade.

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

  6. Klicken Sie auf Upgrade.

gcloud

gcloud composer environments update \
  ENVIRONMENT_NAME \
  --location LOCATION \
  --image-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 Managed Airflow-Bildversion auf die Sie ein Upgrade ausführen möchten, im composer-a.b.c-airflow-x.y.z Format. Sie können auch alle Versionsaliase verwenden.

Beispiel:

gcloud composer environments update
  example-environment \
  --location us-central1 \
  --image-version composer-1.20.12-airflow-1.10.15

API

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

  2. In dieser Anfrage:

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

    2. Geben Sie im Anfragetext im Feld imageVersion eine neue Version an, auf die Sie ein Upgrade ausführen 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-1.20.12-airflow-1.10.15"
      }
    }
  }

Terraform

Das Feld image_version im Block config.software_config steuert das Managed Airflow-Image Ihrer Umgebung. Geben Sie in diesem Feld ein neues Managed Airflow-Image 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. durch die neue Managed Airflow-Image-Version auf die Sie ein Upgrade ausführen möchten, im composer-a.b.c-airflow-x.y.z Format. 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 = "composer-1.20.12-airflow-1.10.15"
    }
  }
}

Nächste Schritte