Migra entornos a Cloud Composer 3

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

En esta página, se explica cómo transferir DAG, datos y configuración desde tu entorno existente de Cloud Composer 2 a Cloud Composer 3.

Antes de comenzar

  • En esta guía de migración, se usan instantáneas. Las instantáneas son compatibles con Cloud Composer 2 versión 2.0.9 y versiones posteriores.

  • Cloud Composer admite la migración en paralelo de Cloud Composer 2 a Cloud Composer 3. No es posible actualizar de Cloud Composer 2 a Cloud Composer 3 sin mover los datos.

  • Consulta el lista de diferencias entre Cloud Composer 2 y Cloud Composer 3 Asegúrate de que tu entorno no use funciones que no estén disponibles en la versión preliminar pública de Cloud Composer 3.

  • El tamaño máximo de la base de datos de Airflow que admite instantáneas es de 20 GB. Si la base de datos de tu entorno toma más de 20 GB, Reduce el tamaño de la base de datos de Airflow.

  • La cantidad total de objetos en las carpetas /dags, /plugins y /data del bucket del entorno debe ser inferior a 100,000 para crear instantáneas.

  • Si usas el mecanismo XCom para transferir archivos, asegúrate de que úsala de acuerdo con los lineamientos de Airflow. Transferir archivos grandes o una gran cantidad de archivos con XCom afecta el rendimiento de la base de datos de Airflow y puede generar fallas cuando se cargan instantáneas o se actualiza el entorno. Considera usar alternativas como Cloud Storage para transferir grandes volúmenes de datos.

Asegúrate de que tus DAG sean compatibles con Cloud Composer 3

Para asegurarte de que tus DAG sean compatibles con Cloud Composer 3, sigue estas sugerencias:

  • La lista de paquetes en el entorno de Cloud Composer 3 puede ser diferente de la de tu entorno de Cloud Composer 2. Esto podría afectar la compatibilidad de tus DAG con Cloud Composer 3.

  • Cloud Composer carga anulaciones de configuración, variables de entorno y paquetes de PyPI desde la instantánea de tu entorno de Cloud Composer 2 a Cloud Composer 3 sin cambiarlas ni ajustarlas para la compatibilidad. Si los paquetes de PyPI personalizados causan conflictos de dependencias, puedes omitir su instalación cuando cargues la instantánea.

  • En Cloud Composer 3, el clúster del entorno se encuentra en el proyecto de usuario. Asegúrate de que tus DAG sean compatibles con este cambio. En particular, las cargas de trabajo de KubernetesPodOperator ahora se escalan de forma independiente de tu entorno y no es posible usar configuraciones de afinidad de pod.

  • En Cloud Composer 3, no se puede acceder directamente a la base de datos de Airflow. Marca de que tus DAG sean compatibles con este cambio.

Detén los DAG en tu entorno de Cloud Composer 2

Para evitar ejecuciones duplicadas de DAG, detén todos los DAG en Cloud Composer 2 entorno antes de guardar su instantánea. Omite el DAG de supervisión del funcionamiento (airflow_monitoring), se usa con fines de supervisión y no se incluye en las instantáneas del entorno.

Puedes usar cualquiera de las siguientes opciones para pausar los DAG:

  • Detén los DAG uno por uno en la consola de Google Cloud:

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

      Ir a Entornos

    2. Selecciona un entorno para ver sus detalles.

    3. En la página Detalles del entorno, ve a la pestaña DAG.

    4. Haz clic en el nombre de un DAG.

    5. En la página Detalles del DAG, haz clic en Pausar DAG.

  • En la interfaz web de Airflow, ve a DAGs y pausa todos los DAG de forma manual.

  • Usa la secuencia de comandos composer_dags para pausar todos los DAG:

    python3 composer_dags.py --environment COMPOSER_2_ENV \
      --project PROJECT_ID \
      --location COMPOSER_2_LOCATION \
      --operation pause
    

    Reemplaza lo siguiente:

    • COMPOSER_2_ENV por el nombre de tu entorno de Cloud Composer 2.
    • PROJECT_ID por el ID del proyecto.
    • COMPOSER_2_LOCATION por la región en la que se encuentra el entorno

