Upgrade für Umgebungen ausführen

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

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

Upgradevorgänge

In Cloud Composer 3 verwalten Sie die Cloud Composer-Version der 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 haben keinen Einfluss auf die Funktionsweise oder Ausführung von Airflow-DAGs.
  • Cloud Composer aktualisiert nicht automatisch die Airflow-Version und -Builds, Airflow-Komponenten oder Komponenten, die eng mit Airflow-Arbeitslasten verbunden sind. Sie werden nicht geändert, wenn die Infrastrukturkomponenten automatisch aktualisiert werden.
  • Sie können ein manuelles Upgrade auf eine neue Airflow-Version oder einen neuen Build durchführen.

Sie können beispielsweise dieselbe Version und den gleichen Build von Airflow für mehrere Monate verwenden, ohne Upgrades durchzuführen. Ihre Umgebung erhält trotzdem weiterhin die neuesten Cloud Composer-Updates, Fehlerbehebungen und Verbesserungen der Infrastrukturkomponenten der Umgebung. Wenn Sie sich später für die Umstellung auf eine neue Version oder einen Build von Airflow entscheiden, führen Sie ein Upgrade der Airflow-Version in Ihrer Umgebung durch.

Airflow-Versionsupgrade

In Ihrer Umgebung ändert sich die Version oder den Build von Airflow so:

  • Sie steuern die Airflow-Version (und den Build) Ihrer Umgebung. Sie können das Upgrade der Airflow-Version ausführen, wenn Sie Ihre Umgebung auf eine andere Version von Airflow umstellen. 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 noch einmal bereit.

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

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

Durch das Ändern der Airflow-Version ändert sich nichts daran, wie Sie eine Verbindung zu den Ressourcen in Ihrer Umgebung herstellen, z. B. die URL des Buckets Ihrer Umgebung oder des Airflow-Webservers.

Automatische Infrastrukturupgrades

Cloud Composer führt regelmäßig automatische Infrastrukturupgrades aus:

  • Automatische Infrastrukturupgrades werden regelmäßig während der für die Umgebung festgelegten Wartungsfenster ausgeführt.

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

  • Dieser Vorgang ist wie alle anderen lang andauernden Vorgänge in den Logs der Google Cloud Console und der Umgebung sichtbar. Während der Vorgang ausgeführt wird, können Sie keine anderen Vorgänge auf Umgebungsebene starten. Sie können jedoch Airflow-DAGs ausführen.

  • Durch automatische Infrastrukturupgrades werden Airflow-Komponenten oder bereits laufende Airflow-Aufgaben nicht unterbrochen. Ein Upgrade kann dazu führen, dass die Infrastrukturkomponenten der Umgebung kurzzeitig nicht verfügbar sind, z. B. das Umgebungsmonitoring.

Einschränkungen von Upgradevorgängen

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

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

  • Sie können kein Upgrade Ihrer Umgebung durchführen, wenn die Airflow-Datenbank mehr als 16 GB Daten enthält. Während eines Upgrades wird eine Warnung angezeigt, wenn die Größe der Airflow-Datenbank mehr als 16 GB beträgt. Führen Sie in diesem Fall die Datenbankwartung durch, um die Datenbankgröße zu reduzieren.

Hinweise

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

  • Ihr Konto muss eine Rolle haben, die Vorgänge für Umgebungsupgrades auslösen kann. Darüber hinaus muss das Dienstkonto der Umgebung eine Rolle mit den erforderlichen Berechtigungen zum Ausführen von Upgradevorgängen haben. Weitere Informationen finden Sie unter Zugriffssteuerung.

Umgebung auf dem neuesten Stand prüfen

Cloud Composer zeigt Warnungen an, wenn der Airflow-Build Ihrer Umgebung das Ende des Supportzeitraums nähert. Sie können diese Warnungen verwenden, damit Ihre Umgebung immer unterstützt wird.

Auf der Seite „Umgebungsdetails“ wird eine Nachricht zur Einstellung angezeigt.
Abbildung 1. Auf der Seite mit den Umgebungsdetails wird eine Nachricht zur Einstellung angezeigt.

Cloud Composer verfolgt die Airflow-Version und den Build, auf denen Ihre Umgebung basiert. Vor dem Ende des Supportzeitraums 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. Sie können sich stattdessen auch die verfügbaren Upgrades ansehen, um die jeweils verfügbaren neuen Versionen zu sehen.

API

Diese Funktion ist nicht über die API verfügbar. Sie können sich stattdessen auch die verfügbaren Upgrades ansehen, um die jeweils verfügbaren neuen Versionen zu sehen.

Verfügbare Upgrades ansehen

So lassen Sie eine Liste der Cloud Composer-Versionen anzeigen, auf die Sie ein Upgrade durchführen können:

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 durchführen.

  4. Klicken Sie auf das Drop-down-Menü Image-Version für Cloud Composer, um die Liste der verfügbaren 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 imageVersions.list-API-Anfrage.

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 Konflikte mit vorinstallierten Paketen in der neuen Airflow-Version oder im neuen Airflow-Build haben.

Eine erfolgreiche Prüfung bedeutet, dass zwischen der aktuellen und der angegebenen Version keine Konflikte in PyPI-Paketabhängigkeiten vorliegen. Ein Upgradevorgang kann jedoch auch aus anderen Gründen 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 Upgrade der Umgebungsversion in der Drop-down-Liste Neue Version eine Airflow-Version oder einen Build für das Upgrade aus.

  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 Airflow-Build aus, auf die Sie upgraden 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 durch die neue Airflow-Version und den neuen Build, auf die Sie ein Upgrade ausführen möchten, im Format airflow-x.y.z-build.t. Sie können auch alle Versionsaliasse verwenden.

Beispiel:

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

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.7.3-build.6. 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 im Format composer-3-airflow-x.y.z-build.t, auf die Sie upgraden möchten.

Upgrade für Ihre Umgebung ausführen

So führen Sie ein Upgrade Ihrer Umgebung auf eine neue Version oder einen 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 das Element Image-Version und klicken Sie auf Upgrade.

  5. Wählen Sie im Drop-down-Menü Image-Version eine Airflow-Version oder einen Build für das Upgrade aus.

  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 durch die neue Airflow-Version und den neuen Build, auf die Sie ein Upgrade ausführen möchten, im Format airflow-x.y.z-build.t. Sie können auch alle Versionsaliasse verwenden.

Beispiel:

gcloud composer environments update
  example-environment \
  --location us-central1 \
  --airflow-version airflow-2.7.3-build.6

API

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

  2. In dieser Anfrage:

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

    2. Geben Sie im Anfragetext im Feld imageVersion die neue Version für das Upgrade an.

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.7.3-build.6"
      }
    }
  }

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 Version und den neuen Build von Airflow, auf die Sie ein Upgrade ausführen möchten, im Format airflow-x.y.z-build.t. Sie können auch alle Versionsaliasse verwenden.

Beispiel:

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

  config {
    software_config {
      image_version = "airflow-2.7.3-build.6"
    }
  }
}

Nächste Schritte