Problemas 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 problemas, consulta las notas de la versión.

Algunos problemas afectan a versiones anteriores y se pueden solucionar actualizando el entorno.

Los intervalos de direcciones que no son RFC 1918 se admiten parcialmente en pods y servicios

Cloud Composer depende de GKE para ofrecer compatibilidad con direcciones que no sean RFC 1918 para pods y servicios. En Cloud Composer solo se admite la siguiente lista de intervalos no incluidos en 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 interfaz de usuario 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

Si habilitas la serialización de DAGs en entornos que usan las versiones 1.10.2 y 1.10.3 de Composer, los registros no se mostrarán en el servidor web de Airflow. Actualiza a la versión 1.10.4 (o posterior) para solucionar este problema.

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

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

El mensaje de error del programador de Airflow puede ser similar a este:

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?

También 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 frente a este tipo de errores derivados de un problema antiguo de Airflow, se recomienda implementar de forma proactiva estrategias de reintento adecuadas tanto a nivel de tarea como de DAG. Al incorporar estas medidas, el sistema puede mitigar eficazmente el impacto de estos errores, lo que mejora la fiabilidad y la resiliencia generales del flujo de trabajo.

No se admite Workload Identity Federation para GKE

En Cloud Composer 1, no puedes habilitar Workload Identity Federation para GKE en clústeres de entornos de Cloud Composer. Por lo tanto, es posible que veas el resultado WORKLOAD_IDENTITY_DISABLED en Security Command Center.

Las etiquetas de entorno añadidas durante una actualización no se propagan por completo

Cuando actualizas las etiquetas de un entorno, no se aplican a las VMs de Compute Engine del clúster del entorno. Como solución alternativa, puede aplicar las etiquetas manualmente.

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

En Airflow 1.10.x se introdujeron cambios incompatibles con versiones anteriores en la convención de nomenclatura de los archivos de registro. Ahora se añade información sobre la zona a los nombres de los registros de las tareas de Airflow.

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

Por lo tanto, si actualizas de Airflow 1.9.0 a Airflow 1.10.x y quieres 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 generados por Airflow 1.9.0 en el segmento 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/compute.disableSerialPortLogging

No se puede crear un entorno de Cloud Composer si la constraints/compute.disableSerialPortLogging política de organización se aplica al proyecto de destino.

Diagnóstico

Para determinar si te afecta este problema, sigue este procedimiento:

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

A continuación, selecciona el clúster que acabas de crear. Comprueba si se produce 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:

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

    Una política de organización siempre se puede inhabilitar a nivel de proyecto, aunque los recursos principales (organización o carpeta) la tengan habilitada. Consulta más información en la página sobre cómo personalizar políticas con restricciones booleanas.

  2. Usar filtros de exclusión

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

Uso de Deployment Manager para gestionar Google Cloud recursos protegidos por Controles de Servicio de VPC

Las versiones 2.0.x de Cloud Composer 1 y Cloud Composer 2 usan Deployment Manager para crear componentes de entornos de Cloud Composer.

En diciembre del 2020, puede que hayas recibido información sobre la necesidad de llevar a cabo una configuración adicional de Controles de Servicio de VPC para poder usar Deployment Manager y gestionar los recursos protegidos por Controles de Servicio de VPC.

Queremos aclarar que no es necesario que hagas nada si usas Cloud Composer y no utilizas Deployment Manager directamente para gestionar los recursos mencionados en el anuncio de Deployment Manager. Google Cloud

Deployment Manager muestra información sobre una función no admitida

Puede que vea la siguiente advertencia en la pestaña Gestor de implementaciones:

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

En el caso de las implementaciones de Deployment Manager propiedad de Cloud Composer, puede ignorar esta advertencia.

No se puede eliminar un entorno después de eliminar su clúster

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

Si eliminas el clúster de GKE de tu entorno antes que el propio entorno, al intentar eliminar el entorno se producirá el siguiente error:

 Got error "" during CP_DEPLOYMENT_DELETING [Rerunning Task. ]

