Errores conocidos

Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1

En esta página, se enumeran los problemas conocidos de Cloud Composer. Para obtener información sobre las correcciones de errores, consulta las notas de la versión.

Algunos problemas afectan a versiones anteriores y se pueden solucionar mediante la actualización de tu entorno.

Los rangos de direcciones que no son RFC 1918 son compatibles de forma parcial con los Pods y los servicios.

Cloud Composer depende de GKE para proporcionar compatibilidad con direcciones que no son RFC 1918 para Pods y servicios. Solo Cloud Composer admite la siguiente lista de rangos que no son RFC 1918:

  • 100.64.0.0/10
  • 192.0.0.0/24
  • 192.0.2.0/24
  • 192.88.99.0/24
  • 198.18.0.0/15
  • 198.51.100.0/24
  • 203.0.113.0/24
  • 240.0.0.0/4

La IU de Airflow no muestra los registros de tareas cuando la serialización de DAG está activada en Composer 1.10.2 y Composer 1.10.3

Habilitar la serialización de DAG en entornos mediante las versiones 1.10.2 y 1.10.3 evita que los registros se muestren en el servidor web de Airflow. Actualiza a la versión 1.0.4 (o posterior) para solucionar este problema.

Falla intermitente de la tarea durante la programación en Cloud Composer

El problema se ve en el programador de Airflow para la instancia de la tarea durante la ejecución de una tarea. Sin embargo, los registros no explican la causa de la falla de la tarea, y el trabajador y el programador de Airflow parecían estar en buen estado.

El mensaje de error en el programador de Airflow podría verse de la siguiente manera:

Executor reports task instance <TaskInstance: xx.xxxx
scheduled__2022-04-21T06:00:00+00:00 [queued]> finished (failed) although the
task says its queued. (Info: None) Was the task killed externally?

O puede haber un error en el trabajador de Airflow similar al siguiente mensaje de error:

Log file is not found: gs://$BUCKET_NAME/logs/$DAG_NAME/$TASK_NAME/
2023-01-25T05:01:17.044759+00:00/1.log.
The task might not have been executed or worker executing it might have
finished abnormally (e.g. was evicted).

Para garantizar la solidez contra estos errores que provienen de un problema de larga data en Airflow, se recomienda implementar de forma proactiva estrategias de reintento adecuadas a nivel de la tarea y del DAG. Si se incorporan estas medidas, el sistema puede mitigar de manera efectiva el impacto de estos errores, lo que mejora la confiabilidad y la resiliencia generales del flujo de trabajo.

No se admite la federación de identidades para cargas de trabajo de GKE

En Cloud Composer 1, no puedes habilitar la federación de identidades para cargas de trabajo para GKE en los clústeres de entorno de Cloud Composer. Como resultado, es posible que veas el resultado WORKLOAD_IDENTITY_DISABLED en Security Command Center.

Las etiquetas del entorno que se agregan durante una actualización no se propagan por completo

Cuando actualizas las etiquetas de entorno, estas no se aplican a las VMs de Compute Engine en el clúster del entorno. Como solución alternativa, puedes aplicar las etiquetas de forma manual.

Los registros de tareas de Airflow no están disponibles en el servidor web de Airflow después de actualizar de Airflow 1.9.0 a Airflow 1.10.x.

Airflow 1.10.x introdujo cambios incompatibles con las versiones anteriores a la convención de nombres para los archivos de registro. La información de zona ahora se agrega a los nombres de registro para las tareas de Airflow.

Airflow 1.9.0 almacena y espera que los nombres de registro tengan el siguiente formato: BUCKET/logs/DAG/2020-03-30T10:29:06/1.log. Airflow 1.10.x almacena y espera que los nombres de registro tengan el siguiente formato: BUCKET/logs/DAG/2020-03-30T10:29:06+00:00/1.log

