Fehlerbehebung beim Erstellen der Umgebung

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

Diese Seite enthält Informationen zur Fehlerbehebung bei Problemen, die beim Erstellen von Cloud Composer-Umgebungen auftreten können.

Informationen zur Fehlerbehebung im Zusammenhang mit dem Aktualisieren von Umgebungen finden Sie unter Fehlerbehebung bei Umgebungsupdates und ‐upgrades.

Beim Erstellen von Cloud Composer-Umgebungen treten die meisten Probleme aus folgenden Gründen auf:

  • Probleme mit Dienstkontoberechtigungen.

  • Falsche Firewall-, DNS- oder Routinginformationen

  • Netzwerkbezogene Probleme. z. B. ungültige VPC-Konfiguration, IP-Adresskonflikte oder zu schmale Netzwerk-IP-Bereiche.

  • Kontingentbezogene Probleme.

  • Inkompatible Organisationsrichtlinien.

Unzureichende Berechtigungen zum Erstellen einer Umgebung

Wenn Cloud Composer keine Umgebung erstellen kann, da Ihr Konto unzureichende Berechtigungen hat, werden die folgenden Fehlermeldungen ausgegeben:

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

oder

ERROR: (gcloud.composer.environments.create) PERMISSION_DENIED: User not
authorized to act as service account <service-account-name>.
The user must be granted iam.serviceAccounts.actAs permission, included in
Owner, Editor, Service Account User role. See https://cloud.google.com/iam/docs
/understanding-service-accounts for additional details.

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

  • Achten Sie in Cloud Composer 2 darauf, dass dem Dienstkonto Cloud Composer-Dienst-Agent (service-PROJECT_NUMBER@cloudcomposer-accounts.iam.gserviceaccount.com) die Rolle Dienst-Agent-Erweiterung für Cloud Composer v2 API zugewiesen ist.

  • Achten Sie darauf, dass dem Google APIs-Dienst-Agent (PROJECT_NUMBER@cloudservices.gserviceaccount.com) die Rolle Bearbeiter zugewiesen ist.

  • Folgen Sie in der Konfiguration der freigegebene VPC der Anleitung zum Konfigurieren einer freigegebenen VPC.

Das Dienstkonto der Umgebung hat nicht die erforderlichen Berechtigungen

Beim Erstellen einer Cloud Composer-Umgebung geben Sie ein Dienstkonto an, das die GKE-Clusterknoten der Umgebung ausführt. Wenn dieses Dienstkonto nicht die erforderlichen Berechtigungen für den angeforderten Vorgang hat, gibt Cloud Composer den folgenden Fehler aus:

