Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3
Apache Airflow tiene una interfaz de línea de comandos (CLI) que puedes usar para realizar tareas como activar y administrar DAG, obtener información sobre las ejecuciones y tareas de DAG, agregar y borrar conexiones y usuarios.
Acerca de las versiones de la sintaxis de la CLI
Airflow en Cloud Composer 1 proporciona dos sintaxis diferentes para los comandos de la CLI:
Sintaxis de la CLI de Airflow 1.10, disponible en entornos de Cloud Composer con Airflow 1.10.
Sintaxis de la CLI de Airflow 2, entornos de Cloud Composer disponibles con Airflow 2.
Comandos compatibles con la CLI de Airflow
Para obtener una lista completa de los comandos de la CLI de Airflow admitidos, consulta la referencia de gcloud composer environments run
.
Antes de comenzar
Debes tener suficientes permisos para usar la línea de comandos de
gcloud
con Cloud Composer y ejecutar comandos de la CLI de Airflow. Para ver más consulta control de acceso.En las versiones de Cloud Composer anteriores a la 2.4.0, necesitas acceso al plano de control del clúster de tu entorno para ejecutar comandos de la CLI de Airflow.
Ejecuta comandos de la CLI de Airflow
Para ejecutar comandos de la CLI de Airflow en tus entornos, usa gcloud
:
gcloud composer environments run ENVIRONMENT_NAME \
--location LOCATION \
SUBCOMMAND \
-- SUBCOMMAND_ARGUMENTS
Reemplaza lo siguiente:
ENVIRONMENT_NAME
por el nombre del entorno.LOCATION
por la región en la que se encuentra el entornoSUBCOMMAND
por uno de los comandos de la CLI de Airflow admitidosSUBCOMMAND_ARGUMENTS
por argumentos para el comando de la CLI de Airflow
Separador de argumentos de subcomando
Separa los argumentos para el comando de la CLI de Airflow especificado con --
:
Airflow 2
Para la sintaxis de la CLI de Airflow 2, sigue estos pasos:
- Especifica comandos compuestos de la CLI como subcomando.
- Especifica argumentos para comandos compuestos como argumentos de subcomandos.
después de un separador
--
.
gcloud composer environments run example-environment \
dags list -- --output=json
Airflow 1
Para la sintaxis de la CLI de Airflow 1.10, haz lo siguiente:
- Especifica los comandos de la CLI como un subcomando.
- Especifica los argumentos después de un separador
--
.
gcloud composer environments run example-environment \
list_dags -- --report
Ubicación predeterminada
La mayoría de los comandos gcloud composer
requiere una ubicación. Puedes especificar la ubicación con la marca --location
o si configuras la ubicación predeterminada.
Ejemplo
Por ejemplo, para activar un DAG con el nombre sample_quickstart
y el ID 5077
en tu entorno de Cloud Composer, ejecuta lo siguiente:
Airflow 2
gcloud composer environments run example-environment \
--location us-central1 dags trigger -- sample_quickstart \
--run-id=5077
Airflow 1
gcloud composer environments run example-environment \
--location us-central1 trigger_dag -- sample_quickstart \
--run_id=5077
Ejecuta comandos en un entorno de IP privada
Para ejecutar comandos de la CLI de Airflow en un entorno de IP privada, sigue estos pasos: ejecutarlas en una máquina que pueda acceder a la clúster de GKE extremo del plano de control. Las opciones pueden variar según la configuración del clúster privado.
Si el acceso al extremo público está inhabilitado en el clúster de tu entorno,
no es posible usar los comandos de gcloud composer
para ejecutar la CLI de Airflow.
Para poder ejecutar los comandos de la CLI de Airflow, sigue estos pasos:
- Crea una VM en tu red de VPC
- Adquiere credenciales de clúster. Ejecuta el siguiente comando:
bash gcloud container clusters get-credentials CLUSTER_NAME \ --region REGION \ --project PROJECT \ --internal-ip
- Usa
kubectl
para ejecutar tu comando de Airflow. Por ejemplo:
kubectl exec deployment/airflow-scheduler -n COMPOSER_NAMESPACE \
--container airflow-scheduler -- airflow dags list
Reemplaza COMPOSER_NAMESPACE
por un espacio de nombres similar al siguiente:
composer-2-0-28-airflow-2-3-394zxc12411
Puedes encontrar Cloud Composer
en la lista de cargas de trabajo o con el comando kubectl get namespaces
.
Si el acceso al extremo público está habilitado en el clúster de tu entorno, puedes ejecutar comandos de la CLI de Airflow desde una máquina con una dirección IP externa que agregados a las redes autorizadas. Para habilitar el acceso desde tu máquina, agrega el una dirección externa de tu máquina a la de tu entorno lista de redes autorizadas.
Soluciona problemas
Sin conectividad al plano de control del clúster
Cuando se ejecuta gcloud composer environments run
o kubectl
, es posible que encuentres el siguiente error:
Get "https://<IP Address>/api?timeout=32s": dial tcp <IP Address>:443: i/o timeout"
Síntoma: Este mensaje de error indica que no hay red conectividad desde una computadora donde ejecutes estos comandos.
Solución: Sigue las pautas que se presentan en
Ejecuta comandos en un entorno de IP privada
o sigue las instrucciones disponibles
Se agota el tiempo de espera del comando kubectl
.