Como resultado, si actualizas de Airflow 1.9.0 a Airflow 1.10.x y deseas leer el registro de una tarea ejecutada con Airflow 1.9.0, el servidor web de Airflow mostrará el siguiente mensaje de error: Unable to read remote log from BUCKET/logs/DAG/2020-03-30T10:29:06+00:00/1.log

Solución alternativa: Cambia el nombre de los registros que generó Airflow 1.9.0 en el depósito de Cloud Storage con el siguiente formato: BUCKET/logs/DAG/2020-03-30T10:29:06+00:00/1.log

No se pueden crear entornos de Cloud Composer con las restricciones de la política de la organización constraints/compute.disableSerialPortLogging enforced

La creación del entorno de Cloud Composer fallará si la política de la organización constraints/compute.disableSerialPortLogging se aplica en el proyecto de destino.

Diagnóstico

Para determinar si este problema te afectará, sigue este procedimiento:

Ve al menú de GKE en la consola de Google Cloud. Visita el menú de GKE.

Luego, selecciona el clúster recién creado. Verifica el siguiente error:

Not all instances running in IGM after 123.45s.
Expect <number of desired instances in IGM>. Current errors:

Constraint constraints/compute.disableSerialPortLogging violated for
project <target project number>.

Soluciones alternativas:

  1. Inhabilita la política de la organización en el proyecto en el que se creará el entorno de Cloud Composer.

    La política de la organización siempre se puede inhabilitar a nivel del proyecto, incluso si los recursos superiores (organización o carpeta) la tienen habilitada. Consulta la página Personaliza políticas de restricciones booleanas para obtener más detalles.

  2. Usa filtros de exclusión

    Usar un filtro de exclusión para los registros del puerto en serie implica el mismo objetivo que inhabilitar la política de la organización, ya que habrá registros de la consola en serie en Logging. Para obtener más detalles, consulta la página Filtros de exclusión.

Uso del Administrador de implementaciones para administrar Google Cloud recursos protegidos por los Controles del servicio de VPC

Las versiones 2.0.x de Cloud Composer 1 y Cloud Composer 2 usan el Administrador de implementaciones para crear componentes de entornos de Cloud Composer.

Es posible que en diciembre de 2020 hayas recibido información que podrías necesitar realizar una configuración adicional en los Controles del servicio de VPC para poder usar Deployment Manager a fin de administrar recursos protegidos por los Controles del servicio de VPC.

Queremos aclarar que no se requiere ninguna acción de tu parte si usas Cloud Composer y no usas Deployment Manager directamente para administrar los Google Cloud recursos mencionados en el anuncio de Deployment Manager.

El Administrador de implementaciones muestra información sobre una función no compatible

Es posible que veas la siguiente advertencia en la pestaña Administrador de implementaciones:

The deployment uses actions, which are an unsupported feature. We recommend
that you avoid using actions.

Si las implementaciones del Administrador de implementaciones son propiedad de Cloud Composer, puedes ignorar esta advertencia.

No se puede borrar un entorno después de que se borra su clúster

Este problema se aplica a las versiones 2.0.x de Cloud Composer 1 y Cloud Composer 2.

Si borras el clúster de GKE de tu entorno antes de que se ejecute, los intentos de borrar tu entorno generarán el siguiente error:

 Got error "" during CP_DEPLOYMENT_DELETING [Rerunning Task. ]

