En esta página, se describe el proceso de creación de entornos de ejecutor que ejecutarán tus canalizaciones de organización.
Acerca de los entornos de ejecutor
Cada entorno de implementación debe tener un entorno de ejecutor. Managed Airflow es el motor de organización que ejecuta tus canalizaciones después de que se implementan. Un entorno de ejecutor 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 en Google Cloud es Managed Service para Apache Airflow. Se aplican todos los límites del sistema y las cuotas de Managed Airflow . Consulta los precios de Managed Airflow para obtener más información sobre los costos de un entorno de ejecutor.
Las canalizaciones de organización se pueden ejecutar en entornos de ejecutor 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 están preinstalados en Managed Airflow a partir de las siguientes versiones:
composer-3-airflow-3.1.7-build.5composer-3-airflow-2.11.1-build.1,composer-3-airflow-2.10.5-build.34ycomposer-3-airflow-2.9.3-build.54composer-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
orchestration-pipelinespaquete 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 Google Cloud la consola, 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 Managed Airflow con IP pública. Managed Airflow proporciona 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 ejecutor, consulta Crea entornos en la documentación de Managed Airflow.
Revisa los roles de IAM necesarios
Para obtener los permisos que necesitas para crear entornos de ejecutor en tu proyecto, pídele a tu administrador que te otorgue los siguientes roles:
- Rol de 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 para Apache Airflow y administrar objetos en 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 de Managed Service para Apache Airflow.
Habilita la API de Cloud Composer y las APIs para acciones
- Habilita la API de Cloud Composer. Para obtener la lista completa de los servicios que usa Managed Airflow, consulta Servicios requeridos por Managed Airflow.
- Habilita las APIs para Google Cloud los servicios que deseas usar (como la API de Dataproc).
Crea una cuenta de servicio nueva para el entorno de ejecutor y otórgale roles de IAM
La cuenta de servicio del entorno de ejecutor se usa para crear un entorno nuevo de Managed Service para Apache Airflow y ejecutar todas las canalizaciones de organización que implementes en él.
Pídele a tu administrador que haga lo siguiente:
Crea una cuenta de servicio nueva como se describe en la documentación de Identity and Access Management.
Otórgale el rol Trabajador de Composer (
composer.worker). En la mayoría de los casos, este rol proporciona el conjunto de permisos necesarios.Para acceder a otros recursos en tu Google Cloud proyecto, otórgale 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 organización.
Si deseas usar un entorno de Managed Airflow (2ª gen.), sigue las instrucciones que se indican en Otorga los permisos necesarios a la cuenta de servicio de Managed Airflow para otorgar permisos adicionales.
Otorga los permisos que requerirá tu canalización. La cuenta de servicio de este entorno de ejecutor ejecutará todas las tareas de organización en una canalización, por lo que debes otorgar de forma manual 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 de 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, se debe habilitar la API de Dataproc.
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: 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-3ocomposer-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.iam.gserviceaccount.com"
Ejemplo de configuración de cargas de trabajo recomendada para la versión preliminar (puedes aumentarla o disminuirla más adelante):
gcloud composer environments create example-runner \
--location us-central1 \
--image-version composer-3-airflow-3 \
--service-account "example-account@example-project.iam.gserviceaccount.com" \
--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.
(Opcional) Instala el paquete de canalizaciones de organización desde PyPI
Las canalizaciones de organización dependen del
orchestration-pipelines paquete de PyPI.
De forma predeterminada, tu entorno de ejecutor 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 la instalación de paquetes de PyPI en tu entorno de ejecutor y ejemplos de cómo hacerlo en la Google Cloud consola y Terraform, consulta Instala dependencias de Python en la documentación de Managed Service para Apache Airflow.
¿Qué sigue?
- Agrega el entorno de ejecutor a la [configuración de implementación][op-deploy].