Fehlerbehebung bei Umgebungsupdates und ‑upgrades

Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1

Auf dieser Seite finden Sie Informationen zur Fehlerbehebung bei Problemen, die beim Aktualisieren oder Upgraden von Cloud Composer-Umgebungen auftreten können.

Informationen zur Fehlerbehebung beim Erstellen von Umgebungen finden Sie unter Fehlerbehebung bei der Erstellung von Umgebungen.

Wenn Cloud Composer-Umgebungen aktualisiert werden, treten die meisten Probleme aus den folgenden Gründen auf:

  • Probleme mit Dienstkontoberechtigungen
  • Probleme mit der PyPI-Abhängigkeit
  • Größe der Airflow-Datenbank

Unzureichende Berechtigungen zum Aktualisieren oder Upgraden einer Umgebung

Wenn Cloud Composer eine Umgebung aufgrund unzureichender Berechtigungen nicht aktualisieren oder upgraden kann, wird die folgende Fehlermeldung ausgegeben:

ERROR: (gcloud.composer.environments.update) PERMISSION_DENIED: The caller does not have permission

Lösung: Weisen Sie Ihrem Konto und dem Dienstkonto Ihrer Umgebung Rollen zu, wie unter Zugriffssteuerung beschrieben.

Das Dienstkonto der Umgebung hat nicht die erforderlichen Berechtigungen

Beim Erstellen einer Cloud Composer-Umgebung geben Sie ein Dienstkonto an, das die meisten Vorgänge der Umgebung ausführt. Wenn dieses Dienstkonto nicht genügend Berechtigungen für den angeforderten Vorgang hat, gibt Cloud Composer einen Fehler aus:

    UPDATE operation on this environment failed 3 minutes ago with the
    following error message:
    Composer Backend timed out. Currently running tasks are [stage:
    CP_COMPOSER_AGENT_RUNNING
    description: "No agent response published."
    response_timestamp {
      seconds: 1618203503
      nanos: 291000000
    }
    ].

Lösung: Weisen Sie Ihrem Google-Konto und dem Dienstkonto Ihrer Umgebung Rollen zu, wie unter Zugriffssteuerung beschrieben.

Die Airflow-Datenbank ist zu groß für den Vorgang durchzuführen

Ein Upgrade-Vorgang ist möglicherweise nicht erfolgreich, da die Größe der Airflow-Datenbank für einen erfolgreichen Upgrade zu groß ist.

Wenn die Größe der Airflow-Datenbank mehr als 16 GB beträgt, gibt Cloud Composer den folgenden Fehler aus:

Airflow database uses more than 16 GB. Please clean the database before upgrading.

Lösung: Führen Sie eine Airflow-Datenbankbereinigung durch, wie unter Airflow-Datenbank bereinigen beschrieben.

Ein Upgrade auf eine neue Cloud Composer-Version schlägt aufgrund von PyPI-Paketkonflikten fehl

Wenn Sie eine Umgebung mit installierten benutzerdefinierten PyPI-Paketen aktualisieren, können Fehler im Zusammenhang mit PyPI-Paketkonflikten auftreten. Dies kann daran liegen, dass das neue Cloud Composer-Image neuere Versionen vorinstallierter Pakete enthält. Dies kann zu Abhängigkeitskonflikten mit PyPI-Paketen führen, die Sie in Ihrer Umgebung installiert haben.

Lösung:

  • Führen Sie eine Upgradeprüfung durch, um detaillierte Informationen zu Paketkonflikten zu erhalten.
  • Lockern Sie Versionseinschränkungen für installierte benutzerdefinierte PyPI-Pakete. Geben Sie für eine Version statt ==1.0.1 die Option >=1.0.1 ein.
  • Weitere Informationen zum Ändern von Versionsanforderungen, um in Konflikt stehende Abhängigkeiten zu beheben, finden Sie in der pip-Dokumentation.

Es ist nicht möglich, eine Umgebung auf eine Version zu aktualisieren, die noch unterstützt wird.

Cloud Composer-Umgebungen können nur auf mehrere aktuelle und frühere Versionen aktualisiert werden.

Die Versionsbeschränkungen für das Erstellen neuer Umgebungen und das Upgraden vorhandener Umgebungen sind unterschiedlich. Die Cloud Composer-Version, die Sie beim Erstellen einer neuen Umgebung auswählen, ist möglicherweise nicht verfügbar, wenn Sie vorhandene Umgebungen aktualisieren.

Sie können das Upgrade mit der Google Cloud CLI, der API oder Terraform durchführen. In der Google Cloud -Konsole sind nur die neuesten Versionen als Upgrade-Optionen verfügbar.

Umgebung ist nicht fehlerfrei (Aktivitätsprüfung fehlgeschlagen)

Eine Umgebung kann nur aktualisiert werden, wenn ihr Status als fehlerfrei gemeldet wird.

Eine der häufigsten Ursachen für den Status „Nicht fehlerfrei“ ist, wenn die Komponenten der Umgebung sich den konfigurierten Ressourcenlimits nähern und ständig unter maximaler Last arbeiten. Da einige Umgebungskomponenten ihren Status nicht melden können, wird im DAG für den Liveness-Check der Status der Umgebung als „nicht fehlerfrei“ gemeldet.

Um dieses Problem zu beheben, empfehlen wir, die Ressourcenlimits zu erhöhen. Wir empfehlen zwar, die Grenzwerte in Ihrer Umgebung jederzeit im Blick zu behalten, Sie können dies aber auch nur für den Zeitraum tun, in dem Ihre Umgebung aktualisiert wird.

Fehlende Verbindung zum DNS kann Probleme bei Upgrades oder Updates verursachen

Solche Verbindungsprobleme können zu Logeinträgen wie diesem führen:

WARNING - Compute Engine Metadata server unavailable attempt 1 of 5. Reason: [Errno -3] Temporary failure in name resolution Error

Das bedeutet in der Regel, dass es keinen Pfad zu DNS gibt. Achten Sie also darauf, dass der DNS-Name „metadata.google.internal“ innerhalb von Cluster-, Pod- und Dienstnetzwerken in eine IP-Adresse aufgelöst werden kann. Prüfen Sie, ob der privater Google-Zugriff in der VPC (im Host- oder Dienstprojekt) aktiviert ist, in der Ihre Umgebung erstellt wurde.

Nächste Schritte