Para borrar un entorno cuando su clúster ya se borró, sigue estos pasos:

  1. En la consola de Google Cloud, ve a la página Deployment Manager.

    Ir a Deployment Manager

  2. Busca todas las implementaciones marcadas con etiquetas:

    • goog-composer-environment:<environment-name>
    • goog-composer-location:<environment-location>

    Deberías ver dos implementaciones marcadas con las etiquetas descritas:

    • Una implementación llamada <environment-location>-<environment-name-prefix>-<hash>-sd
    • Una implementación llamada addons-<uuid>
  3. Borra de forma manual los recursos que siguen apareciendo en estas dos implementaciones y existen en el proyecto (por ejemplo, temas y suscripciones de Pub/Sub). Para ello, deberás hacer lo siguiente:

    1. Selecciona las implementaciones.

    2. Haz clic en Borrar.

    3. Selecciona la opción Borrar 2 implementaciones y todos los recursos que crearon, como VM, balanceadores de cargas y discos, y haz clic en Borrar todo.

    La operación de eliminación falla, pero se borran los recursos restantes.

  4. Borra las implementaciones mediante una de estas opciones:

    • En la consola de Google Cloud, vuelve a seleccionar ambas implementaciones. Haz clic en Borrar y, luego, selecciona la opción Borrar 2 implementaciones, pero conserva los recursos que crearon.

    • Ejecuta un comando de gcloud para borrar las implementaciones con la política ABANDON:

      gcloud deployment-manager deployments delete addons-<uuid> \
          --delete-policy=ABANDON
      
      gcloud deployment-manager deployments delete <location>-<env-name-prefix>-<hash>-sd \
          --delete-policy=ABANDON
      
  5. Borra tu entorno de Cloud Composer.

Advertencias sobre entradas duplicadas de la tarea “echo” que pertenecen al DAG “echo-airflow_monitoring”

Es posible que veas la siguiente entrada en los registros de Airflow:

in _query db.query(q) File "/opt/python3.6/lib/python3.6/site-packages/MySQLdb/
connections.py", line 280, in query _mysql.connection.query(self, query)
_mysql_exceptions.IntegrityError: (1062, "Duplicate entry
'echo-airflow_monitoring-2020-10-20 15:59:40.000000' for key 'PRIMARY'")

Puedes ignorar estas entradas de registro, ya que este error no afecta al DAG de Airflow ni al procesamiento de tareas.

Trabajamos a fin de mejorar el servicio de Cloud Composer para quitar estas advertencias de los registros de Airflow.

La creación de entornos falla en los proyectos con APIs de Identity-Aware Proxy agregadas al perímetro de Controles del servicio de VPC.

En los proyectos con los Controles del servicio de VPC habilitados, la cuenta de cloud-airflow-prod@system.gserviceaccount.com requiere acceso explícito en tu perímetro de seguridad para crear entornos.

Para crear entornos, puedes usar una de las siguientes soluciones:

  • No agregues la API de Cloud Identity-Aware Proxy ni la API de Identity-Aware Proxy TCP al perímetro de seguridad.

  • Agrega la cuenta de servicio cloud-airflow-prod@system.gserviceaccount.com como miembro de tu perímetro de seguridad con la siguiente configuración en el archivo de condiciones de YAML:

     - members:
        - serviceAccount:cloud-airflow-prod@system.gserviceaccount.com
    

La creación del entorno de Cloud Composer 1 falla cuando se habilita la política compute.requireOsLogin

Si la política compute.requireOsLogin se configura como true en tu proyecto, las operaciones de creación del entorno de Cloud Composer 1 v1 fallarán.

Para crear entornos de Cloud Composer 1, inhabilita esta política en tu proyecto.

Para obtener más información sobre esta política de la organización, consulta las restricciones de las políticas de la organización.

La creación o actualización del entorno de Cloud Composer falla cuando se inhabilita la política compute.vmExternalIpAccess

Este problema se aplica a los entornos de Cloud Composer 1 y Cloud Composer 2.

Los clústeres de GKE que son propiedad de Cloud Composer y están configurados en el modo de IP pública requieren conectividad externa para las VM. Debido a esto, la política compute.vmExternalIpAccess no puede prohibir la creación de VM con direcciones IP externas. Para obtener más información sobre esta política de la organización, consulta las restricciones de las políticas de la organización.

La creación del entorno de Cloud Composer 1 falla cuando la política compute.vmCanIpForward está inhabilitada

Los entornos de Cloud Composer 1 creados en el modo que no es nativo de la VPC (con alias de IP) requieren esta política para permitir la creación de VMs con la función habilitada de reenvío de IP. Para obtener más información sobre esta política de la organización, consulta las restricciones de las políticas de la organización.

La primera ejecución del DAG para un archivo DAG subido arroja varias tareas con errores

Cuando subes un archivo DAG, a veces las primeras tareas del primer DAG que se ejecutan para él fallan debido al error Unable to read remote log.... Este problema ocurre porque el archivo de DAG se sincroniza entre el bucket de tu entorno, los trabajadores de Airflow y los programadores de Airflow de tu entorno. Si el programador obtiene el archivo DAG y lo programa para que lo ejecute un trabajador, y si el trabajador aún no tiene el archivo DAG, la ejecución de la tarea falla.

Para mitigar este problema, los entornos con Airflow 2 están configurados para realizar dos reintentos para una tarea con errores de forma predeterminada. Si una tarea falla, se vuelve a intentar dos veces con intervalos de 5 minutos.

Para mitigar este problema en Airflow 1, anula la opción de configuración de Airflow [core]default_task_retries y configúrala en un número mayor o igual que 2.

La tarea falla debido al error “Error de SO: [Errno 5] Error de entrada/salida” en las versiones 1.10.15 o anteriores de Airflow

Un error en las versiones de Airflow 1 hace que las tareas se coloquen en la cola de Redis dos veces en casos excepcionales.

A veces, puede generar una condición de carrera en el archivo de registro y una falla posterior de la tarea. Las tareas fallan con OSError: [Errno 5] Input/output error en Cloud Logging y Task is in the 'running' state which is not a valid state for execution. en el registro de intentos de la tarea.

Este error se corrige en Airflow 2. Si encuentras este problema en Airflow 1 en una tarea de larga duración, aumenta el valor de la opción de configuración de Airflow [celery_broker_transport_options]visibility_timeout (el valor predeterminado). es 604800 para Composer 1.17.0, 21600 para entornos anteriores). Para tareas de corta duración, considera agregar reintentos adicionales a las tareas afectadas o migrar tu entorno a Airflow 2.