Para eliminar un entorno cuando ya se ha eliminado su clúster, sigue estos pasos:

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

    Ir a Deployment Manager

  2. Buscar todas las implementaciones marcadas con etiquetas:

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

    Deberían aparecer dos implementaciones marcadas con las etiquetas descritas:

    • Un despliegue llamado <environment-location>-<environment-name-prefix>-<hash>-sd
    • Un despliegue llamado addons-<uuid>
  3. Elimina manualmente los recursos que sigan apareciendo en estos dos despliegues y que estén en el proyecto (por ejemplo, temas y suscripciones de Pub/Sub). Para ello:

    1. Selecciona los despliegues.

    2. Haz clic en Eliminar.

    3. Selecciona la opción Eliminar 2 despliegues y todos los recursos que hayan creado, como VMs, balanceadores de carga y discos y haz clic en Eliminar todo.

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

  4. Elimina las implementaciones con una de estas opciones:

    • En la Google Cloud consola, vuelve a seleccionar ambas implementaciones. Haz clic en Eliminar y, a continuación, selecciona la opción Eliminar 2 implementaciones, pero mantener los recursos que hayan creado.

    • Ejecuta un comando de gcloud para eliminar los despliegues 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. Elimina tu entorno de Cloud Composer.

Advertencias sobre entradas duplicadas de la tarea "echo" que pertenece 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 procesamiento de tareas y DAGs de Airflow.

Estamos trabajando para mejorar el servicio Cloud Composer y eliminar estas advertencias de los registros de Airflow.

No se puede crear el entorno en proyectos con APIs de Identity-Aware Proxy añadidas al perímetro de Controles de Servicio de VPC

En los proyectos en los que Controles de Servicio de VPC está habilitado, la cuenta 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 añadas API de Cloud Identity-Aware Proxy ni API de Identity-Aware Proxy TCP al perímetro de seguridad.

  • Añade la cloud-airflow-prod@system.gserviceaccount.comcuenta de serviciocomo miembro de tu perímetro de seguridad con la siguiente configuración en el archivo de condiciones YAML:

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

Fallo al crear un entorno de Cloud Composer 1 cuando la política compute.requireOsLogin está habilitada

Si la política compute.requireOsLogin tiene el valor true en tu proyecto, se producirá un error en las operaciones de creación de entornos de Cloud Composer 1 v1.

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 organización, consulta Restricciones de la política de organización.

La creación o la actualización de un entorno de Cloud Composer falla cuando la política compute.vmExternalIpAccess está inhabilitada

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

Los clústeres de GKE propiedad de Cloud Composer configurados en el modo de IP pública requieren conectividad externa para sus VMs. Por este motivo, la política compute.vmExternalIpAccess no puede prohibir la creación de VMs con direcciones IP externas. Para obtener más información sobre esta política de organización, consulta Restricciones de la política de organización.

No se puede crear un entorno de Cloud Composer 1 cuando la política compute.vmCanIpForward está inhabilitada

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

La primera ejecución de un archivo DAG subido tiene varias tareas fallidas

Cuando subes un archivo DAG, a veces las primeras tareas del primer DAG que se ejecuta fallan y se produce el error Unable to read remote log.... Este problema se produce porque el archivo 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 programa su ejecución por parte de 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 de una tarea fallida 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 [core]default_task_retries de Airflow y asigna un valor mayor o igual que 2.

La tarea falla con el error "OSError: [Errno 5] Input/output error" en Airflow 1.10.15 o versiones anteriores

Un error en las versiones de Airflow 1 provoca que las tareas se incluyan dos veces en la cola de tareas del entorno en algunos casos excepcionales.

A veces, puede provocar una condición de carrera en el archivo de registro y un error posterior en 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 ha corregido en Airflow 2. Si te encuentras con este problema en Airflow 1 en una tarea de larga duración, aumenta el valor de la opción de configuración [celery_broker_transport_options]visibility_timeout de Airflow (el valor predeterminado es 604800 para Composer 1.17.0 y 21600 para entornos anteriores). En el caso de las tareas de corta duración, considera la posibilidad de añadir más reintentos a las tareas afectadas o de migrar tu entorno a Airflow 2.

Los operadores de Dataproc y Dataflow fallan con Negsignal.SIGSEGV

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

La solución alternativa consiste en cambiar la estrategia de sondeo de grpcio añadiendo la siguiente variable de entorno a tu entorno: GRPC_POLL_STRATEGY=epoll1. Esta solución alternativa ya se ha aplicado en Cloud Composer 1.17.1 y versiones posteriores.