Guarda una instantánea de tu entorno de Cloud Composer 2

Console

Crea una instantánea de tu entorno:

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

    Ir a Entornos

  2. En la lista de entornos, haz clic en el nombre de tu entorno de Cloud Composer 2. Se abrirá la página Detalles del entorno.

  3. Haz clic en Crear instantánea.

  4. En el cuadro de diálogo Crear instantánea, haz clic en Enviar. En esta guía, guardas la instantánea en el bucket del entorno de Cloud Composer 2, pero puedes seleccionar una ubicación diferente si lo deseas. Si especificas una ubicación personalizada, las cuentas de servicio de ambos entornos deben tener permisos de lectura y escritura para la ubicación especificada.

  5. Espera hasta que Cloud Composer cree la instantánea.

  6. Después de crear la instantánea, el mensaje que se muestra muestra la ubicación de la instantánea. Guarda esta información para usarla más adelante cuando la cargues. instantánea en el entorno de Cloud Composer 3.

    Por ejemplo, la ubicación de la instantánea podría tener el siguiente aspecto: gs://us-central1-example-916807e1-bucket/snapshots/snapshots_example-project_us-central1_example-environment/2024-05-15T15-23-12.

gcloud

  1. Crea una instantánea de tu entorno de Cloud Composer 2:

    gcloud composer environments snapshots save \
      COMPOSER_2_ENV \
      --location COMPOSER_2_LOCATION
    

    Reemplaza lo siguiente:

    • COMPOSER_2_ENV por el nombre de tu entorno de Cloud Composer 2.
    • COMPOSER_2_LOCATION con la región en la que se encuentra el entorno de Cloud Composer 2.
    • (Opcional) Puedes usar el argumento --snapshot-location para especificar una ubicación personalizada en la que se debe almacenar la instantánea del entorno.

      En esta guía, guardarás la instantánea bucket del entorno de Cloud Composer 2, pero puedes seleccionar una ubicación diferente, si así lo deseas. Si especificas una ubicación personalizada, las cuentas de servicio de ambos entornos debe tener permisos de lectura y escritura para la ubicación especificada.

  2. Después de crear la instantánea, el mensaje que se muestra muestra la ubicación de la instantánea. Guarda esta información para usarla más adelante cuando la cargues. instantánea en el entorno de Cloud Composer 3.

    Por ejemplo, la ubicación de la instantánea podría verse de la siguiente manera: gs://us-central1-example-916807e1-bucket/snapshots/snapshots_example-project_us-central1_example-environment/2024-05-15T15-23-12

Crea un entorno de Cloud Composer 3

Crea un entorno de Cloud Composer 3 con los siguientes lineamientos:

  • Puedes comenzar con la misma configuración de límites de recursos que el entorno de Cloud Composer 2 y, luego, escalar y optimizar la configuración un poco más lejos.

  • En los entornos de Cloud Composer 3, El procesador de DAG de Airflow se ejecuta como un de entorno. Debido a que el procesador de DAG descarga el análisis de los DAG del programador, tal vez quieras redistribuir los recursos previamente asignados a programadores de Airflow. Puedes hacerlo más adelante, después de migrar a Cloud Composer 3 y supervisar el rendimiento del programador y del procesador de DAG.

  • Cloud Composer 3 brinda una red más optimizada y simplificada en comparación con Cloud Composer 2. Es posible alternar entre la configuración de redes de IP pública y privada, y conectar y desconectar redes de VPC. No es necesario que especifiques los rangos de IP. Asegúrate de que las redes de tu entorno de Cloud Composer 3 coincide con la configuración correspondiente de Cloud Composer 2.

  • No es necesario que especifiques las anulaciones de configuración ni las variables de entorno, ya que las reemplazarás más adelante cuando cargues la instantánea de tu entorno de Cloud Composer 2.

Carga la instantánea en tu entorno de Cloud Composer 3

Console