Los operadores de Dataproc y Dataflow fallan con Negsignal.SIGSEGV

Este es un problema intermitente de la biblioteca grcpio, cuando se usa desde un trabajador de Celery. Este problema afecta a Airflow 1.10.14 y versiones posteriores.

La solución alternativa es cambiar la estrategia de sondeo grpcioy agregar la siguiente variable de entorno a tu entorno: GRPC_POLL_STRATEGY=epoll1. Esta solución alternativa ya se aplicó en Cloud Composer 1.17.1 y versiones posteriores.

Anuncios sobre la eliminación de la asistencia para las versiones Beta de la API obsoletas de las versiones de GKE

Cloud Composer administra los clústeres de GKE que son de su propiedad. A menos que uses de forma explícita esas API en tus DAG y en tu código, puedes ignorar los anuncios sobre las API obsoletas de GKE. Cloud Composer se encarga de cualquier migración, si es necesario.

Cloud Composer no debería verse afectado por la vulnerabilidad de Apache Log4j 2 (CVE-2021-44228)

En respuesta a la vulnerabilidad de Apache Log4j 2 (CVE-2021-44228), Cloud Composer realizó una investigación detallada y creemos que no es vulnerable a este exploit.

Es posible que los trabajadores o programadores de Airflow experimenten problemas cuando accedan al bucket de Cloud Storage del entorno.

Cloud Composer usa gcsfuse para acceder a la carpeta /data en el bucket del entorno y guardar los registros de tareas de Airflow en el directorio /logs (si está habilitado). Si gcsfuse está sobrecargado o el bucket del entorno no está disponible, es posible que experimentes fallas en la instancia de la tarea de Airflow y veas errores Transport endpoint is not connected en los registros de Airflow.

Soluciones:

A veces, es posible que la IU de Airflow no vuelva a cargar un complemento una vez que se cambie.

Si un complemento consta de muchos archivos que importan otros módulos, es posible que la IU de Airflow no pueda reconocer el hecho de que se debe volver a cargar un complemento. En ese caso, reinicia el servidor web de Airflow de tu entorno.

