Crea entornos de ejecutores

En esta página, se describe el proceso de creación de entornos de ejecutores que ejecutarán tus canalizaciones de orquestación.

Acerca de los entornos de ejecutores

Cada entorno de implementación debe tener un entorno de ejecución. Managed Airflow es el motor de organización que ejecuta tus canalizaciones después de que se implementan. Un entorno de ejecución es un entorno de Managed Airflow que asignaste a tu entorno de implementación.

Antes de comenzar

  • Por el momento, el único ejecutor disponible para las Canalizaciones de organización enGoogle Cloud es Managed Service para Apache Airflow. Se aplican todas las cuotas y los límites del sistema de Managed Airflow. Consulta los precios de Managed Airflow para obtener más información sobre los costos de un entorno de ejecución.

  • Las canalizaciones de organización se pueden ejecutar en entornos de ejecutores de Managed Airflow (3ª gen.) y (2ª gen.). En Managed Airflow (3ª gen.), puedes usar Airflow 3 y Airflow 2.

  • Los paquetes de Canalizaciones de organización vienen preinstalados en Managed Airflow a partir de las siguientes versiones:

    • composer-3-airflow-3.1.7-build.5
    • composer-3-airflow-2.11.1-build.1, composer-3-airflow-2.10.5-build.34 y composer-3-airflow-2.9.3-build.54
    • composer-2.16.11-airflow-2.11.1, composer-2.16.11-airflow-2.10.5

    Si usas una versión anterior de Managed Airflow, puedes instalar el paquete orchestration-pipelines de PyPI de forma manual.

  • El tiempo aproximado para crear un entorno de Managed Airflow es de 25 minutos.

  • Puedes crear entornos de Managed Airflow en la consola deGoogle Cloud , gcloud CLI y Terraform. En esta guía, solo se muestran los comandos de gcloud CLI. Para obtener instrucciones y ejemplos de otros enfoques, consulta Crea entornos en la documentación de Managed Airflow.

  • La configuración predeterminada que se proporciona en esta guía crea un entorno de Airflow administrado con IP pública. Managed Airflow ofrece muchas más opciones para la configuración de redes y seguridad. Para obtener más información sobre las diferentes formas de configurar un entorno de ejecución, consulta Crea entornos en la documentación de Managed Airflow.

Revisa los roles de IAM obligatorios

Para obtener los permisos que necesitas para crear entornos de ejecución en tu proyecto, pídele a tu administrador que te otorgue los siguientes roles:

  • Administrador de objetos de almacenamiento y entorno (composer.environmentAndStorageObjectAdmin) y Usuario de cuenta de servicio (iam.serviceAccountUser) para crear y administrar entornos en Managed Service for Apache Airflow, y administrar objetos en los buckets asociados con estos entornos. Para obtener más información sobre estos roles de usuario, consulta Otorga roles a los usuarios en la documentación del Servicio administrado para Apache Airflow.

Habilita la API de Cloud Composer y las APIs para acciones

  1. Habilitar la API de Cloud Composer. Para obtener la lista completa de los servicios que usa Managed Airflow, consulta Servicios requeridos por Managed Airflow.
  2. Habilita las APIs para los servicios de Google Cloud que quieras usar (como la API de Dataproc).

Crea una cuenta de servicio nueva para el entorno del ejecutor y otórgale roles de IAM

La cuenta de servicio del entorno del ejecutor se usa para crear un nuevo entorno de Managed Service for Apache Airflow y ejecutar todas las canalizaciones de organización que implementes en él.

Pídele al administrador que realice las siguientes acciones:

  1. Crea una cuenta de servicio nueva como se describe en la documentación de Identity and Access Management.

  2. Otorga el rol Trabajador de Composer (composer.worker) a la cuenta. En la mayoría de los casos, este rol proporciona el conjunto de permisos necesarios.

    Para acceder a otros recursos en tu proyecto Google Cloud , otorga permisos adicionales a esta cuenta de servicio para acceder a esos recursos. Agrega permisos adicionales a esta cuenta de servicio solo cuando sea necesario para el funcionamiento de tu canalización de orquestación.

  3. Si deseas usar un entorno de Managed Airflow (Gen 2), sigue las instrucciones en Otorga los permisos necesarios a la cuenta de servicio de Managed Airflow para otorgar permisos adicionales.

  4. Otorga los permisos que requerirá tu canalización. Todas las tareas de orquestación en una canalización se ejecutarán con la cuenta de servicio de este entorno de ejecución, por lo que debes otorgar manualmente todos los permisos necesarios en esta cuenta de servicio.

    Por ejemplo, si tu canalización usa una acción que se ejecuta en un clúster efímero de Managed Service para Apache Spark, la cuenta de servicio del entorno del ejecutor debe tener permisos para crear y borrar un clúster de Managed Service para Apache Spark, así como para activar y administrar trabajos de Managed Service para Apache Spark. Además, la API de Dataproc debe estar habilitada.

Crea un entorno de Managed Service para Apache Airflow

Crea un entorno de Managed Service para Apache Airflow con las siguientes consideraciones.

  • Nombre del entorno: Cualquier nombre Usarás este nombre más adelante para [implementar][op-deploy] tus canalizaciones. Ejemplo: example-runner.
  • Versión de la imagen: Es la versión de Managed Service para Apache Airflow y Airflow que se usará. En gcloud CLI, puedes usar un alias que apunte a la versión predeterminada, por ejemplo, composer-3-airflow-3 o composer-2-airflow-2.
  • Ubicación: Cualquier ubicación Ejemplo: us-central1.
  • Cuenta de servicio: Cuenta de servicio que creaste para este entorno.

Ejemplo de comando de gcloud CLI:

gcloud composer environments create example-runner \
  --location us-central1 \
  --image-version composer-3-airflow-3 \
  --service-account "example-account@example-project."

Ejemplo de configuración recomendada de cargas de trabajo para la versión preliminar (siempre puedes aumentar o reducir su escala más adelante):

gcloud composer environments create example-runner \
  --location us-central1 \
  --image-version composer-3-airflow-3 \
  --service-account "example-account@example-project." \
  --scheduler-cpu 2 \
  --scheduler-memory 8GB \
  --dag-processor-cpu 4 \
  --dag-processor-memory 8GB \
  --worker-cpu 4 \
  --worker-memory 8GB

La creación de un entorno de Managed Airflow tarda aproximadamente 25 minutos.

Instala el paquete de Canalizaciones de organización desde PyPI (opcional)

Canalizaciones de organización depende del paquete de PyPI orchestration-pipelines. De forma predeterminada, tu entorno de ejecución ya tiene este paquete preinstalado.

Si usas una versión anterior de Managed Airflow que no tiene este paquete preinstalado o deseas instalar una versión diferente del paquete, puedes instalar este paquete desde PyPI.

Ejemplo:

gcloud composer environments update example-runner \
    --location us-central1 \
    --update-pypi-package "orchestration-pipelines>=0.11.1"

Para obtener más información sobre cómo instalar paquetes de PyPI en tu entorno de ejecución y ver ejemplos de cómo hacerlo en la consola de Google Cloud y Terraform, consulta Instala dependencias de Python en la documentación de Managed Service para Apache Airflow.

¿Qué sigue?

  • Agrega el entorno del ejecutor a la [configuración de implementación][op-deploy].