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.
Upgradevorgänge
Sie können die Managed Airflow-Version, die Airflow-Version oder beide gleichzeitig aktualisieren.
Wenn Sie die Version von Airflow oder Managed Airflow ändern, die von Ihrer Umgebung verwendet wird:
Managed Airflow stellt die Komponenten Ihrer Umgebung mit neuen Versionen von Managed Airflow-Images neu bereit.
Managed Airflow wendet Airflow-Konfigurationsänderungen wie benutzerdefinierte PyPI-Pakete oder Überschreibungen von Airflow-Konfigurationsoptionen an, wenn diese vor dem Upgrade in Ihrer Umgebung vorhanden waren.
Managed Airflow aktualisiert die Airflow-
airflow_db-Verbindung, sodass sie auf die neue Cloud SQL-Datenbank verweist.
Durch das Upgrade ä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.
Einschränkungen bei Upgrade- und Rollback-Vorgä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 eines 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) upgraden.
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 Patchversion der vorherigen Nebenversion und auf Versionen mit einem erweiterten Upgrade-Zeitplan 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:
- Aktuelle 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 Upgrade-Zeitraum:
composer-2.10.2-airflow-*,composer-2.10.1-ariflow-*,composer-2.9.7-airflow-*und andere Versionen mit einem verlängerten Upgrade-Zeitraum.
- Aktuelle Versionen:
Die Version, auf die Sie ein Upgrade ausführen, 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 CPU-Kontingent der Compute Engine API nicht überschritten wurde. Wenn der Kontingentschwellenwert erreicht wird, fordern Sie eine Kontingenterweiterung an, bevor Sie mit dem Upgrade fortfahren.
Sie können Ihre Umgebung nicht aktualisieren, wenn die Airflow-Datenbank mehr als 16 GB Daten enthält. Während eines Upgrades wird eine Warnung angezeigt, wenn die Airflow-Datenbank größer als 16 GB ist. Führen Sie in diesem Fall die Datenbankwartung aus, 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 Upgrade Ihrer Umgebung führen. Ziehen Sie Alternativen wie Cloud Storage in Betracht, 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 Vorgänge zum Upgrade der Umgebung auslösen kann. Darüber hinaus muss das Dienstkonto der Umgebung eine Rolle mit ausreichenden Berechtigungen zum Ausführen von Upgradevorgängen haben. Weitere Informationen finden Sie unter Zugriffssteuerung.
Möglicherweise sehen Sie Compute Engine-Metadateneinträge für die GKE-Cluster, die zu Umgebungen in Ihrem Projekt gehören. Während der Erstellung und Aktualisierung von GKE-Cluster fügt Google Kubernetes Engine automatisch Metadateneinträge auf Projektebene (
google_compute_project_metadata) hinzu, um die Nutzung sekundärer IP-Adressbereiche zu verfolgen. Ändern oder entfernen Sie diese Einträge nicht. Google Kubernetes Engine verwaltet sie automatisch.
Prüfen, ob die Umgebung auf dem neuesten Stand ist
Managed Airflow zeigt Warnungen an, wenn das Image Ihrer Umgebung sich dem Ende des vollständigen Supports nähert. Anhand dieser Warnungen können Sie dafür sorgen, dass Ihre Umgebung immer unterstützt wird.
Managed Airflow verfolgt die Managed Airflow-Image-Version, auf der Ihre Umgebung basiert. Wenn das Ende des Supportdatums näher rückt, 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
Rufen Sie in der Google Cloud Console die Seite Umgebungen auf.
Klicken Sie in der Liste der Umgebungen auf den Namen Ihrer Umgebung. Die Seite Umgebungsdetails wird geöffnet.
Rufen Sie den Tab Umgebungskonfiguration auf.
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 sich vorgeschlagene Upgrades ansehen, um die verfügbaren neuen Versionen zu sehen.
API
Diese Funktion ist nicht über die API verfügbar. Stattdessen können Sie sich vorgeschlagene Upgrades ansehen, um die verfügbaren neuen Versionen zu sehen.
Vorgeschlagene Upgrades ansehen
Managed Airflow bietet eine Liste von 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
Rufen Sie in der Google Cloud Console die Seite Umgebungen auf.
Klicken Sie in der Liste der Umgebungen auf den Namen Ihrer Umgebung. Die Seite Umgebungsdetails wird geöffnet.
Rufen Sie den Tab Umgebungskonfiguration auf und klicken Sie auf Image-Version aktualisieren.
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_NAMEdurch den Namen der Umgebung.LOCATIONdurch 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
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 es keine Konflikte bei den PyPI-Paketabhängigkeiten zwischen der aktuellen und der angegebenen Version gibt. Ein Upgradevorgang kann jedoch aus anderen Gründen fehlschlagen.
Console
So führen Sie eine Upgradeprüfung für Ihre Umgebung aus:
Rufen Sie in der Google Cloud Console die Seite Umgebungen auf.
Klicken Sie in der Liste der Umgebungen auf den Namen Ihrer Umgebung. Die Seite Umgebungsdetails wird geöffnet.
Wechseln Sie zum Tab Umgebungskonfiguration, suchen Sie den Eintrag Image-Version und klicken Sie auf Upgrade.
Wählen Sie im Dialogfeld Upgrade der Umgebungsversion in der Drop-down-Liste Neue Version eine Managed Airflow-Version aus, auf die Sie upgraden möchten.
Klicken Sie im Abschnitt Kompatibilität von PyPI-Paketen auf Nach Konflikten suchen.
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 der Managed Airflow-Image-Version aus, auf die Sie ein Upgrade durchführen möchten, um eine Upgrade-Prüfung für Ihre Umgebung auszuführen:
gcloud composer environments check-upgrade \
ENVIRONMENT_NAME \
--location LOCATION \
--image-version IMAGE_VERSION
Ersetzen Sie:
ENVIRONMENT_NAMEdurch den Namen der Umgebung.LOCATIONdurch die Region, in der sich die Umgebung befindet.-
IMAGE_VERSIONdurch die Managed Airflow-Image-Version, auf die Sie ein Upgrade durchführen möchten, im Formatcomposer-a.b.c-airflow-x.y.z. Sie können auch Versionsaliasse verwenden.
Beispiel:
gcloud composer environments check-upgrade example-environment \
--location us-central1 \
--image-version composer-2.17.16-airflow-2.11.1
Beispielausgabe:
Waiting for [projects/example-project/locations/us-central1/environments/
example-environment] to be checked for PyPI package conflicts when upgrading
to composer-2.17.16-airflow-2.11.1. 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": "IMAGE_VERSION"
}
Ersetzen Sie IMAGE_VERSION durch die Managed Airflow-Image-Version, auf die Sie upgraden möchten, im Format composer-a.b.c-airflow-x.y.z.
Sie können auch Versions-Aliasse verwenden.
Auf Konflikte mit Managed Airflow (Gen 3) prüfen
Es ist nicht möglich, Ihre Umgebung direkt von Managed Airflow (Gen 2) zu Managed Airflow (Gen 3) zu migrieren. Sie können jedoch mit einer Upgrade-Prüfung nach Kompatibilitätsproblemen suchen. Wir empfehlen, dies vor der Migration zu Managed Airflow (Gen 3) zu tun.
Wenn Sie die Kompatibilität mit Managed Airflow (Gen 3) prüfen möchten, führen Sie eine reguläre Upgrade-Prüfung Ihrer Managed Airflow (Gen 2)-Umgebung durch und geben Sie eine Managed Airflow (Gen 3)-Version als Ziel an.
Jeder gemeldete Konflikt kann einen der folgenden Typen haben:
BLOCKING-Konflikte melden inkompatible Umgebungskonfigurationselemente, die in Managed Airflow (Gen 3) nicht unterstützt werden. Wir empfehlen, diese Konflikte zu beheben, bevor Sie mit der Migration zu Managed Airflow (Gen 3) beginnen.NON_BLOCKING-Konflikte melden Umgebungskonfigurationselemente, die sich in Managed Airflow (Gen 3) unterscheiden und zu unerwartetem Verhalten führen können. Beispielsweise werden Änderungen der Standardwerte wie Standardwartungsfenster als nicht blockierende Konflikte gemeldet. Wir empfehlen, vor Beginn der Migration zu prüfen, ob diese Konflikte Probleme verursachen können.Im Rahmen dieser Prüfung werden auch PyPI-Paketkonflikte gemeldet. Sie werden separat von den Konfigurationskonflikten gemeldet, genau wie bei einer regulären Kompatibilitätsprüfung für PyPI-Pakete.
Console
Wenn Sie die Kompatibilität mit Managed Airflow (Version 3) prüfen möchten, verwenden Sie die gcloud CLI oder die Cloud Composer API. DieGoogle Cloud Console unterstützt nur Prüfungen auf PyPI-Paketkompatibilität.
gcloud
Wenn Sie die Kompatibilität mit Managed Airflow (Gen 3) prüfen möchten, führen Sie den Befehl environments check-upgrade aus und geben Sie eine Managed Airflow (Gen 3)-Version als Ziel an.
gcloud composer environments check-upgrade \
ENVIRONMENT_NAME \
--location LOCATION \
--image-version COMPOSER_3_IMAGE_VERSION
Ersetzen Sie:
ENVIRONMENT_NAMEdurch den Namen der Umgebung.LOCATIONdurch die Region, in der sich die Umgebung befindet.COMPOSER_3_IMAGE_VERSIONdurch die Image-Version von Managed Airflow (Gen 3) im Formatcomposer-3-airflow-x.y.z-build.t. Sie können auch Versions-Aliasse für Managed Airflow (Gen 3) verwenden.
Beispiel:
gcloud composer environments check-upgrade example-environment \
--location us-central1 \
--image-version composer-3-airflow-2
Beispiele für Konfliktmeldungen:
...
- message: Error validating property [core]unit_test_mode. Overriding [core]
unit_test_mode is not permitted.
type: BLOCKING
- message: Environment variables [GOOGLE_CLOUD_PROJECT] may not be overridden.
type: BLOCKING
- message: You have to specify Worker CPUs to be 0.5, 1.0 or multiples of 2.0.
type: BLOCKING
- message: The environment uses a default maintenance window, which is
different in Composer 2 and Composer 3. Unless set to a custom value, the
maintenance window will be changed to a new default after the upgrade.
type: NON_BLOCKING
...
Alternativ können Sie diese Prü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_3_IMAGE_VERSION"
}
Ersetzen Sie COMPOSER_3_IMAGE_VERSION durch die Ziel-Image-Version von Managed Airflow (Gen 3) im Format composer-3-airflow-x.y.z-build.t. Sie können auch Versions-Aliasse für Managed Airflow (Gen 3) verwenden.
Upgrade der Umgebung durchführen
So aktualisieren Sie Ihre Umgebung auf eine neuere Version von Managed Airflow oder Airflow:
Console
Rufen Sie in der Google Cloud Console die Seite Umgebungen auf.
Klicken Sie in der Liste der Umgebungen auf den Namen Ihrer Umgebung. Die Seite Umgebungsdetails wird geöffnet.
Rufen Sie den Tab Umgebungskonfiguration auf.
Suchen Sie das Element Image-Version und klicken Sie auf Upgrade.
Wählen Sie im Drop-down-Menü Image-Version die Managed Airflow-Version aus, auf die Sie ein Upgrade ausführen möchten.
Klicken Sie auf Upgrade.
gcloud
gcloud composer environments update \
ENVIRONMENT_NAME \
--location LOCATION \
--image-version IMAGE_VERSION
Ersetzen Sie:
ENVIRONMENT_NAMEdurch den Namen der Umgebung.LOCATIONdurch die Region, in der sich die Umgebung befindet.-
IMAGE_VERSIONdurch die Managed Airflow-Image-Version, auf die Sie ein Upgrade durchführen möchten, im Formatcomposer-a.b.c-airflow-x.y.z. Sie können auch Versionsaliasse verwenden.
Beispiel:
gcloud composer environments update \
example-environment \
--location us-central1 \
--image-version composer-2.17.16-airflow-2.11.1
API
Erstellen Sie eine API-Anfrage
environments.patch.In dieser Anfrage:
Geben Sie im Parameter
updateMaskdie Maskeconfig.softwareConfig.imageVersionan.Geben Sie im Anfragetext im Feld
imageVersioneine 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-2.17.16-airflow-2.11.1"
}
}
}
Terraform
Das Feld image_version im Block config.software_config steuert die Managed Airflow-Image-Version Ihrer Umgebung. Geben Sie in diesem Feld eine neue Managed Airflow-Image-Version im Format composer-a.b.c-airflow-x.y.z an.
resource "google_composer_environment" "example" {
provider = google-beta
name = "ENVIRONMENT_NAME"
region = "LOCATION"
config {
software_config {
image_version = "IMAGE_VERSION"
}
}
}
Ersetzen Sie:
ENVIRONMENT_NAMEdurch den Namen der Umgebung.LOCATIONdurch die Region, in der sich die Umgebung befindet.IMAGE_VERSIONdurch die Managed Airflow-Image-Version, auf die Sie ein Upgrade durchführen möchten, im Formatcomposer-a.b.c-airflow-x.y.z. Sie können auch alle Versions-Aliasse verwenden.
Beispiel:
resource "google_composer_environment" "example" {
provider = google-beta
name = "example-environment"
region = "us-central1"
config {
software_config {
image_version = "composer-2.17.16-airflow-2.11.1"
}
}
}
Nächste Schritte
- Fehlerbehebung bei Updates und Upgrades
- Liste der Versionen
- Managed Airflow-Versionsverwaltung
- Umgebungen aktualisieren