Problemas intermitentes cuando se comunica con la base de datos del entorno

Este problema conocido solo se aplica a Cloud Composer 1.

Es posible que algunos entornos anteriores de Cloud Composer 1 (1.16.3 o versiones anteriores) creados antes del 12 de agosto de 2021 experimenten problemas transitorios relacionados con la comunicación con la base de datos de Airflow.

Si experimentas este problema, verás el siguiente mensaje de error en los registros de tareas de Airflow:

"Can't connect to MySQL server on 'airflow-sqlproxy-service.default.svc.cluster.local' (104)"

El equipo de Cloud Composer está trabajando para resolver este problema. Mientras tanto, si crees que este problema te afecta mucho, puedes hacer lo siguiente para mitigarlo:

  1. En la consola de Google Cloud, ve a la página Configuración del entorno de los entornos de Cloud Composer afectados.

  2. Sigue el vínculo Ver detalles del clúster para navegar al clúster de GKE subyacente del entorno.

  3. Navega a la pestaña Nodos y haz clic en default-pool, que se muestra en la sección Grupos de nodos.

    default-pool en la lista de grupos de nodos
    Figura 1: default-pool en la lista de grupos de nodos (haz clic para ampliar)
  4. Haz clic en Editar, en la parte superior de la página.

  5. Cambia el tipo de imagen a Container-Optimized OS con containerd y guarda la configuración:

    Cambia el tipo de imagen del grupo de nodos de Docker a containerd
    Figura 2: Cambia el tipo de imagen del grupo de nodos de Docker a containerd (haz clic para ampliar)
  6. Una vez que se envíe el cambio, el grupo de nodos default-pool se reconfigurará para usar containerd como su entorno de ejecución de contenedores. Es posible que algunas de tus tareas de Airflow fallen mientras se reconfigura el grupo de nodos. Si esas tareas tienen reintentos configurados, Airflow las volverá a ejecutar una vez que se complete la operación en el grupo de nodos.

Error 504 cuando se accede a la IU de Airflow

Puedes obtener el error 504 Gateway Timeout cuando accedes a la IU de Airflow. Este error puede tener varias causas:

  • Problema de comunicación transitorio. En este caso, intenta acceder a la IU de Airflow más adelante. También puedes reiniciar el servidor web de Airflow.

  • (Solo Cloud Composer 3) Problema de conectividad. Si la IU de Airflow no está disponible de forma permanente y se generan errores de tiempo de espera o 504, asegúrate de que tu entorno pueda acceder a *.composer.googleusercontent.com.

  • (Solo Cloud Composer 2) Problema de conectividad. Si la IU de Airflow no está disponible de forma permanente y se generan errores de tiempo de espera o 504, asegúrate de que tu entorno pueda acceder a *.composer.cloud.google.com. Si usas el Acceso privado de Google y envías tráfico a través de IPs virtuales private.googleapis.com, o bien los Controles del servicio de VPC y envías tráfico a través de IPs virtuales restricted.googleapis.com, asegúrate de que tu DNS de Cloud también esté configurado para nombres de dominio *.composer.cloud.google.com.

  • El servidor web de Airflow no responde. Si el error 504 persiste, pero aún puedes acceder a la IU de Airflow en ciertos momentos, es posible que el servidor web de Airflow no responda porque está sobrecargado. Intenta aumentar los parámetros de escalamiento y rendimiento del servidor web.

Error 502 cuando se accede a la IU de Airflow