Para cargar la instantánea en tu entorno de Cloud Composer 3, sigue estos pasos:

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

    Ir a Entornos

  2. En la lista de entornos, haz clic en el nombre de tu entorno de Cloud Composer 3. Se abrirá la página Detalles del entorno.

  3. Haz clic en Cargar instantánea.

  4. En el diálogo Cargar instantánea, haz clic en Explorar.

  5. Selecciona la carpeta con la instantánea.

    Si usas la ubicación predeterminada para esta guía, esta se encuentra en tu bucket de entorno de Cloud Composer 2 en la carpeta /snapshots. su nombre es la marca de tiempo de la operación de guardado de la instantánea. Es igual. ubicación se mostró en el mensaje sobre la creación exitosa de la instantánea.

    Por ejemplo: us-central1-example-916807e1-bucket/snapshots_example-project_us-central1_example-environment/2024-05-15T15-23-12

  6. Haz clic en Cargar y espera hasta que Cloud Composer cargue la instantánea.

gcloud

Carga la instantánea de tu entorno de Cloud Composer 2 a tu entorno de Cloud Composer 3:

gcloud composer environments snapshots load \
  COMPOSER_3_ENV \
  --location COMPOSER_3_LOCATION \
  --snapshot-path "SNAPSHOT_PATH"

Reemplaza lo siguiente:

  • COMPOSER_3_ENV por el nombre de tu entorno de Cloud Composer 3
  • COMPOSER_3_LOCATION con la región en la que se encuentra el entorno de Cloud Composer 3.
  • SNAPSHOT_PATH con el URI del bucket de tu entorno de Cloud Composer 2, seguido de la ruta de acceso a la instantánea. La misma ubicación se mostró en el mensaje sobre la creación correcta de la instantánea. Por ejemplo: gs://us-central1-example-916807e1-bucket/snapshots/example-project_us-central1_example-environment_2024-05-15T15-23-12

Cómo reanudar los DAG en el entorno de Cloud Composer 3

Puedes usar cualquiera de las siguientes opciones:

  • Reanuda los DAG uno por uno en la consola de Google Cloud:

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

      Ir a Entornos

    2. Selecciona un entorno para ver sus detalles.

    3. En la página Detalles del entorno, ve a la pestaña DAG.

    4. Haz clic en el nombre de un DAG.

    5. En la página Detalles del DAG, haz clic en Reanudar DAG.

  • En la interfaz web de Airflow, ve a los DAG y reanuda todos los DAG de forma manual uno por uno.

  • Usa la secuencia de comandos composer_dags para reanudar todos los DAG:

      python3 composer_dags.py --environment COMPOSER_3_ENV \
      --project PROJECT_ID \
      --location COMPOSER_3_LOCATION \
      --operation unpause
    

    Reemplaza lo siguiente:

    • COMPOSER_3_ENV por el nombre de tu entorno de Cloud Composer 3
    • PROJECT_ID por el ID del proyecto.
    • COMPOSER_3_LOCATION por la región en la que se encuentra el entorno.

Verifica si hay errores en el DAG

  1. En la interfaz web de Airflow, ve a DAGs y verifica si hay errores de sintaxis de DAG informados.

  2. Verifica que las ejecuciones de DAG estén programadas a la hora correcta.

  3. Espera a que las ejecuciones del DAG se produzcan en el entorno de Cloud Composer 3 y para verificar si tuvieron éxito. Si una ejecución de DAG se realizó correctamente, no la despausas en el entorno de Cloud Composer 2. Si lo haces, se ejecutará un DAG para la misma hora y fecha en tu entorno de Cloud Composer 2.

  4. Si una ejecución de DAG específica falla, intenta solucionar el problema del DAG hasta que se ejecute correctamente en Cloud Composer 3.

Supervisa tu entorno de Cloud Composer 3

Después de transferir todos los DAG y la configuración a Cloud Composer 3 entorno, supervísalo en busca de posibles problemas, ejecuciones fallidas de DAG y, en general, y el estado del entorno.

Si el entorno de Cloud Composer 3 se ejecuta sin problemas durante un período suficiente, considera borrar el entorno de Cloud Composer 2.

¿Qué sigue?