Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
En esta página, se proporcionan información y pasos para solucionar problemas comunes del servidor web de Airflow.
El servidor web de Airflow es un componente de Airflow que proporciona una interfaz de usuario para administrar los DAG y las tareas de Airflow. En esta página, se describen los pasos para solucionar varios problemas relacionados con el acceso al servidor web de Airflow de tu entorno o con las advertencias relacionadas con el servidor web que se muestran en los registros de Airflow.
No se puede acceder a la IU de Airflow cuando los controles de acceso a la red están habilitados.
Síntoma: Después de configurar los controles de acceso del servidor web, no es posible acceder a la IU de Airflow. Por lo general, el código de error que se muestra en esta situación es 403.
Información sobre el problema: Cloud Composer admite controles de acceso a la red del servidor web, que te permiten especificar los rangos de IP que pueden conectarse al servidor web.
Los problemas para acceder a la IU de Airflow suelen generar el error 403. Para verificar si el error está relacionado con los controles de acceso a la red del servidor web, haz lo siguiente:
- En la lista de entornos, haz clic en el nombre de tu entorno. Se abrirá la página Detalles del entorno.
- Ve a la pestaña Configuración del entorno.
- Verifica si el elemento Control de acceso del servidor web está configurado en Todas las direcciones IP tienen acceso (predeterminado).
- Si se configura un valor diferente de Todas las direcciones IP tienen acceso (predeterminado), se habilita el control de acceso a la red y la visibilidad de la IU de Airflow se limita a los rangos de direcciones IPv4 e IPv6 proporcionados. En este caso, el problema puede estar relacionado con los controles de acceso a la red del servidor web.
En la mayoría de los casos, la causa del problema es la discrepancia entre la IP prevista que especificaste y la IP que se resuelve para conectarse a la IU de Airflow. Para solucionar el problema, haz lo siguiente:
En la lista de entornos, haz clic en el nombre de tu entorno. Se abrirá la página Detalles del entorno.
Ve a la pestaña Configuración del entorno.
Busca el elemento Control de acceso del servidor web y haz clic en Editar.
En el cuadro de diálogo Control de acceso a la red del servidor web, selecciona Permitir acceso desde todas las direcciones IP.
Accede a la IU de Airflow varias veces y verifica que funcione sin problemas:
Si no tienes problemas, continúa con el siguiente paso.
Si tienes un problema en este punto, significa que es posible que esté relacionado con la configuración de tus permisos de IAM. Para obtener más información sobre los permisos de IAM de Cloud Composer, consulta Control de acceso.
En el diálogo Control de acceso de red del servidor web, selecciona Permitir el acceso solo desde direcciones IP específicas.
Agrega el rango de IP
0.0.0.0/0
, accede a la IU de Airflow varias veces y verifica que funcione sin problemas:Si no tienes problemas, la IP con la que te conectas es una dirección IPv4.
Si tienes un problema en este punto, significa que la IP con la que te estás conectando es una dirección IPv6.
Borra el rango de IP
0.0.0.0/0
y agrega el rango de IP::/0
.Si no tienes problemas, la IP con la que te conectas es una dirección IPv6.
Si tienes un problema en este punto, significa que la IP con la que te estás conectando es una dirección IPv4.
Ahora determinaste si la dirección resuelta es IPv4 o IPv6.
Según el tipo de dirección, limita los rangos de
::/0
o0.0.0.0/0
a rangos más específicos para verificar el rango más amplio cuando el acceso deje de funcionar:Puedes comenzar con la máscara de subred amplia (como
192.0.2.0/8
) que incluye la dirección que supones que es tu dirección IP.Para determinar tu dirección IP, puedes usar un servicio de terceros que te proporcione tu dirección IP externa cuando visites su página. Puedes buscar esos servicios con la búsqueda "¿cuál es mi dirección IP?".
Los valores de configuración no se muestran en la página de configuración
Algunos parámetros de configuración de Airflow están ocultos en la página de configuración para evitar el acceso a información potencialmente sensible. Por ejemplo, no se muestran las credenciales para acceder a la base de datos de Airflow.
Para mostrar campos ocultos, anula la siguiente opción de configuración de Airflow. Te recomendamos que reviertas los cambios después de obtener los valores requeridos.
Sección | Clave | Valor | Notas |
---|---|---|---|
webserver
|
expose_config
|
True
|
El valor predeterminado es non-sensitive-only . Configúralo como False para ocultar todos los parámetros de configuración. |
El DAG bloquea el servidor web de Airflow o hace que muestre un error de tiempo de espera de la puerta de enlace 502.
Las fallas del servidor web pueden ocurrir por varias razones diferentes. Verifica los registros de airflow-webserver en Cloud Logging para determinar la causa del error 502 gateway timeout
.
Procesamiento de cargas pesadas
Esta sección solo se aplica a Cloud Composer 1.
A diferencia de los nodos de trabajador y programador, cuyos tipos de máquina pueden personalizarse para tener mayor capacidad de CPU y memoria, el servidor web usa un tipo de máquina fijo que puede provocar errores de análisis del DAG si el procesamiento es demasiado pesado.
Ten en cuenta que el servidor web tiene 2 CPU virtuales y 2 GB de memoria.
El valor predeterminado para core-dagbag_import_timeout
es 30 segundos. Este valor de tiempo de espera define el límite superior de tiempo que Airflow pasa cargando un módulo de Python en la carpeta /dags
.
Permisos incorrectos
Esta sección solo se aplica a Cloud Composer 1.
El servidor web no se ejecuta con la misma cuenta de servicio que los trabajadores y el programador. Por lo tanto, es posible que los trabajadores y el programador puedan acceder a los recursos administrados por el usuario a los que el servidor web no puede acceder.
Te recomendamos que evites acceder a recursos no públicos durante el análisis del DAG. A veces, esto es inevitable y deberás otorgar permisos a la cuenta de servicio del servidor web. El nombre de la cuenta de servicio se deriva del dominio de tu servidor web. Por ejemplo, si el dominio es example-tp.appspot.com
, la cuenta de servicio es example-tp@appspot.gserviceaccount.com
.
Errores del DAG
Esta sección solo se aplica a Cloud Composer 1.
El servidor web se ejecuta en App Engine y es independiente del clúster de GKE de tu entorno. El servidor web analiza los archivos de definición del DAG, y puede mostrarse un mensaje 502 gateway timeout
si hay errores en el DAG. Airflow funciona de forma normal sin un servidor web funcional, si el DAG problemático no interrumpe ningún proceso que se ejecute en GKE.
En este caso, puedes usar gcloud composer environments run
para recuperar detalles de tu entorno y como una solución si el servidor web deja de estar disponible.
En otros casos, puedes ejecutar el análisis del DAG en GKE y buscar DAG que arrojen excepciones críticas de Python o para los que se haya agotado el tiempo de espera (30 segundos predeterminados). Para solucionar el problema, conéctate a un shell remoto en un contenedor de trabajador de Airflow y prueba los errores de sintaxis. Para obtener más información, consulta Probar DAG.