El error 502 Internal server exception indica que la IU de Airflow no puede entregar solicitudes entrantes. Este error puede tener varias causas:

  • Problema de comunicación transitorio. Intenta acceder a la IU de Airflow más tarde.

  • No se pudo iniciar el servidor web. Para iniciarse, el servidor web requiere que los archivos de configuración se sincronicen primero. Revisa los registros del servidor web en busca de entradas de registro que se vean similares a GCS sync exited with 1: gcloud storage cp gs://<bucket-name>/airflow.cfg /home/airflow/gcs/airflow.cfg.tmp o GCS sync exited with 1: gcloud storage cp gs://<bucket-name>/env_var.json.cfg /home/airflow/gcs/env_var.json.tmp. Si ves estos errores, verifica si los archivos mencionados en los mensajes de error aún están presentes en el bucket del entorno.

    En caso de que se quiten por accidente (por ejemplo, porque se configuró una política de retención), puedes restablecerlas:

    1. Establece una nueva variable de entorno en tu entorno. Puedes usar cualquier nombre y valor de variable.

    2. Anula una opción de configuración de Airflow. Puedes usar una opción de configuración de Airflow que no existe.

La IU de Airflow en Airflow 2.2.3 o versiones anteriores es vulnerable a CVE-2021-45229.

Como se señaló en CVE-2021-45229, la pantalla "Trigger DAG with config" era susceptible a ataques XSS a través del argumento de consulta origin.

Recomendación: Actualiza a la versión más reciente de Cloud Composer que admita Airflow 2.2.5.

Activación de DAG a través de redes privadas con funciones de Cloud Run

Cloud Composer no admite el uso de VPC Connector para activar DAG con funciones de Cloud Run a través de redes privadas.

Recomendación: Usa funciones de Cloud Run para publicar mensajes en Pub/Sub. Estos eventos pueden activar sensores de Pub/Sub para activar DAG de Airflow o implementar un enfoque basado en operadores diferibles.

Carpetas vacías en Programador y Trabajadores

Cloud Composer no quita de forma activa las carpetas vacías de los trabajadores y programadores de Airflow. Estas entidades se pueden crear como resultado del proceso de sincronización del bucket del entorno cuando estas carpetas existían en el bucket y, finalmente, se quitaron.

Recomendación: Ajusta tus DAG para que estén preparados para omitir esas carpetas vacías.

Estas entidades se quitan, en última instancia, de los almacenamientos locales de los programadores y trabajadores de Airflow cuando se reinician estos componentes (por ejemplo, como resultado de operaciones de escalamiento descendente o de mantenimiento en el clúster de tu entorno).

Compatibilidad con Kerberos

Cloud Composer no admite la configuración de Kerberos de Airflow.

Compatibilidad con operadores de Google Campaign Manager 360

Los operadores de Google Campaign Manager en versiones de Cloud Composer anteriores a la 2.1.13 se basan en la API de Campaign Manager 360 v3.5, que está obsoleta y cuya fecha de desactivación es el 1 de mayo de 2023.

Si usas operadores de Google Campaign Manager, actualiza tu entorno a la versión 2.1.13 o una posterior de Cloud Composer.

Compatibilidad con operadores de Google Display & Video 360

Los operadores de Google Display & Video 360 en versiones de Cloud Composer anteriores a la 2.1.13 se basan en la API de Display & Video 360 v1.1, que dejó de estar disponible el 27 de abril de 2023.

Si usas operadores de Display y Video 360 de Google, actualiza tu entorno a la versión 2.1.13 o una posterior de Cloud Composer. Además, es posible que debas cambiar tus DAG porque algunos de los operadores de Google Display & Video 360 dejarán de estar disponibles y se reemplazarán por otros nuevos.

  • GoogleDisplayVideo360CreateReportOperator dejó de estar disponible. En su lugar, usa GoogleDisplayVideo360CreateQueryOperator. Este operador muestra query_id en lugar de report_id.
  • GoogleDisplayVideo360RunReportOperator dejó de estar disponible. En su lugar, usa GoogleDisplayVideo360RunQueryOperator. Este operador muestra query_id y report_id en lugar de solo report_id, y requiere query_id en lugar de report_id como parámetro.
  • Para verificar si un informe está listo, usa el nuevo sensor GoogleDisplayVideo360RunQuerySensor que usa los parámetros query_id y report_id. El sensor GoogleDisplayVideo360ReportSensor obsoleto solo requería report_id.
  • GoogleDisplayVideo360DownloadReportV2Operator ahora requiere los parámetros query_id y report_id.
  • En GoogleDisplayVideo360DeleteReportOperator, no hay cambios que puedan afectar tus DAG.

