Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
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 und Upgraden von Umgebungen finden Sie unter Fehlerbehebung bei Umgebungsupdates und -upgrades.
Wenn Cloud Composer-Umgebungen erstellt werden, treten die meisten Probleme aus den folgenden Gründen auf:
Probleme mit Dienstkontoberechtigungen
Falsche Firewall-, DNS- oder Routinginformationen.
Netzwerkbezogene Probleme. Beispiel: Ungültige VPC-Konfiguration, IP-Adresskonflikte oder zu enge 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 die Cloud Composer v2 API zugewiesen ist.Dem Google APIs-Dienst-Agent (
PROJECT_NUMBER@cloudservices.gserviceaccount.com
) muss die Rolle Bearbeiter zugewiesen sein.Folgen Sie in der Konfiguration der freigegebenen 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 genügend 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, generiert Cloud Composer nach einem Fehler die folgende Warnmeldung:The issue may be caused by missing IAM roles in the following Service Accounts
...
.
In dieser Warnmeldung werden mögliche Ursachen für den Fehler aufgeführt. Cloud Composer prüft die Dienstkonten in Ihrem Projekt auf erforderliche Rollen. Wenn diese Rollen nicht vorhanden sind, wird diese Warnung ausgegeben.
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. In Cloud Composer werden keine einzelnen Berechtigungen geprüft, 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
Beim Erstellen der Cloud Composer-Umgebung können Sie ein VPC-Netzwerk und ein Subnetz 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 -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 Private Service Connect anstelle von VPC-Netzwerken 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
Für das Erstellen von Cloud Composer-Umgebungen ist eine korrekte Netzwerk- oder DNS-Konfiguration erforderlich. Folgen Sie dieser Anleitung, um die Verbindung zu Google APIs und ‑Diensten zu konfigurieren:
Wenn Sie Cloud Composer-Umgebungen im Modus „Freigegebene VPC“ konfigurieren, folgen Sie auch der Anleitung für freigegebene VPCs.
In einer Cloud Composer-Umgebung wird ein Subnetz für Clusterknoten und IP-Bereiche für Pods und Dienste verwendet. Wenn Sie die Kommunikation mit diesen und anderen IP-Bereichen ermöglichen möchten, konfigurieren Sie die Firewallregeln folgendermaßen:
Sie können auch in Cloud Logging nach Protokolleinträgen in ausgewählten GCE Networking
- und Subnetwork
-Konfigurationskategorien suchen, um zu sehen, ob bei der Umgebungserstellung 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:
- In Cloud Composer 2 können Sie Umgebungen erstellen, die Private Service Connect anstelle von VPC-Netzwerken verwenden.
- Wenden Sie in Cloud Composer 1 den für Cloud Composer in großen Netzwerken empfohlenen Ansatz an.
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 zugelassen werden (erforderlich für Cloud Composer-eigene GKE-Cluster), wenn der VPC-native Modus (unter Verwendung von 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) | SERVICE_PRODUCERS kann nicht für Umgebungen mit privaten und öffentlichen IP-Adressen deaktiviert werden. Hat keine Auswirkungen auf vorhandene Umgebungen, die auch bei aktivierter Richtlinie funktionieren. | SERVICE_PRODUCERS kann für Umgebungen mit privater IP nicht abgelehnt werden. Hat keine Auswirkungen auf vorhandene Umgebungen, die auch bei aktivierter Richtlinie funktionieren. |
compute.restrictPrivateServiceConnectProducer |
Fügen Sie die Organisation google.com der Zulassungsliste hinzu, wenn sie aktiv ist. |
Fügen Sie die Organisation google.com der Zulassungsliste hinzu, wenn sie aktiv ist. |
(Jeder Wert ist zulässig) |
Weitere Informationen finden Sie auf der Seite Bekannte Probleme und Einschränkungen für Organisationsrichtlinien.
Dienste einschränken, die innerhalb einer Organisation oder eines Projekts verwendet werden
Organisations- oder Projektadministratoren können mithilfe der Einschränkung gcp.restrictServiceUsage
für die Organisationsrichtlinie einschränken, welche Google-Dienste in ihren Projekten verwendet werden dürfen.
Wenn Sie diese Organisationsrichtlinie verwenden, müssen Sie alle für Cloud Composer erforderlichen Dienste zulassen.
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, können Versuche zum Erstellen oder Aktualisieren einer Umgebung aufgrund von Berechtigungsfehlern fehlschlagen.
In den Cloud Build-Logs wird beispielsweise die Meldung denied: Permission "artifactregistry.repositories.uploadArtifacts" denied
gefolgt von ERROR: failed to push because we ran out of retries
angezeigt.
Um dieses Problem zu beheben, muss das Cloud Build-Dienstkonto die Rolle Cloud Build-Dienstkonto haben.