Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3
Apache Airflow dispone di un'interfaccia a riga di comando (CLI) che puoi utilizzare per eseguire attività come attivare e gestire i DAG, ottenere informazioni sulle esecuzioni e sulle attività dei DAG, aggiungere ed eliminare connessioni e utenti.
Informazioni sulle versioni della sintassi della CLI
Airflow in Cloud Composer 1 fornisce due sintassi diverse per i comandi CLI:
Sintassi dell'interfaccia a riga di comando Airflow 1.10, disponibile negli ambienti Cloud Composer con Airflow 1.10.
Sintassi dell'interfaccia a riga di comando Airflow 2, ambienti Cloud Composer disponibili con Airflow 2.
Comandi dell'interfaccia a riga di comando Airflow supportati
Per un elenco completo dei comandi dell'interfaccia a riga di comando di Airflow supportati, consulta la documentazione di riferimento di gcloud composer environments run
.
Prima di iniziare
Devi disporre di autorizzazioni sufficienti per utilizzare Google Cloud CLI con Cloud Composer ed eseguire i comandi Airflow CLI.
Nelle versioni di Cloud Composer precedenti alla 2.4.0, devi avere accesso al piano di controllo del cluster del tuo ambiente per eseguire i comandi Airflow CLI.
Esegui i comandi dell'interfaccia a riga di comando Airflow
Per eseguire i comandi dell'interfaccia a riga di comando di Airflow nei tuoi ambienti, utilizza gcloud
:
gcloud composer environments run ENVIRONMENT_NAME \
--location LOCATION \
SUBCOMMAND \
-- SUBCOMMAND_ARGUMENTS
Sostituisci:
ENVIRONMENT_NAME
con il nome dell'ambiente.LOCATION
con la regione in cui si trova l'ambiente.SUBCOMMAND
con uno dei comandi dell'interfaccia a riga di comando Airflow supportati.SUBCOMMAND_ARGUMENTS
con gli argomenti per il comando Airflow CLI.
Separatore degli argomenti dei sottocomandi
Separa gli argomenti per il comando dell'interfaccia a riga di comando Airflow specificato con --
:
Airflow 2
Per la sintassi dell'interfaccia a riga di comando Airflow 2:
- Specifica i comandi CLI composti come sottocomando.
- Specifica eventuali argomenti per i comandi composti come argomenti dei comandi secondari,
dopo un separatore
--
.
gcloud composer environments run example-environment \
dags list -- --output=json
Airflow 1
Per la sintassi dell'interfaccia a riga di comando Airflow 1.10:
- Specifica i comandi CLI come sottocomando.
- Specifica eventuali argomenti dopo un separatore
--
.
gcloud composer environments run example-environment \
list_dags -- --report
Località predefinita
La maggior parte dei comandi gcloud composer
richiede una località. Puoi specificare la posizione con il flag --location
o impostando la posizione predefinita.
Esempio
Ad esempio, per attivare un DAG denominato sample_quickstart
con l'ID 5077
nel
tuo ambiente Cloud Composer:
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
Eseguire comandi in un ambiente IP privato
Per eseguire i comandi della CLI di Airflow in un ambiente IP privato, eseguiteli su una macchina che può accedere all'endpoint del piano di controllo del cluster GKE. Le opzioni possono variare a seconda della configurazione del cluster privato.
Se l'accesso all'endpoint pubblico è disattivato nel cluster del tuo ambiente,
non è possibile utilizzare i comandi gcloud composer
per eseguire Airflow CLI.
Per poter eseguire i comandi dell'interfaccia a riga di comando di Airflow, svolgi i seguenti passaggi:
- Crea una VM nella rete VPC
- Acquisisci le credenziali del cluster. Esegui questo comando:
bash gcloud container clusters get-credentials CLUSTER_NAME \ --region REGION \ --project PROJECT \ --internal-ip
- Utilizza
kubectl
per eseguire il comando Airflow. Ad esempio:
kubectl exec deployment/airflow-scheduler -n COMPOSER_NAMESPACE \
--container airflow-scheduler -- airflow dags list
Sostituisci COMPOSER_NAMESPACE
con uno spazio dei nomi simile a:
composer-2-0-28-airflow-2-3-394zxc12411
. Puoi trovare Cloud Composer
nell'elenco dei workload o utilizzando il comando kubectl get namespaces
.
Se l'accesso all'endpoint pubblico è abilitato nel cluster del tuo ambiente, puoi anche eseguire i comandi della CLI di Airflow da una macchina con un indirizzo IP esterno aggiunto alle reti autorizzate. Per consentire l'accesso dalla tua macchina, aggiungi l'indirizzo esterno della macchina all'elenco delle reti autorizzate del tuo ambiente.
Risoluzione dei problemi
Nessuna connettività al control plane del cluster
Quando esegui i comandi gcloud composer environments run
o kubectl
, potresti riscontrare il seguente errore:
Get "https://<IP Address>/api?timeout=32s": dial tcp <IP Address>:443: i/o timeout"
Sintomo: questo messaggio di errore indica che non è presente alcuna connettività di rete da un computer su cui esegui questi comandi.
Soluzione: segui le linee guida riportate nella sezione Eseguire comandi in un ambiente IP privato o utilizza le istruzioni disponibili nella sezione Il comando kubectl
ha esaurito il tempo di attesa.