Solución de problemas de actualizaciones y mejoras de entornos

Cloud Composer 1 | Cloud Composer 2

En esta página, se proporciona información para solucionar problemas relacionados con problemas que puedes encontrar cuando actualizas entornos de Cloud Composer.

Para obtener información sobre la solución de problemas relacionados con la creación de entornos, consulta Solución de problemas de creación de entornos.

Cuando se actualizan los entornos de Cloud Composer, la mayoría de los problemas ocurren debido a los siguientes motivos:

  • Problemas de permisos de la cuenta de servicio
  • Problemas de dependencia de PyPI
  • Tamaño de la base de datos de Airflow

No tienes permisos suficientes para actualizar un entorno

Si Cloud Composer no puede actualizar un entorno debido a permisos insuficientes, se mostrará el siguiente mensaje de error:

ERROR: (gcloud.composer.environments.update) PERMISSION_DENIED: The caller does not have permission

Solución: Asigna funciones a tu cuenta y a la cuenta de servicio de tu entorno como se describe en Control de acceso.

La cuenta de servicio del entorno no tiene permisos suficientes.

Cuando creas 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 un error:

    UPDATE operation on this environment failed 3 minutes ago with the
    following error message:
    Composer Backend timed out. Currently running tasks are [stage:
    CP_COMPOSER_AGENT_RUNNING
    description: "No agent response published."
    response_timestamp {
      seconds: 1618203503
      nanos: 291000000
    }
    ].

Solución: Asigna funciones a tu cuenta y a la cuenta de servicio de tu entorno como se describe en Control de acceso.

El tamaño de la base de datos de Airflow es demasiado grande para realizar la operación.

Es posible que una operación de actualización de Cloud Composer no se realice de forma correcta porque el tamaño de la base de datos de Airflow es demasiado grande para que las operaciones de actualización tengan éxito.

Si el tamaño de la base de datos de Airflow supera los 16 GB, Cloud Composer genera el siguiente error:

Airflow database uses more than 16 GB. Please clean the database before upgrading.

Solución: Realiza la limpieza de la base de datos de Airflow, como se describe en Mantenimiento de la base de datos de Airflow.

Una actualización a una versión nueva de Cloud Composer falla debido a conflictos de paquetes de PyPI.

Cuando actualizas un entorno con paquetes de PyPI personalizados instalados, es posible que encuentres errores relacionados con conflictos de paquetes de PyPI. Esto puede suceder porque la imagen nueva de Cloud Composer contiene versiones más recientes de paquetes preinstalados que causan conflictos de dependencia con los paquetes de PyPI que instalaste en tu entorno.

Solución:

  • Para obtener información detallada sobre los conflictos de paquetes, ejecuta una verificación de actualización.
  • Disminuye las restricciones de versiones para los paquetes personalizados de PyPI instalados. Por ejemplo, en lugar de especificar una versión como ==1.0.1, especifícala como >=1.0.1.
  • Para obtener más información sobre el cambio de los requisitos de versión a fin de resolver dependencias conflictivas, consulta la documentación de pip.

La falta de conectividad al DNS puede causar problemas cuando se realizan actualizaciones

Estos problemas de conectividad pueden dar como resultado entradas de registro como las siguientes:

WARNING - Compute Engine Metadata server unavailable attempt 1 of 5. Reason: [Errno -3] Temporary failure in name resolution Error

Por lo general, significa que no hay una ruta al DNS, así que asegúrate de que el nombre de DNS metadata.google.internal se pueda resolver en la dirección IP desde las redes del clúster, los Pods y los servicios. Verifica si tienes activado el Acceso privado a Google en la VPC (en el proyecto host o de servicio) en la que se crea tu entorno.

Más información:

¿Qué sigue?