Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3
Cette page fournit des informations de dépannage pour les problèmes que vous pouvez rencontrer lors de la création d'environnements Cloud Composer.
Pour obtenir des informations de dépannage liées à la mise à jour et à la mise à niveau des environnements, voir Résoudre les problèmes liés aux mises à jour et aux mises à niveau d'environnement
Une fois les environnements Cloud Composer créés, la majorité des des problèmes surviennent pour les raisons suivantes:
Problèmes d'autorisation de compte de service.
Informations de routage, de pare-feu ou DNS incorrectes
Problèmes réseau. Par exemple, une configuration VPC non valide, des conflits d'adresses IP ou des plages d'adresses IP réseau trop restrictives.
Problèmes liés aux quotas.
Règles d'administration incompatibles.
Autorisations insuffisantes pour créer un environnement
Si Cloud Composer ne peut pas créer d'environnement car votre compte ne dispose pas des autorisations nécessaires, les messages d'erreur suivants s'affichent :
ERROR: (gcloud.composer.environments.create) PERMISSION_DENIED: The caller
does not have permission
ou
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.
Solution: Attribuez des rôles à votre compte et au compte de service. de votre environnement, comme décrit dans la section Contrôle des accès.
Dans Cloud Composer 2, assurez-vous que le rôle Extension de l'agent de service de l'API Cloud Composer v2 est attribué au compte de service Agent de service Cloud Composer (
service-PROJECT_NUMBER@cloudcomposer-accounts.iam.gserviceaccount.com
).Assurez-vous que le rôle Éditeur est attribué à l'agent de service des API Google (
PROJECT_NUMBER@cloudservices.gserviceaccount.com
).Dans la configuration du VPC partagé, procédez comme suit : Instructions pour configurer un VPC partagé
Le compte de service de l'environnement ne dispose pas des autorisations nécessaires
Lorsque vous créez un environnement Cloud Composer, vous spécifiez un compte de service qui exécute les nœuds du cluster GKE de l'environnement. Si cette ne dispose pas des autorisations suffisantes pour effectuer l'opération demandée, Cloud Composer génère l'erreur suivante:
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."}
Solution: Attribuez des rôles à votre compte et au compte de service. de votre environnement, comme décrit dans la section Contrôle des accès.
Avertissements concernant les rôles IAM manquants dans les comptes de service
En cas d'échec de la création d'un environnement, Cloud Composer génère le
message d'avertissement suivant en cas d'erreur:
The issue may be caused by missing IAM roles in the following Service Accounts
...
Ce message d'avertissement met en évidence les causes possibles de l'erreur. Cloud Composer vérifie les rôles requis sur les comptes de service dans votre projet, et si ces rôles ne sont pas présents, cet avertissement .
Solution: Vérifiez que les comptes de service mentionnés dans le message d'avertissement disposent les rôles requis. Pour en savoir plus sur les rôles et les autorisations Pour en savoir plus sur Cloud Composer, consultez la page Contrôle des accès.
Dans certains cas, vous pouvez ignorer cet avertissement. Cloud Composer ne fournit vérifier les autorisations individuelles attribuées aux rôles. Par exemple, si vous utilisez des rôles IAM personnalisés, il est possible que le compte de service mentionné dans le message d'avertissement dispose déjà de toutes les autorisations requises. Dans ce cas, vous pouvez ignorer cet avertissement.
Un réseau VPC sélectionné pour l'environnement n'existe pas
Vous pouvez spécifier un réseau VPC et un sous-réseau pour votre environnement Cloud Composer lorsque vous le créez. Si vous ne spécifiez pas de réseau VPC,
Le service Cloud Composer sélectionne le VPC default
et le default
pour la région et la zone de l'environnement.
Si le réseau VPC et le sous-réseau spécifiés n'existent pas, alors Cloud Composer génère l'erreur suivante:
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"}}
Solution :
- Dans Cloud Composer 2, vous pouvez créer des environnements qui utilisent Private Service Connect au lieu de réseaux VPC.
- Avant de créer un environnement, assurez-vous que le réseau VPC et le sous-réseau de votre nouvel environnement.
Configuration réseau incorrecte
La création d'environnements Cloud Composer nécessite une configuration réseau ou DNS appropriée. Suivez ces instructions pour configurer la connectivité aux API et services Google :
Si vous configurez des environnements Cloud Composer en mode VPC partagé, suivez également les instructions sur le VPC partagé.
Un environnement Cloud Composer utilise un sous-réseau pour les nœuds de cluster et les plages d'adresses IP pour les pods et les services. Pour assurer la communication avec ces plages d'adresses IP et d'autres, Suivez ces instructions pour configurer les règles de pare-feu:
Vous pouvez également rechercher des entrées de journal dans GCE Networking
et
Subnetwork
dans Cloud Logging pour voir s'il en existe
d'erreurs signalées lors de la création de l'environnement:
Cloud Logging
Problèmes de quota rencontrés lors de la création d'environnements dans des réseaux à grande échelle
Lorsque vous créez des environnements Cloud Composer dans des réseaux à grande échelle, vous pouvez rencontrer les limites de quota suivantes :
- Le nombre maximal d'appairages VPC par réseau VPC unique est atteint.
- Le nombre maximal de plages d'adresses IP de sous-réseau principales et secondaires est atteint.
- Le nombre maximal de règles de transfert du groupe d'appairage pour l'équilibrage de charge TCP/UDP interne est atteint.
Solution :
- Dans Cloud Composer 2, vous pouvez créer des environnements qui Utilisez Private Service Connect au lieu du VPC. réseaux sociaux.
- Dans Cloud Composer 1, appliquez l'approche recommandée pour Cloud Composer dans les réseaux à grande échelle.
Règles d'administration incompatibles
Les règles suivantes doivent être configurées de manière appropriée pour que les environnements Cloud Composer puissent être créés avec succès.
Règles d'administration | Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1 |
---|---|---|---|
compute.disableSerialPortLogging |
Toutes les valeurs sont autorisées | Doit être désactivé | Désactivé pour les versions antérieures à 1.13.0. Sinon, n'importe quelle valeur. |
compute.requireOsLogin |
Toutes les valeurs sont autorisées | Toutes les valeurs sont autorisées | Doit être désactivé |
compute.vmCanIpForward |
Toutes les valeurs sont autorisées | Toutes les valeurs sont autorisées | Doit être autorisée (obligatoire pour les clusters GKE appartenant à Cloud Composer) lorsque le mode VPC natif (utilisation d'une adresse IP d'alias) n'est pas configuré |
compute.vmExternalIpAccess |
Toutes les valeurs sont autorisées | Doit être autorisé pour les environnements d'adresse IP publique | Doit être autorisé pour les environnements d'adresse IP publique |
compute.restrictVpcPeering |
Peuvent être appliquées | Impossible d'appliquer | Application impossible |
compute.disablePrivateServiceConnectCreationForConsumers |
Toutes les valeurs sont autorisées | Impossible d'interdire SERVICE_PRODUCERS pour les environnements IP privés et publics. N'affecte pas les environnements existants ; ils peuvent fonctionner lorsque cette règle est est activé. | Impossible d'interdire SERVICE_PRODUCERS pour les environnements IP privés. N'affecte pas les environnements existants ; ils peuvent fonctionner lorsque cette règle est est activé. |
compute.restrictPrivateServiceConnectProducer |
Lorsque cette option est activée, ajoutez l'organisation google.com à la liste d'autorisation. |
Lorsque cette option est activée, ajoutez l'organisation google.com à la liste d'autorisation. |
Toutes les valeurs sont autorisées |
Pour en savoir plus, consultez la page Problèmes connus et Contraintes liées aux règles d'administration.
Restriction des services utilisés au sein d'une organisation ou d'un projet
Les administrateurs de l'organisation ou du projet peuvent limiter les services Google pouvant être utilisés dans leurs projets à l'aide de la contrainte de règle d'administration gcp.restrictServiceUsage
.
Lorsque vous utilisez cette règle d'administration, il est important autoriser tous les services requis par Cloud Composer.
Messages d'erreur 400 : échec de déploiement du serveur Web Airflow.
Cette erreur peut être due à un échec de la création du cluster GKE d'un environnement d'adresse IP privée en raison du chevauchement des plages d'adresses IP.
Solution : recherchez les erreurs potentielles dans les journaux du cluster de votre environnement et résolvez le problème en fonction du message d'erreur GKE.
Échec de la création d'images d'environnement par Cloud Build
S'applique à: Cloud Composer 2 et Cloud Composer 1.
Si le compte de service Cloud Build
(PROJECT_NUMBER@cloudbuild.gserviceaccount.com
) ne dispose pas de
Rôle de compte de service Cloud Build (roles/cloudbuild.builds.builder
) dans
votre projet, les tentatives de création ou de mise à jour d'un environnement
les erreurs liées aux autorisations.
Vous pouvez par exemple voir
denied: Permission "artifactregistry.repositories.uploadArtifacts" denied
suivi de ERROR: failed to push because we ran out of retries
dans
les journaux Cloud Build.
Pour résoudre ce problème, assurez-vous que le compte de service Cloud Build dispose du rôle Rôle Compte de service Cloud Build.
Étape suivante
- Créer des environnements
- Résoudre les problèmes liés aux mises à jour et aux mises à niveau d'environnement
- Contrôle des accès