Upgrade für Umgebungen ausführen

Cloud Composer 1 Cloud Composer 2

Auf dieser Seite wird beschrieben, wie Sie Ihre Umgebung auf eine neue Cloud Composer- oder Airflow-Version upgraden.

Upgradevorgänge

Wenn Sie die von Ihrer Umgebung verwendete Version von Airflow oder Cloud Composer ändern, wird die Umgebung aktualisiert.

Das Upgrade ändert nichts daran, wie Sie eine Verbindung zu den Ressourcen in Ihrer Umgebung herstellen, z. B. der URL des Buckets Ihrer Umgebung oder des Airflow-Webservers.

Während eines Upgrades führt Cloud Composer folgende Schritte aus:

  1. Stellt die Komponenten der Umgebung mit neuen Versionen von Cloud Composer-Images noch einmal bereit.
  2. Es wendet Airflow-Konfigurationsänderungen an, z. B. benutzerdefinierte PyPI-Pakete oder Überschreibungen von Airflow-Konfigurationsoptionen, wenn diese in Ihrer Umgebung vor dem Upgrade vorhanden waren.
  3. Aktualisiert die Airflow-airflow_db-Verbindung, sodass sie auf die neue Cloud SQL-Datenbank verweist.

Hinweise

  • Das Upgrade befindet sich in der Vorschau. Verwenden Sie dieses Feature in Produktionsumgebungen mit Vorsicht.

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

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

  • Sie können die Cloud Composer-Version, die Airflow-Version oder beide gleichzeitig upgraden.

  • Sie können von jeder Version von Cloud Composer nur auf die neueste Version, drei vorherige Versionen von Cloud Composer und auf Versionen mit einem verlängerten Upgradezeitplan upgraden.

  • Verwenden Sie die Google Cloud CLI, API oder Terraform, um ein Upgrade auf andere Versionen als die neueste Cloud Composer-Version durchzuführen. In der Google Cloud Console können Sie nur auf die neueste Version upgraden.

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

  • Sie benötigen eine Rolle, 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.

  • Die Liste der PyPI-Pakete in einer Version, auf die Sie ein Upgrade ausführen möchten, finden Sie in der Liste der Cloud Composer-Versionen.

  • 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.

  • Die Image-Version, auf die Sie upgraden, muss die aktuelle Python-Version Ihrer Umgebung unterstützen.

  • Achten Sie darauf, dass Ihre DAGs mit der Airflow-Version und allen Anbieterpaketen (einschließlich des Airflow-Anbieterpakets für Google Cloud und Google-Dienste) kompatibel sind. Sie können die Versionen von Anbieterpaketen prüfen, die in einer bestimmten Cloud Composer-Version enthalten sind.

  • Rufen Sie in der Google Cloud Console die Seite IAM und Verwaltung > Kontingente und Systemlimits auf und prüfen Sie, ob das Kontingent Compute Engine Engine API für die CPU nicht überschritten wird. Wenn der Schwellenwert des Kontingents fast erreicht ist, fordern Sie eine Kontingenterweiterung an, bevor Sie mit dem Upgrade fortfahren.

  • Upgrades sind auf die letzten drei veröffentlichten Cloud Composer-Versionen oder auf eine der Versionen mit Unterstützung für erweiterte Upgrades möglich, wie unter Cloud Composer-Versionen beschrieben.

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

Cloud Composer zeigt Warnungen an, wenn sich das Image der Umgebung dem Ende der Unterstützung nähert. Sie können diese Warnungen verwenden, um Ihre Umgebungen immer in dem vollen Supportzeitraum zu halten.

Auf der Seite „Umgebungsdetails“ wird eine Nachricht zur Einstellung angezeigt
Abbildung 1: Auf der Detailseite der Umgebung wird eine Nachricht zur Einstellung angezeigt.

Cloud Composer erfasst die Cloud Composer-Image-Version, auf der 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 Ihr Umgebungs-Image 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.

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. Rufen Sie den Tab Umgebungskonfiguration auf und klicken Sie auf Image-Version upgraden.

  4. Klicken Sie auf das Drop-down-Menü Image-Version von Cloud Composer, um die Liste der verfügbaren Versionen aufzurufen.

gcloud

gcloud beta 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 beta 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

Prüfen auf PyPI-Paketkonflikte vor dem Upgrade

Sie können prüfen, ob in Ihrer Umgebung installierte PyPI-Pakete mit vorinstallierten Paketen im neuen Cloud Composer-Image in Konflikt stehen.

Eine erfolgreiche Prüfung bedeutet, dass keine PyPI-Paketabhängigkeitskonflikte zwischen der aktuellen und der angegebenen Version auftreten. Ein Upgradevorgang kann aber trotzdem 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 Umgebungsversionsupgrade in der Drop-down-Liste Neue Version eine Cloud Composer-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 Befehl environments check-upgrade mit der Cloud Composer-Image-Version aus, auf die Sie das Upgrade durchführen möchten.

gcloud beta composer environments check-upgrade \
    ENVIRONMENT_NAME \
    --location LOCATION \
    --image-version COMPOSER_IMAGE

Ersetzen Sie:

  • ENVIRONMENT_NAME durch den Namen der Umgebung.
  • LOCATION durch die Region, in der sich die Umgebung befindet.
  • COMPOSER_IMAGE durch die neue Cloud Composer-Image-Version, auf die Sie ein Upgrade durchführen möchten, im Format composer-a.b.c-airflow-x.y.z.

Beispiel:

gcloud beta 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.v1beta1.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": "COMPOSER_IMAGE"
}

Ersetzen Sie COMPOSER_IMAGE im Format composer-a.b.c-airflow-x.y.z durch die neue Cloud Composer-Image-Version, auf die Sie ein Upgrade durchführen möchten.

Upgrade für Ihre Umgebung durchführen

So führen Sie ein Upgrade Ihrer Umgebung auf eine neuere Version von Cloud Composer oder 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 nach Bildversion und klicken Sie auf Upgrade.

  5. Wählen Sie im Drop-down-Menü Image-Version eine Version aus.

  6. Klicken Sie auf Upgrade.

gcloud

gcloud beta composer environments update \
  ENVIRONMENT_NAME \
  --location LOCATION \
  --image-version COMPOSER_IMAGE

Ersetzen Sie:

  • ENVIRONMENT_NAME durch den Namen der Umgebung.
  • LOCATION durch die Region, in der sich die Umgebung befindet.
  • COMPOSER_IMAGE durch die neue Cloud Composer-Image-Version, auf die Sie ein Upgrade ausführen möchten, im Format composer-a.b.c-airflow-x.y.z.

Beispiel:

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

API

  1. Erstellen Sie eine Beta-API-Anfrage vom Typ 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 Cloud Composer-Image-Version für das Upgrade im Format composer-a.b.c-airflow-x.y.z an.

Beispiel:

// PATCH https://composer.googleapis.com/v1beta1/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

Mit dem Feld image_version im Block config.software_config wird das Cloud Composer-Image Ihrer Umgebung gesteuert. Geben Sie in diesem Feld ein neues Cloud Composer-Image an.

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

  config {
    software_config {
      image_version = "COMPOSER_IMAGE"
    }
  }
}

Ersetzen Sie:

  • ENVIRONMENT_NAME durch den Namen der Umgebung.
  • LOCATION durch die Region, in der sich die Umgebung befindet.
  • COMPOSER_IMAGE durch die neue Cloud Composer-Image-Version, auf die Sie ein Upgrade ausführen möchten, im Format composer-a.b.c-airflow-x.y.z.

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