Managed Airflow (Gen 3) | Managed Airflow (Gen 2) | Managed Airflow (Legacy Gen 1)
Auf dieser Seite finden Sie Informationen zur Fehlerbehebung bei Problemen, die beim Erstellen von Managed Airflow-Umgebungen auftreten können.
Informationen zur Fehlerbehebung im Zusammenhang mit dem Aktualisieren und Upgraden von Umgebungen, siehe Fehlerbehebung bei Umgebungsupdates und -upgrades.
Wenn Managed Airflow-Umgebungen erstellt werden, treten die meisten Probleme aus den folgenden Gründen auf:
Probleme mit Dienstkontoberechtigungen.
Inkorrekte 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 Managed Airflow 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 Managed Airflow (Gen 2) darauf, dass dem Dienstkonto Cloud Composer Service Agent (
service-PROJECT_NUMBER@cloudcomposer-accounts.iam.gserviceaccount.com) die Rolle Cloud Composer v2 API Service Agent Extension zugewiesen ist.Achten Sie darauf, dass dem Google APIs-Dienst-Agent (
PROJECT_NUMBER@cloudservices.gserviceaccount.com) die Rolle Bearbeiter zugewiesen ist.Folgen Sie bei der Konfiguration einer freigegebene VPC der Anleitung unter Gemeinsam genutzte VPC konfigurieren.
Das Dienstkonto der Umgebung hat nicht die erforderlichen Berechtigungen
Beim Erstellen einer Managed Airflow-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 Managed Airflow 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 die Erstellung einer Umgebung fehlschlägt, generiert Managed Airflow nach einem Fehler die
folgende Warnmeldung:
The issue may be caused by missing IAM roles in the following Service Accounts
....
Diese Warnmeldung weist auf mögliche Ursachen für den Fehler hin. Managed Airflow prüft, ob die erforderlichen Rollen für die Dienstkonten in Ihrem Projekt vorhanden sind. 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 Managed Airflow finden Sie unter Zugriffssteuerung.
In einigen Fällen können Sie diese Warnung ignorieren. Managed Airflow prüft nicht die 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
Beim Erstellen der Managed Airflow-Umgebung können Sie ein VPC-Netzwerk und ein Subnetz angeben. Wenn Sie kein VPC-Netzwerk angeben, wählt der Managed Airflow-Dienst die default-VPC und das default-Subnetz für die Region und Zone der Umgebung aus.
Wenn das angegebene VPC-Netzwerk und -Subnetz nicht vorhanden sind, gibt Managed Airflow 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 Managed Airflow (Gen 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.
Fehlerhafte Netzwerkkonfiguration
Für die Erstellung von Managed Service for Apache Airflow-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 Managed Service for Apache Airflow-Umgebungen im Modus „freigegebene VPC“ konfigurieren, dann folgen Sie auch der Anleitung für gemeinsam genutzte VPCs.
Eine Managed Service for Apache Airflow-Umgebung verwendet ein Subnetz für Clusterknoten und IP-Bereiche für Pods und Dienste. Folgen Sie dieser Anleitung, um Firewallregeln zu konfigurieren, damit die Kommunikation mit diesen und anderen IP-Bereichen möglich ist:
Sie können auch in Cloud Logging nach Logeinträgen in den ausgewählten GCE Networking und
Subnetwork Konfigurationskategorien suchen, um zu prüfen, ob bei der Erstellung der Umgebung
Fehler aufgetreten sind:
Cloud Logging
Kontingentprobleme beim Erstellen von Umgebungen in großen Netzwerken aufgetaucht
Beim Erstellen von Managed Service for Apache Airflow-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 Managed Airflow (Gen 2) können Sie Umgebungen erstellen, die Private Service Connect anstelle von VPC Netzwerken verwenden.
- Wenden Sie in Managed Airflow (Legacy Gen 1) den für Managed Airflow in großen Netzwerken empfohlenen Ansatz an.
Inkompatible Organisationsrichtlinien
Die folgenden Richtlinien müssen entsprechend konfiguriert werden, damit Managed Airflow-Umgebungen erfolgreich erstellt werden können.
| Organisationsrichtlinie | Managed Airflow (Gen 3) | Managed Airflow (Gen 2) | Managed Airflow (Legacy Gen 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 Managed Airflow-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 können für private und öffentliche IP-Umgebungen nicht ausgeschlossen werden. Hat keine Auswirkungen auf vorhandene Umgebungen. Sie können auch dann verwendet werden, wenn diese Richtlinie aktiviert ist. | SERVICE_PRODUCERS können für private IP-Umgebungen nicht ausgeschlossen werden. Hat keine Auswirkungen auf vorhandene Umgebungen. Sie können auch dann verwendet werden, wenn diese Richtlinie aktiviert ist. |
compute.restrictPrivateServiceConnectProducer |
Wenn aktiv, Zulassungsliste für die Organisation google.com |
Wenn aktiv, Zulassungsliste für die Organisation google.com |
(Jeder Wert ist zulässig) |
Inkompatible Principal Access Boundary-Richtlinien
Principal Access Boundary-Richtlinien, die in Ihrer Organisation konfiguriert sind, können so konfiguriert werden, dass einige Vorgänge Ihrer Umgebung blockiert oder die Erstellung neuer Umgebungen verhindert wird.
In diesem Fall wird in den Fehlermeldungen möglicherweise die folgende Zeile angezeigt:
Operations on resource are denied due to an IAM Principal Access Boundary Policy.
Die Komponenten Ihrer Umgebung befinden sich in einem Mandanten- und einem Kundenprojekt. Das Mandantenprojekt wird von Google verwaltet und gehört nicht zu der Organisation, in der sich die Umgebung befindet. Das Dienstkonto Ihrer Umgebung muss Berechtigungen haben, um Vorgänge im Mandantenprojekt auszuführen.
Lösung:
- Fügen Sie der Bindung der Richtlinie einen Bedingungsausdruck hinzu, um das Dienstkonto der Umgebung aus der Richtlinie auszuschließen. Ein Beispiel dafür, wie Sie ein Hauptkonto ausschließen, damit die Richtlinie nicht darauf angewendet wird, finden Sie in der Identity and Access Management-Dokumentation unter Bedingte Richtlinienbindungen für Principal Access Boundary-Richtlinien.
Einschränken der in einer Organisation oder einem Projekt verwendeten Dienste
Organisations- oder Projektadministratoren können einschränken, welche Google-Dienste in ihren Projekten verwendet werden können
mit der
gcp.restrictServiceUsage
Einschränkung für Organisationsrichtlinien.
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 Build-Umgebungsimages erstellen
Gilt für: Managed Airflow (Gen 2) und Managed Airflow (Legacy Gen 1).
Wenn das Cloud Build-Dienstkonto (PROJECT_NUMBER@cloudbuild.gserviceaccount.com) nicht die Rolle Cloud Build-Dienstkonto (roles/cloudbuild.builds.builder) in Ihrem Projekt hat, können Versuche, eine Umgebung zu erstellen oder zu aktualisieren, mit Berechtigungsfehlern fehlschlagen.
In den Cloud Build-Logs wird beispielsweise die
denied: Permission "artifactregistry.repositories.uploadArtifacts" denied
Meldung gefolgt von ERROR: failed to push because we ran out of retries in
angezeigt.
Achten Sie darauf, dass das Cloud Build-Dienstkonto die Rolle Cloud Build-Dienstkonto hat, um dieses Problem zu beheben.