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.

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 Cloud Composer-Funktionen und ändern weder die Funktionsweise von Airflow noch die Ausführung Ihrer Airflow-DAGs.
  • Cloud Composer führt kein automatisches Upgrade der Airflow-Version durch Airflow-Komponenten oder Komponenten mit engem Bezug zu Airflow Arbeitsbelastungen. Sie werden nicht geändert, wenn die Infrastrukturkomponenten aktualisiert werden. automatisch.
  • Sie können manuelles Upgrade auf eine neue Airflow-Version oder einen neuen Airflow-Build ausführen.

Sie können beispielsweise dieselbe Version und denselben Build von Airflow 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 sich später dazu entschließen, zu einer neuen Version oder einem neuen Build von Airflow zu wechseln, führen Sie ein Upgrade der Airflow-Version in Ihrer Umgebung durch.

Informationen zum Airflow-Versionsupgrade

In Ihrer Umgebung wird die Version oder der Build von Airflow so geändert:

  • Sie steuern die Airflow-Version (und den Build) Ihrer Umgebung. Sie können das Airflow-Versionsupgrade ausfü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 der Umgebung noch einmal bereit mit der angegebenen Airflow-Version und dem angegebenen Build.

  • Cloud Composer wendet Airflow-Konfigurationsänderungen an, z. B. benutzerdefinierte PyPI-Pakete oder Airflow-Konfigurationsoptionen überschreiben, vor dem Upgrade verfügbar waren.

  • Cloud Composer aktualisiert die Airflow-airflow_db-Verbindung, damit 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 herstellen in Ihrer Umgebung, z. B. die URL des Buckets Ihrer Umgebung, oder Airflow-Webserver.

Automatische Infrastrukturupgrades

Cloud Composer wird regelmäßig ausgeführt automatischen Infrastrukturupgrades:

  • Automatische Infrastruktur-Upgrades werden in regelmäßigen Abständen während der für die Umgebung angegebenen Wartungsfenster ausgeführt.

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

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

  • In einigen Fällen kann Airflow durch automatische Infrastrukturupgrades neu gestartet werden Komponenten. Bei solchen Neustarts werden Airflow-Worker mit einer Kulanzzeitraum von 24 Stunden ordnungsgemäß beendet. Wenn Aufgaben mehr als 24 Stunden in Anspruch nehmen, sollten Sie zurückstellbare Operatoren verwenden. Ein Upgrade kann dazu führen, dass die Infrastrukturkomponenten der Umgebung, z. B. die Umgebungsüberwachung, für kurze Zeit nicht verfügbar sind.

Einschränkungen bei Upgrade-Vorgängen

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

  • 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 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 der Datenbankgröße.

  • Wenn Sie den XCom-Mechanismus zum Übertragen von Dateien verwenden, müssen Sie entsprechend 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 und kann zu Fehlern beim Laden führen oder ein Upgrade Ihrer Umgebung durchführen. Für die Übertragung großer Datenmengen können Sie Alternativen wie Cloud Storage verwenden.

Hinweis

  • Wir empfehlen, einen neuen Snapshot der Umgebung zu erstellen, damit Sie sie 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.

Umgebung auf dem neuesten Stand prüfen

Cloud Composer zeigt Warnungen an, wenn das Ende des Supportzeitraums für den Airflow-Build Ihrer Umgebung bevorsteht. Mit diesen Warnungen können Sie unterstützt.

Auf der Seite mit den Umgebungsdetails wird eine Einstellungsmitteilung angezeigt.
Abbildung 1: Auf der Seite mit den Umgebungsdetails wird eine entsprechende Meldung angezeigt.

Cloud Composer verfolgt die Airflow-Version und -Build auf der Ihre Umgebung basiert. Wenn sich das Enddatum des Supports 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 nicht über die Google Cloud CLI verfügbar. Sie können Sehen Sie sich stattdessen die verfügbaren Upgrades an, die die neuen Versionen enthalten. die verfügbar sind.

API

Diese Funktion ist nicht über die API verfügbar. Sie können stattdessen Verfügbare Upgrades aufrufen auswählen. Dort werden neue Versionen angezeigt, die verfügbar sind.

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 Upgrade für Image-Version durchführen.

  4. Klicken Sie auf das Drop-down-Menü Image-Version für Cloud Composer, um eine 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 API-Anfrage vom Typ 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 dem neuen Airflow-Build in Konflikt stehen.

Eine erfolgreiche Prüfung bedeutet, dass keine Konflikte im PyPI-Paket vorliegen. Abhängigkeiten zwischen der aktuellen und der angegebenen Version. Eine ist möglicherweise aus anderen Gründen trotzdem nicht erfolgreich.

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. Gehen Sie im Dialogfeld Upgrade der Umgebungsversion in Drop-down-Menü Neue Version die Option eine Airflow-Version oder einen Airflow-Build auf das Sie umstellen 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 den Befehl environments check-upgrade mit dem Befehl Airflow-Version oder -Build. auf das Sie umstellen 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 das Upgrade ausführen möchten, im airflow-x.y.z-build.t-Format. Sie können auch alle Versionenaliasse verwenden.

Beispiel:

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

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.9.1-build.8. 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 composer-3-airflow-x.y.z-build.t-Format.

Umgebung upgraden

So führen Sie ein Upgrade Ihrer Umgebung durch: auf eine neue Version oder einen neuen Build von 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 (Image-Version) die Airflow-Version oder den Build aus, auf die bzw. den Sie upgraden möchten.

  6. Klicken Sie auf Upgrade.

gcloud

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

Ersetzen Sie:

Beispiel:

gcloud composer environments update
  example-environment \
  --location us-central1 \
  --airflow-version airflow-2.9.1-build.8

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 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.9.1-build.8"
      }
    }
  }

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

Beispiel:

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

  config {
    software_config {
      image_version = "airflow-2.9.1-build.8"
    }
  }
}

Nächste Schritte