Anuncios sobre la retirada de la compatibilidad con APIs beta obsoletas de versiones de GKE

Cloud Composer gestiona los clústeres de GKE subyacentes propiedad de Cloud Composer. A menos que uses explícitamente estas APIs en tus DAGs y tu código, puedes ignorar los anuncios sobre las APIs de GKE obsoletas. Cloud Composer se encarga de las migraciones, 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 ha llevado a cabo una investigación detallada y creemos que Cloud Composer no es vulnerable a este exploit.

Los trabajadores o programadores de Airflow pueden tener problemas al acceder al segmento de Cloud Storage del entorno

Cloud Composer usa gcsfuse para acceder a la carpeta /data del segmento del entorno y para 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 se produzcan errores en las instancias de tareas de Airflow y que aparezcan errores Transport endpoint is not connected en los registros de Airflow.

Soluciones:

Es posible que la interfaz de usuario de Airflow no vuelva a cargar un complemento una vez que se haya cambiado

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

Problemas intermitentes al comunicarse con la base de datos del entorno

Este problema conocido solo se aplica a Cloud Composer 1.

Algunos entornos de Cloud Composer 1 anteriores (1.16.3 o versiones anteriores) creados antes del 12 de agosto del 2021 pueden experimentar problemas transitorios relacionados con la comunicación con la base de datos de Airflow.

Si tienes 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 solucionar este problema. Mientras tanto, si crees que este problema te afecta mucho, puedes hacer lo siguiente para mitigarlo:

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

  2. Siga el enlace Ver detalles del clúster para ir al clúster de GKE subyacente del entorno.

  3. Ve a la pestaña Nodos y haz clic en default-pool, que se encuentra 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. En la parte superior de la página, haz clic en Editar.

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

    Cambiar el tipo de imagen de un grupo de nodos de Docker a containerd
    Imagen 2. Cambiar el tipo de imagen del grupo de nodos de Docker a containerd (haga clic para ampliar)
  6. Una vez que se envíe el cambio, el grupo de nodos default-pool se volverá a configurar para usar containerd como entorno de ejecución de contenedores. Es posible que algunas de tus tareas de Airflow fallen mientras se vuelve a configurar el grupo de nodos. Si esas tareas tienen reintentos configurados, Airflow las volverá a ejecutar una vez que se haya completado la operación en el grupo de nodos.

Error 504 al acceder a la interfaz de usuario de Airflow

Puedes recibir el error 504 Gateway Timeout al acceder a la interfaz de usuario de Airflow. Este error puede deberse a varios motivos:

  • Problema de comunicación transitorio. En ese caso, intenta acceder a la interfaz de usuario de Airflow más tarde. También puedes reiniciar el servidor web de Airflow.

  • (Solo Cloud Composer 3) Problema de conectividad. Si la interfaz de usuario 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 interfaz de usuario 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 Acceso privado a Google y envías tráfico a través de IPs virtuales private.googleapis.com o Controles de Servicio de VPC y envías tráfico a través de IPs virtuales restricted.googleapis.com, asegúrate de que tu Cloud DNS también esté configurado para los nombres de dominio *.composer.cloud.google.com.

  • El servidor web de Airflow no responde. Si el error 504 persiste, pero sigues pudiendo acceder a la interfaz de usuario de Airflow en determinados momentos, es posible que el servidor web de Airflow no responda porque está sobrecargado. Intenta aumentar los parámetros de escala y rendimiento del servidor web.

Error 502 al acceder a la interfaz de usuario de Airflow

El error 502 Internal server exception indica que la interfaz de Airflow no puede servir solicitudes entrantes. Este error puede deberse a varios motivos:

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

  • No se ha podido iniciar el servidor web. Para empezar, el servidor web requiere que se sincronicen los archivos de configuración. Comprueba si en los registros del servidor web hay entradas de registro similares a las siguientes: 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, comprueba si los archivos mencionados en los mensajes de error siguen presentes en el bucket del entorno.

    Si se eliminan por error (por ejemplo, porque se ha configurado una política de conservación), puedes restaurarlos:

    1. Define 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 exista.

La interfaz de usuario de Airflow en las versiones 2.2.3 o anteriores es vulnerable a CVE-2021-45229

Como se indica en CVE-2021-45229, la pantalla "Activar DAG con configuración" era vulnerable a ataques XSS a través del argumento de consulta origin.

Recomendación: Actualice a la versión más reciente de Cloud Composer que sea compatible con Airflow 2.2.5.

Activación de DAGs a través de redes privadas mediante funciones de Cloud Run

Cloud Composer no admite el activador de DAGs con funciones de Cloud Run a través de redes privadas con el uso de conectores de VPC.

Recomendación: Usa Cloud Run Functions para publicar mensajes en Pub/Sub. Estos eventos pueden activar sensores Pub/Sub para que activen DAGs de Airflow o implementen un enfoque basado en operadores aplazables.

Carpetas vacías en el programador y los trabajadores

Cloud Composer no elimina de forma activa las carpetas vacías de los workers y los programadores de Airflow. Estas entidades se pueden crear como resultado del proceso de sincronización de contenedores de entorno cuando estas carpetas existían en el contenedor y se eliminaron posteriormente.

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

Estas entidades se eliminan de los almacenamientos locales de los programadores y los trabajadores de Airflow cuando se reinician estos componentes (por ejemplo, como resultado de operaciones de reducción de escala o de mantenimiento en el clúster de tu entorno).

Compatibilidad con Kerberos

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

Asistencia para operadores de Google Campaign Manager 360

Los operadores de Google Campaign Manager de las versiones de Cloud Composer anteriores a la 2.1.13 se basan en la API v3.5 de Campaign Manager 360, que está obsoleta y dejará de estar disponible el 1 de mayo del 2023.

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

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 Display & Video 360 v1.1, que está obsoleta y se retirará el 27 de abril del 2023.

Si usas operadores de Google Display & Video 360, actualiza tu entorno a Cloud Composer 2.1.13 o una versión posterior. Además, es posible que tengas que cambiar tus DAGs porque algunos de los operadores de Google Display & Video 360 están obsoletos y se han sustituido por otros nuevos.

  • GoogleDisplayVideo360CreateReportOperator está obsoleta. En su lugar, usa GoogleDisplayVideo360CreateQueryOperator. Este operador devuelve query_id en lugar de report_id.
  • GoogleDisplayVideo360RunReportOperator está obsoleta. En su lugar, usa GoogleDisplayVideo360RunQueryOperator. Este operador devuelve query_id y report_id en lugar de solo report_id, y requiere query_id en lugar de report_id como parámetro.
  • Para comprobar si un informe está listo, usa el nuevo sensor GoogleDisplayVideo360RunQuerySensor que utiliza los parámetros query_id y report_id. El sensor GoogleDisplayVideo360ReportSensor obsoleto solo requería report_id.
  • Ahora, GoogleDisplayVideo360DownloadReportV2Operator requiere los parámetros query_id y report_id.
  • En GoogleDisplayVideo360DeleteReportOperator no hay cambios que puedan afectar a tus DAGs.

Restricciones de nombres de intervalos secundarios

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

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

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

En Cloud Composer, el acceso a la interfaz de usuario de Airflow está protegido con IAM y control de acceso a la interfaz de usuario de Airflow.

Esto significa que, para aprovechar la vulnerabilidad de la interfaz de usuario 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 gestión de identidades y accesos de tu proyecto, incluidos los roles de Cloud Composer asignados a usuarios concretos. Asegúrate de que solo los usuarios aprobados puedan acceder a la interfaz de usuario de Airflow.

  • Verifica los roles asignados a los usuarios mediante el mecanismo de control de acceso a la interfaz de usuario de Airflow (se trata de un mecanismo independiente que proporciona un acceso más granular a la interfaz de usuario de Airflow). Asegúrate de que solo los usuarios aprobados puedan acceder a la interfaz de usuario de Airflow y de que todos los usuarios nuevos se registren con el rol adecuado.

  • Considera la posibilidad de reforzar la seguridad con Controles de 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 puede aumentar porque el disco se amplía 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 quieres usar el tamaño de disco más pequeño de Cloud SQL, puedes volver a crear entornos de Cloud Composer con capturas.

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

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

Tanto MySQL como PostgreSQL implementan mecanismos para recuperar espacio después de eliminar registros.

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

Instancias de tareas que se completaron correctamente en el pasado y que ahora están marcadas como FALLIDAS

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

Si esto ocurre, suele deberse a una actualización o una operación de actualización del entorno, o bien al mantenimiento de GKE.

Nota: El problema en sí no indica ningún problema en el entorno y no provoca ningún fallo en la ejecución de las tareas.

El problema se ha solucionado en Cloud Composer 2.6.5 o versiones posteriores.

Diagramas de tiempos de análisis de DAG no continuos y de tamaño de bolsa de DAG en la monitorización

Los diagramas de tiempos de análisis de DAGs no continuos y de tamaño de bolsa de DAGs del panel de control de monitorización indican problemas con tiempos de análisis de DAGs largos (más de 5 minutos).

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

Solución: Te recomendamos que el tiempo total de análisis de los DAGs no supere los 5 minutos. Para reducir el tiempo de análisis de los DAGs, sigue las directrices de escritura de DAGs.

No se admite cambiar el clúster del entorno a la edición 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 en GKE Standard Edition.

Desde diciembre del 2024, el servicio Cloud Composer no admite la creación de entornos de Cloud Composer con clústeres en la edición Enterprise.

Los entornos de Cloud Composer no se han probado con GKE Enterprise Edition, que tiene un modelo de facturación diferente.

En el segundo trimestre del 2025, se enviará más información sobre las diferencias entre la edición Standard y la Enterprise de GKE.

El entorno está en estado ERROR después de que se haya eliminado o desactivado la cuenta de facturación del proyecto, o bien se haya inhabilitado la API de Cloud Composer

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

  • Después de que se eliminara o desactivara la cuenta de facturación del proyecto, aunque se vinculara otra cuenta más adelante.
  • Después de que la API Cloud Composer se inhabilitara en el proyecto, aunque se habilitara más adelante.

Para solucionar el problema, puedes hacer lo siguiente:

  • Puedes seguir accediendo a los datos almacenados en los contenedores de tu entorno, pero los entornos en sí ya no se pueden usar. Puedes crear un entorno de Cloud Composer y, a continuación, transferir tus DAGs y datos.

  • Si quieres realizar alguna de las operaciones que hacen que tus entornos sean irrecuperables, asegúrate de crear una copia de seguridad de tus datos. Por ejemplo, puedes crear una instantánea del entorno. De esta forma, puedes crear otro entorno y transferir sus datos cargando esta instantánea.

Advertencias sobre el presupuesto de interrupciones de pods de clústeres de entornos

En la interfaz de usuario de GKE, puedes ver las siguientes advertencias sobre 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. Estamos trabajando para evitar que se generen estas advertencias.

Posibles soluciones:

  • Ignora estas advertencias hasta que se solucione el problema.

No se puede eliminar el valor de un campo de una conexión de Airflow

Causa:

La interfaz de usuario de Apache Airflow tiene una limitación que impide actualizar los campos de conexión a valores vacíos. Cuando intentes hacerlo, el sistema volverá a la configuración guardada anteriormente.

Posibles soluciones:

Aunque la versión 2.10.4 de Apache Airflow incluye una solución permanente, los usuarios de versiones anteriores pueden usar una solución alternativa temporal. Para ello, debes eliminar la conexión y volver a crearla, dejando vacíos los campos obligatorios. La interfaz de línea de comandos es el método recomendado para eliminar la conexión:

gcloud composer environments run ENVIRONMENT_NAME \
--location LOCATION \
connections delete -- \
CONNECTION_ID

Después de eliminar la conexión, vuelve a crearla con la interfaz de usuario de Airflow y asegúrate de que los campos que quieras dejar vacíos estén en blanco. También puedes crear la conexión ejecutando el comando connections add de la CLI de Airflow con la CLI de Google Cloud.

Los registros de las tareas de Airflow no se recogen si [core]execute_tasks_new_python_interpreter se define como True

Cloud Composer no recoge registros de tareas de Airflow si la opción de configuración de Airflow [core]execute_tasks_new_python_interpreter está definida como True.

Solución posible:

  • Elimine la anulación de esta opción de configuración o asigne el valor False.

Siguientes pasos