Restricciones de nombres de rangos secundarios

CVE-2023-29247 (la página de detalles de la instancia de tarea en la IU es vulnerable a un XSS almacenado)

La IU de Airflow en las versiones de Airflow de 2.0.x a 2.5.x es vulnerable a CVE-2023-29247.

Si usas una versión anterior a la 2.4.2 de Cloud Composer y sospechas que tu entorno podría ser vulnerable al exploit, lee la siguiente descripción y las posibles soluciones.

En Cloud Composer, el acceso a la IU de Airflow se protege con IAM y el control de acceso de la IU de Airflow.

Esto significa que, para aprovechar la vulnerabilidad de la IU de Airflow, los atacantes primero deben obtener acceso a tu proyecto junto con los permisos y roles de IAM necesarios.

Solución:

  • Verifica los permisos y roles de IAM en tu proyecto, incluidos los roles de Cloud Composer asignados a usuarios individuales. Asegúrate de que solo los usuarios aprobados puedan acceder a la IU de Airflow.

  • Verifica los roles asignados a los usuarios a través del mecanismo de control de acceso de la IU de Airflow (este es un mecanismo independiente que proporciona acceso más detallado a la IU de Airflow). Asegúrate de que solo los usuarios aprobados puedan acceder a la IU de Airflow y de que todos los usuarios nuevos estén registrados con un rol adecuado.

  • Considera endurecer aún más la seguridad con los Controles del servicio de VPC.

No es posible reducir el almacenamiento de Cloud SQL.

Cloud Composer usa Cloud SQL para ejecutar la base de datos de Airflow. Con el tiempo, el almacenamiento en disco de la instancia de Cloud SQL podría aumentar porque el disco se ajusta para adaptarse a los datos almacenados por las operaciones de Cloud SQL cuando crece la base de datos de Airflow.

No es posible reducir el tamaño del disco de Cloud SQL.

Como solución alternativa, si deseas usar el tamaño de disco más pequeño de Cloud SQL, puedes volver a crear entornos de Cloud Composer con instantáneas.

La métrica Uso de disco de la base de datos no se reduce después de quitar registros de Cloud SQL

Las bases de datos relacionales, como Postgres o MySQL, no quitan físicamente las filas cuando se borran o actualizan. En su lugar, las marca como "tuplas inactivas" para mantener la coherencia de los datos y evitar bloquear las transacciones simultáneas.

Tanto MySQL como Postgres implementan mecanismos para recuperar espacio después de borrar registros.

Si bien es posible forzar a la base de datos a recuperar el espacio en el disco sin usar, esta es una operación que consume muchos recursos y, además, bloquea la base de datos, lo que hace que Cloud Composer no esté disponible. Por lo tanto, se recomienda usar los mecanismos de compilación para recuperar el espacio sin usar.

Las instancias de tareas que tuvieron éxito en el pasado se marcaron como FAILED

En algunas circunstancias y casos excepcionales, las instancias de tareas de Airflow que se ejecutaron correctamente en el pasado se pueden marcar como FAILED.

Si esto sucede, por lo general, se debe a una actualización del entorno o a una operación de actualización, o al mantenimiento de GKE.

Nota: El problema en sí no indica ningún problema en el entorno ni causa fallas reales en la ejecución de tareas.

El problema se solucionó en la versión 2.6.5 o posterior de Cloud Composer.

Los componentes de Airflow tienen problemas para comunicarse con otras partes de la configuración de Cloud Composer.

