Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3
Auf dieser Seite wird erläutert, wie eine Umgebung aktualisiert werden kann.
Aktualisierungsvorgänge
Wenn Sie die Parameter Ihrer Umgebung ändern, z. B. neue Skalierungs- und Leistungsparameter angeben oder benutzerdefinierte PyPI-Pakete installieren, wird Ihre Umgebung aktualisiert.
Nach Abschluss dieses Vorgangs sind Änderungen in Ihrer Umgebung verfügbar.
Für eine einzelne Cloud Composer-Umgebung können Sie jeweils nur einen Aktualisierungsvorgang starten. Sie müssen warten, bis ein Aktualisierungsvorgang abgeschlossen ist, bevor Sie einen weiteren Umgebungsvorgang starten können.
CPU-Limits für Trigger
Cloud Composer in Version 2.4.4 führt einen anderen Ansatz zur Leistungsskalierung für die Airflow-Triggerer-Komponente ein, der für alle Cloud Composer 2-Versionen gilt.
Vor Version 2.4.4 konnten Cloud Composer-Umgebungen maximal einen oder zwei Trigger verwenden. Nach der Änderung sind bis zu 10 Trigger pro Umgebung möglich, jeder Trigger ist jedoch auf maximal eine vCPU beschränkt.
Aktualisierungsvorgänge für die Umgebung schlagen fehl, wenn Ihre Umgebung mit mehr als 1 vCPU pro Trigger konfiguriert ist. Sie müssen die Konfiguration so anpassen, dass das Limit von einer vCPU erreicht wird, um Aktualisierungen anderer Komponenten vornehmen zu können.
Weitere Informationen finden Sie unter:
- Triggerer-Ressourcenzuweisung konfigurieren
- Triggeranzahl anpassen
- Fehlerbehebung beim Umgebungsupgrade – Triggerer-CPU überschritten
So wirken sich Updates auf laufende Airflow-Aufgaben aus
Wenn Sie einen Aktualisierungsvorgang ausführen, z. B. die Installation benutzerdefinierter PyPI-Pakete, werden alle Airflow-Planer und -Worker in Ihrer Umgebung neu gestartet und alle derzeit ausgeführten Aufgaben werden beendet. Nach Abschluss des Aktualisierungsvorgangs plant Airflow für diese Aufgaben einen Wiederholungsversuch, je nachdem, wie Sie Wiederholungsversuche für Ihre DAGs konfigurieren.
Mit Terraform aktualisieren
Führen Sie terraform plan
vor terraform apply
aus, um zu sehen, ob Terraform eine neue Umgebung erstellt, anstatt sie zu aktualisieren.
Hinweise
Prüfen Sie, ob Ihr Konto, das Dienstkonto Ihrer Umgebung und das Cloud Composer-Dienst-Agent-Konto in Ihrem Projekt die erforderlichen Berechtigungen haben:
Ihr Konto muss eine Rolle haben, die Vorgänge zur Aktualisierung der Umgebung auslösen kann.
Das Dienstkonto Ihrer Umgebung muss eine Rolle haben, die ausreichende Berechtigungen zum Ausführen von Aktualisierungsvorgängen hat.
Das Cloud Composer-Dienst-Agent-Konto muss Berechtigungen zum Erstellen von Bindungen zwischen dem Dienstkonto Ihrer Umgebung und dem Kubernetes-Dienstkonto des Umgebungsclusters haben.
Der Befehl
gcloud composer environments update
wird beendet, wenn der Vorgang abgeschlossen ist. Mit dem Flag--async
können Sie nicht warten, bis der Vorgang abgeschlossen ist.
Umgebungen aktualisieren
Weitere Informationen zum Aktualisieren der Umgebung finden Sie auf anderen Dokumentationsseiten zu bestimmten Aktualisierungsvorgängen. Beispiel:
- Airflow-Konfigurationsoptionen überschreiben
- Umgebungsvariablen festlegen
- Python-Abhängigkeiten installieren
- Umgebungen skalieren
- Autorisierte Netzwerke konfigurieren
- Umgebungen auf hohe Ausfallsicherheit aktualisieren
Umgebungsdetails ansehen
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.
gcloud
Führen Sie folgenden Befehl gcloud
aus:
gcloud composer environments describe ENVIRONMENT_NAME \
--location LOCATION
Ersetzen Sie:
ENVIRONMENT_NAME
durch den Namen der Umgebung.LOCATION
durch die Region, in der sich die Umgebung befindet.
API
Erstellen Sie eine API-Anfrage environments.get
.
Beispiel:
GET https://composer.googleapis.com/v1/projects/example-project/
locations/us-central1/environments/example-environment
Terraform
Führen Sie den Befehl terraform state show
für die Ressource Ihrer Umgebung aus.
Der Name der Terraform-Ressource Ihrer Umgebung kann sich vom Namen Ihrer Umgebung unterscheiden.
terraform state show google_composer_environment.RESOURCE_NAME
Ersetzen Sie:
RESOURCE_NAME
durch den Namen der Ressource Ihrer Umgebung.
Rollback für Aktualisierungsänderungen durchführen
In einigen seltenen Fällen kann ein Aktualisierungsvorgang unterbrochen werden (z. B. aufgrund einer Zeitüberschreitung) und die angeforderten Änderungen möglicherweise nicht in allen Umgebungskomponenten (z. B. im Airflow-Webserver) zurückgesetzt werden.
Bei einem Aktualisierungsvorgang können beispielsweise zusätzliche PyPI-Module installiert oder entfernt, eine neue Airflow- oder Cloud Composer-Umgebungsvariable neu definiert oder definiert oder einige Airflow-bezogene Parameter geändert werden.
Das kann vorkommen, wenn ein Aktualisierungsvorgang ausgelöst wird, während andere Vorgänge ausgeführt werden, z. B. das Autoscaling des Cloud Composer-Clusters oder ein Wartungsvorgang.
In einer solchen Situation empfiehlt es sich, den Vorgang zu wiederholen.
Dauer von Aktualisierungs- oder Upgradevorgängen
Die meisten Aktualisierungs- oder Upgradevorgänge erfordern einen Neustart von Airflow-Komponenten wie Airflow-Planern, -Workern und -Webservern.
Nachdem eine Komponente neu gestartet wurde, muss sie initialisiert werden. Während der Initialisierung laden Airflow-Planer und -Worker den Inhalt der Ordner /dags
und /plugins
aus dem Bucket der Umgebung herunter. Die Synchronisierung von Dateien mit Airflow-Planern und -Workern erfolgt nicht sofort und hängt von der Gesamtgröße und Anzahl aller Objekte in diesen Ordnern ab.
Wir empfehlen, nur DAG- und Plug-in-Dateien in den Ordnern /dags
bzw. /plugins
aufzubewahren und alle anderen Dateien zu entfernen. Zu viele Daten in den Ordnern /dags
und /plugins
können die Initialisierung von Airflow-Komponenten verlangsamen und in bestimmten Fällen dazu führen, dass sie nicht möglich ist.
Wir empfehlen, weniger als 30 MB an Daten in den Ordnern /dags
und /plugins
aufzubewahren und auf keinen Fall die Größe von 100 MB zu überschreiten.
Weitere Informationen finden Sie auch unter: