Solucionar problemas de creación de entornos

Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1

En esta página se proporciona información para solucionar problemas que pueden surgir al crear entornos de Cloud Composer.

Para obtener información sobre cómo solucionar problemas relacionados con la actualización de entornos, consulta Solucionar problemas de actualizaciones del entorno.

Cuando se crean entornos de Cloud Composer, la mayoría de los problemas se deben a los siguientes motivos:

  • Problemas con los permisos de la cuenta de servicio.

  • Información incorrecta sobre el cortafuegos, el DNS o el enrutamiento.

  • Problemas relacionados con la red. Por ejemplo, una configuración de VPC no válida, conflictos de direcciones IP o intervalos de IP de red demasiado estrechos.

  • Problemas relacionados con las cuotas.

  • Políticas de organización incompatibles.

No tienes permisos suficientes para crear un entorno

Si Cloud Composer no puede crear un entorno porque tu cuenta no tiene suficientes permisos, muestra 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 roles tanto a tu cuenta como a la cuenta de servicio de tu entorno, tal como se describe en Control de acceso.

  • En Cloud Composer 2, 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 de agente de servicio de la API de Cloud Composer v2.

  • Asegúrate de que el 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 para configurar la VPC compartida.

La cuenta de servicio del entorno no tiene permisos suficientes

Al crear un entorno de Cloud Composer, debes especificar una cuenta de servicio que ejecute los nodos del clúster de GKE del entorno. Si esta cuenta de servicio no tiene suficientes permisos para la operación solicitada, Cloud Composer muestra 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 roles tanto a tu cuenta como a la cuenta de servicio de tu entorno, tal como se describe en Control de acceso.

Advertencias sobre la falta de roles de gestión de identidades y accesos en cuentas de servicio

Si no se puede crear un entorno, Cloud Composer genera el siguiente mensaje de advertencia después de que se haya producido 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. Cloud Composer comprueba si las cuentas de servicio de tu proyecto tienen los roles necesarios y, si no es así, genera este mensaje de advertencia.

Solución: Comprueba 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 Cloud Composer, consulta el artículo sobre el control de acceso.

En algunos casos, puedes ignorar esta advertencia. Cloud Composer no comprueba los permisos individuales asignados a los roles. Por ejemplo, si usas roles de gestión de identidades y accesos personalizados, 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 organización incompatibles

Las siguientes políticas deben configurarse correctamente para que se puedan crear entornos de Cloud Composer.

Política de organización Cloud Composer 3 Cloud Composer 2 Cloud Composer 1
compute.disableSerialPortLogging Se permite cualquier valor. Debe estar inhabilitada Inhabilitado para versiones anteriores a la 1.13.0. En el resto de los casos, puede ser cualquier valor.
compute.requireOsLogin Se permite cualquier valor. Se permite cualquier valor. Debe estar inhabilitada
compute.vmCanIpForward Se permite cualquier valor. Se permite cualquier valor. Debe permitirse (obligatorio para los clústeres de GKE propiedad de Cloud Composer) cuando no se haya configurado el modo nativo de VPC (con IP de alias).
compute.vmExternalIpAccess Se permite cualquier valor. Debe permitirse en entornos de IP pública Debe permitirse en entornos de IP pública
compute.restrictVpcPeering Se puede aplicar No se puede aplicar No se puede aplicar
compute.disablePrivateServiceConnectCreationForConsumers Se permite cualquier valor. No se puede inhabilitar SERVICE_PRODUCERS en entornos de IP privada y pública. No afecta a los entornos actuales, que pueden funcionar cuando esta política está habilitada. No se puede inhabilitar SERVICE_PRODUCERS en entornos de IP privada. No afecta a los entornos actuales, que pueden funcionar cuando esta política está habilitada.
compute.restrictPrivateServiceConnectProducer Cuando esté activo, añade a la lista de permitidos la organización google.com Cuando esté activo, añade a la lista de permitidos la organización google.com Se permite cualquier valor.

Políticas de límites de acceso de principales incompatibles

Las políticas de límite de acceso de principales configuradas en tu organización se pueden configurar de forma que bloqueen algunas de las operaciones de tu entorno o impidan la creación de nuevos entornos.

Si es así, puede 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 arrendatario y un proyecto de cliente. El proyecto de inquilino lo gestiona 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 inquilino.

Solución:

Restringir los servicios utilizados en una organización o un proyecto

Los administradores de organizaciones o proyectos pueden restringir los servicios de Google que se pueden usar en sus proyectos mediante la restricción de la política de organización gcp.restrictServiceUsage.

Cuando se usa esta política de organización, es importante permitir todos los servicios que requiere Cloud Composer.

Siguientes pasos