En casos muy excepcionales, la lentitud de la comunicación con el servidor de metadatos de Compute Engine podría provocar que los componentes de Airflow no funcionen de manera óptima. Por ejemplo, es posible que se reinicie el programador de Airflow, que se deban volver a intentar las tareas de Airflow o que el tiempo de inicio de la tarea sea más largo.

Síntomas:

Los siguientes errores aparecen en los registros de los componentes de Airflow (como los programadores, los trabajadores o el servidor web de Airflow):

Authentication failed using Compute Engine authentication due to unavailable metadata server

Compute Engine Metadata server unavailable on attempt 1 of 3. Reason: timed out
...
Compute Engine Metadata server unavailable on attempt 2 of 3. Reason: timed out
...
Compute Engine Metadata server unavailable on attempt 3 of 3. Reason: timed out

Solution:

Establece la siguiente variable de entorno: GCE_METADATA_TIMEOUT=30.

Tiempos de análisis de DAG no continuos y diagramas de tamaño de bolsa de DAG en la supervisión

Los tiempos de análisis de DAG no continuos y los diagramas de tamaño de bolsa de DAG en el panel de supervisión indican problemas con tiempos de análisis de DAG largos (más de 5 minutos).

Tiempos de análisis de DAG de Airflow y gráficos de tamaño de bolsa de DAG que muestran una serie de intervalos no continuos
Figura 3: Gráficos de tiempos de análisis de DAG no continuos y tamaño de bolsa de DAG (haz clic para ampliar)

Solución: Te recomendamos que mantengas el tiempo total de análisis del DAG por debajo de 5 minutos. Para reducir el tiempo de análisis de DAG, sigue los lineamientos de escritura de DAG.

No se admite cambiar el clúster del entorno a la edición de GKE Enterprise.

Esta nota se aplica a Cloud Composer 1 y Cloud Composer 2.

El clúster de GKE del entorno de Cloud Composer se crea dentro de la edición estándar de GKE.

A partir de diciembre de 2024, el servicio de Cloud Composer no admitirá la creación de entornos de Cloud Composer con clústeres en la edición empresarial.

Los entornos de Cloud Composer no se probaron con la edición empresarial de GKE y tienen un modelo de facturación diferente.

En el segundo trimestre de 2025, se enviará más información relacionada con la comparación entre la edición estándar de GKE y la edición empresarial.

El entorno está en el estado ERROR después de que se borró o desactivó la cuenta de facturación del proyecto, o se inhabilitó la API de Cloud Composer.

Los entornos de Cloud Composer afectados por estos problemas no se pueden recuperar:

  • Después de que se borró o desactivó la cuenta de facturación del proyecto, incluso si se vinculó otra cuenta más adelante.
  • Después de que la API de Cloud Composer se inhabilitó en el proyecto, incluso si se habilitó más adelante.

Puedes hacer lo siguiente para solucionar el problema:

  • Aún puedes acceder a los datos almacenados en los buckets de tu entorno, pero ya no se pueden usar los entornos. Puedes crear un nuevo entorno de Cloud Composer y, luego, transferir tus DAG y datos.

  • Si quieres realizar alguna de las operaciones que hacen que tus entornos no se puedan recuperar, asegúrate de crear una copia de seguridad de tus datos, por ejemplo, creando una instantánea de un entorno. De esta manera, puedes crear otro entorno y transferir sus datos cargando esta instantánea.

Advertencias sobre el presupuesto de interrupción de Pods para clústeres de entornos

Puedes ver las siguientes advertencias en la IU de GKE para los clústeres de entornos de Cloud Composer:

GKE can't perform maintenance because the Pod Disruption Budget allows
for 0 Pod evictions. Update the Pod Disruption Budget.
A StatefulSet is configured with a Pod Disruption Budget but without readiness
probes, so the Pod Disruption Budget isn't as effective in gauging application
readiness. Add one or more readiness probes.

No es posible eliminar estas advertencias. Trabajamos para evitar que se generen estas advertencias.

Soluciones posibles:

  • Ignora estas advertencias hasta que se solucione el problema.

¿Qué sigue?