Errors in: [Web server]; Error messages:
  Creation of airflow web server version failed. This may be an intermittent
  issue of the App Engine service. You may retry the operation later.
{"ResourceType":"appengine.v1.version","ResourceErrorCode":"504","ResourceError
Message":"Your deployment has failed to become healthy in the allotted time
and therefore was rolled back. If you believe this was an error, try adjusting
the 'app_start_timeout_sec' setting in the 'readiness_check' section."}

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

Warnungen zu fehlenden IAM-Rollen in Dienstkonten

Wenn das Erstellen einer Umgebung fehlschlägt, gibt Cloud Composer nach einem Fehler die folgende Warnmeldung aus: The issue may be caused by missing IAM roles in the following Service Accounts ....

In dieser Warnmeldung werden mögliche Fehlerursachen hervorgehoben. Cloud Composer prüft die erforderlichen Rollen für die Dienstkonten in Ihrem Projekt. Wenn diese Rollen nicht vorhanden sind, wird diese Warnmeldung generiert.

Lösung: Prüfen Sie, ob die in der Warnmeldung genannten Dienstkonten die erforderlichen Rollen haben. Weitere Informationen zu Rollen und Berechtigungen in Cloud Composer finden Sie unter Zugriffssteuerung.

In einigen Fällen können Sie diese Warnung ignorieren. Cloud Composer überprüft keine einzelnen Berechtigungen, die Rollen zugewiesen sind. Wenn Sie beispielsweise benutzerdefinierte IAM-Rollen verwenden, hat das in der Warnmeldung erwähnte Dienstkonto möglicherweise bereits alle erforderlichen Berechtigungen. In diesem Fall können Sie diese Warnung ignorieren.

Für die Umgebung ausgewähltes VPC-Netzwerk ist nicht vorhanden

Sie können beim Erstellen ein VPC-Netzwerk und ein Subnetz für Ihre Cloud Composer-Umgebung angeben. Wenn Sie kein VPC-Netzwerk angeben, wählt der Cloud Composer-Dienst die VPC default und das Subnetz default für die Region und Zone der Umgebung aus.

Wenn das angegebene VPC-Netzwerk und das Subnetz nicht vorhanden sind, gibt Cloud Composer den folgenden Fehler aus:

Errors in: [GKE cluster]; Error messages:
        {"ResourceType":"gcp-types/container-v1:projects.locations.clusters","R
        esourceErrorCode":"400","ResourceErrorMessage":{"code":400,"message":"P
        roject \"<your composer project>\" has no network named \"non-existing-
        vpc\".","status":"INVALID_ARGUMENT","statusMessage":"Bad
        Request","requestPath":"https://container.googleapis.com/
        v1/projects/<your composer
        project>/locations/<zone>/clusters","httpMethod":"POST"}}

Lösung:

  • In Cloud Composer 2 können Sie Umgebungen erstellen, die anstelle von VPC-Netzwerken Private Service Connect verwenden.
  • Prüfen Sie vor dem Erstellen einer Umgebung, ob das VPC-Netzwerk und das Subnetz für Ihre neue Umgebung vorhanden sind.

Falsche Netzwerkkonfiguration

Zum Erstellen einer Cloud Composer-Umgebung ist eine ordnungsgemäße Netzwerk- oder DNS-Konfiguration erforderlich. So konfigurieren Sie die Verbindung zu Google APIs und Google-Diensten:

Wenn Sie Cloud Composer-Umgebungen im Modus für freigegebene VPC konfigurieren, folgen Sie auch der Anleitung für freigegebene VPCs.

Eine Cloud Composer-Umgebung verwendet ein Subnetz für Clusterknoten und IP-Bereiche für Pods und Dienste. Folgen Sie dieser Anleitung zum Konfigurieren von Firewallregeln, um die Kommunikation mit diesen und anderen IP-Bereichen sicherzustellen:

Sie können in Cloud Logging auch nach Logeinträgen in ausgewählten Konfigurationskategorien GCE Networking und Subnetwork suchen, um festzustellen, ob beim Erstellen der Umgebung Fehler gemeldet wurden: Cloud Logging

Kontingentprobleme beim Erstellen von Umgebungen in großen Netzwerken aufgetaucht

Beim Erstellen von Cloud Composer-Umgebungen in großen Netzwerken können die folgenden Kontingentbeschränkungen auftreten:

  • Die maximale Anzahl von VPC-Peerings pro einzelnes VPC-Netzwerk ist erreicht.
  • Die maximale Anzahl von primären und sekundären Subnetz-IP-Bereichen wurde erreicht.
  • Die maximale Anzahl von Weiterleitungsregeln in der Peering-Gruppe für das interne TCP/UDP-Load-Balancing wurde erreicht.

Lösung:

Inkompatible Organisationsrichtlinien

Die folgenden Richtlinien müssen entsprechend konfiguriert werden, damit Cloud Composer-Umgebungen erfolgreich erstellt werden können.

Unternehmensrichtlinien Cloud Composer 3 Cloud Composer 2 Cloud Composer 1
compute.disableSerialPortLogging (Jeder Wert ist zulässig) Muss deaktiviert sein Für Versionen vor 1.13.0 deaktiviert. Andernfalls jeder beliebige Wert.
compute.requireOsLogin (Jeder Wert ist zulässig) (Jeder Wert ist zulässig) Muss deaktiviert sein
compute.vmCanIpForward (Jeder Wert ist zulässig) (Jeder Wert ist zulässig) Muss zulässig sein (erforderlich für GKE-Cluster, die Cloud Composer gehören), wenn der VPC-native Modus (mit Alias-IP-Adresse) nicht konfiguriert ist
compute.vmExternalIpAccess (Jeder Wert ist zulässig) Muss für öffentliche IP-Umgebungen zugelassen werden Muss für öffentliche IP-Umgebungen zugelassen werden
compute.restrictVpcPeering Kann erzwungen werden Kann nicht erzwungen werden Kann nicht erzwungen werden
compute.disablePrivateServiceConnectCreationForConsumers (Jeder Wert ist zulässig) (Jeder Wert ist zulässig) SERVICE_PRODUCERS kann nicht abgelehnt werden, wenn Private Service Connect verwendet wird
compute.restrictPrivateServiceConnectProducer Wenn aktiv, setzen Sie die Organisation „google.com“ auf die Zulassungsliste Wenn aktiv, setzen Sie die Organisation „google.com“ auf die Zulassungsliste (Jeder Wert ist zulässig)

Weitere Informationen finden Sie auf der Seite Bekannte Probleme und unter Einschränkungen für Organisationsrichtlinien.

Innerhalb einer Organisation oder eines Projekts verwendete Dienste einschränken

Organisations- oder Projektadministratoren können mit der Einschränkung der Organisationsrichtlinie gcp.restrictServiceUsage einschränken, welche Google-Dienste in ihren Projekten verwendet werden können.

Wenn Sie diese Organisationsrichtlinie verwenden, ist es wichtig, alle für Cloud Composer erforderlichen Dienste zuzulassen.

400 Fehlermeldungen: Der Airflow-Webserver konnte nicht bereitgestellt werden.

Dieser Fehler kann dadurch verursacht werden, dass der GKE-Cluster einer privaten IP-Umgebung aufgrund sich überschneidender IP-Bereiche nicht erstellt wurde.

Lösung: Prüfen Sie die Logs auf Fehler im Cluster Ihrer Umgebung und beheben Sie das Problem basierend auf der GKE-Fehlermeldung.

Cloud Build kann keine Umgebungs-Images erstellen

Gilt für: Cloud Composer 2 und Cloud Composer 1.

Wenn das Cloud Build-Dienstkonto PROJECT_NUMBER@cloudbuild.gserviceaccount.com in Ihrem Projekt nicht die Rolle Cloud Build-Dienstkonto (roles/cloudbuild.builds.builder) hat, schlagen Versuche, eine Umgebung zu erstellen oder zu aktualisieren, möglicherweise aufgrund von Fehlern im Zusammenhang mit Berechtigungen fehl.

In den Cloud Build-Logs können Sie beispielsweise die Nachricht denied: Permission "artifactregistry.repositories.uploadArtifacts" denied gefolgt von ERROR: failed to push because we ran out of retries sehen.

Achten Sie darauf, dass das Cloud Build-Dienstkonto die Rolle Cloud Build Service Account hat, um dieses Problem zu beheben.

Nächste Schritte