Managed Airflow (3ª gen.) | Managed Airflow (2ª gen.) | Managed Airflow (1ª gen. heredada)
En esta página, se proporciona información para solucionar problemas que podrían surgir durante la creación de entornos de Managed Airflow.
Para obtener información sobre la solución de problemas relacionados con la actualización de los entornos, consulta Solución de problemas de actualizaciones y mejoras de entornos.
Cuando se crean entornos de Managed Airflow, la mayoría de los problemas ocurren debido a los siguientes motivos:
Problemas de permisos de la cuenta de servicio
Firewall, información de enrutamiento o DNS incorrecto
Problemas relacionados con la red (por ejemplo, configuración de VPC no válida, conflictos de direcciones IP o rangos de IP de red que son demasiado reducidos)
Problemas relacionados con la cuota
Políticas de la organización incompatibles
No tienes permisos suficientes para crear un entorno
Si Managed Airflow no puede crear un entorno porque tu cuenta no tiene los permisos suficientes, se mostrarán los siguientes mensajes de error:
ERROR: (gcloud.composer.environments.create) PERMISSION_DENIED: The caller
does not have permission
o
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.
Solución: Asigna funciones a tu cuenta y a la cuenta de servicio de tu entorno como se describe en Control de acceso.
En Managed Airflow (2ª gen.), asegúrate de que la cuenta de servicio Agente de servicio de Cloud Composer (
service-PROJECT_NUMBER@cloudcomposer-accounts.iam.gserviceaccount.com) tenga asignado el rol Extensión del agente de servicio de la API de Cloud Composer v2.Asegúrate de que Agente de servicio de las APIs de Google (
PROJECT_NUMBER@cloudservices.gserviceaccount.com) tenga asignado el rol Editor.En la configuración de VPC compartida, sigue las instrucciones de Configura la VPC compartida.
La cuenta de servicio del entorno no tiene permisos suficientes.
Cuando creas un entorno de Managed Airflow, especificas una cuenta de servicio que ejecuta los nodos del clúster de GKE del entorno. Si esta cuenta de servicio no tiene suficientes permisos para la operación solicitada, Managed Airflow genera el siguiente error:
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."}
Solución: Asigna funciones a tu cuenta y a la cuenta de servicio de tu entorno como se describe en Control de acceso.
Advertencias sobre la falta de roles de IAM en las cuentas de servicio
Cuando falla la creación de un entorno, Managed Airflow genera el
siguiente mensaje de advertencia después de que se produjo un error:
The issue may be caused by missing IAM roles in the following Service Accounts
....
Este mensaje de advertencia destaca las posibles causas del error. Managed Airflow verifica los roles necesarios en las cuentas de servicio de tu proyecto y, si estos roles no están presentes, genera este mensaje de advertencia.
Solución: Verifica que las cuentas de servicio mencionadas en el mensaje de advertencia tengan los roles necesarios. Para obtener más información sobre los roles y permisos en Managed Airflow, consulta Control de acceso.
En algunos casos, puedes ignorar esta advertencia. Managed Airflow no verifica los permisos individuales asignados a los roles. Por ejemplo, si usas roles personalizados de IAM, es posible que la cuenta de servicio mencionada en el mensaje de advertencia ya tenga todos los permisos necesarios. En este caso, puedes ignorar esta advertencia.
Políticas de la organización incompatibles
Las siguientes políticas deben configurarse de forma correcta para que los entornos de Managed Airflow se puedan crear correctamente.
| Política de la organización | Managed Airflow (3ª gen.) | Managed Airflow (2ª gen.) | Managed Airflow (1ª gen. heredada) |
|---|---|---|---|
compute.disableSerialPortLogging |
(se permite cualquier valor) | Debe inhabilitarse | Inhabilitado para las versiones anteriores a la 1.13.0; de lo contrario, cualquier valor |
compute.requireOsLogin |
(se permite cualquier valor) | (se permite cualquier valor) | Debe inhabilitarse |
compute.vmCanIpForward |
(se permite cualquier valor) | (se permite cualquier valor) | Se debe permitir (obligatorio para los clústeres de GKE de Managed Airflow) cuando el modo nativo de la VPC (con alias de IP) no está configurado |
compute.vmExternalIpAccess |
(se permite cualquier valor) | Se debe permitir en entornos de IP públicas | Se debe permitir en entornos de IP públicas |
compute.restrictVpcPeering |
Se puede aplicar | No se puede aplicar | No se puede aplicar |
compute.disablePrivateServiceConnectCreationForConsumers |
(se permite cualquier valor) | No se puede rechazar SERVICE_PRODUCERS para entornos de IP pública y privada. No afecta a los entornos existentes, ya que pueden operar cuando esta política está habilitada. | No se puede rechazar SERVICE_PRODUCERS para entornos de IP privada. No afecta a los entornos existentes, ya que pueden operar cuando esta política está habilitada. |
compute.restrictPrivateServiceConnectProducer |
Cuando esté activo, incluye en la lista de entidades permitidas la organización google.com |
Cuando esté activo, incluye en la lista de entidades permitidas la organización google.com |
(se permite cualquier valor) |
Políticas de límite de acceso de las principales incompatibles
Las políticas de límite de acceso de las principales configuradas en tu organización se pueden configurar de manera que bloqueen algunas de las operaciones de tu entorno o impidan la creación de entornos nuevos.
Si este es el caso, es posible que veas la siguiente línea en los mensajes de error:
Operations on resource are denied due to an IAM Principal Access Boundary Policy.
Los componentes de tu entorno se encuentran en un proyecto de usuario y un proyecto de cliente. El proyecto de usuario es administrado por Google y no pertenece a la organización en la que se encuentra el entorno. La cuenta de servicio de tu entorno debe tener permisos para realizar operaciones en el proyecto de usuario.
Solución:
- Agrega una expresión de condición a la vinculación de la política para excluir la cuenta de servicio del entorno de la política. Para obtener un ejemplo de cómo excluir una principal para que la política no se aplique a ella, consulta Vinculaciones de políticas condicionales para las políticas de límite de acceso de las principales en la documentación de Identity and Access Management.
Restringe los servicios que se usan dentro de la organización o el proyecto
Los administradores de la organización o del proyecto pueden restringir qué servicios de Google se pueden usar en sus proyectos con la
restricción de la política de la
gcp.restrictServiceUsage
organización.
Cuando usas esta política de la organización, es importante permitir todos los servicios que requiere Managed Airflow.