Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
Questa pagina elenca i problemi noti di Cloud Composer. Per informazioni sulle correzioni dei problemi, consulta le note di rilascio.
Alcuni problemi interessano le versioni precedenti e possono essere risolti eseguendo l'upgrade dell'ambiente.
Gli intervalli di indirizzi non RFC 1918 sono parzialmente supportati per pod e servizi
Cloud Composer dipende da GKE per fornire il supporto per gli indirizzi non RFC 1918 per pod e servizi. In Cloud Composer è supportato solo il seguente elenco di intervalli non conformi a RFC 1918:
- 100.64.0.0/10
- 192.0.0.0/24
- 192.0.2.0/24
- 192.88.99.0/24
- 198.18.0.0/15
- 198.51.100.0/24
- 203.0.113.0/24
- 240.0.0.0/4
Le etichette dell'ambiente aggiunte durante un aggiornamento non vengono propagate completamente
Quando aggiorni le etichette dell'ambiente, queste non vengono applicate alle VM di Compute Engine nel cluster dell'ambiente. Per risolvere il problema, puoi applicare le etichette manualmente.
Impossibile creare ambienti Cloud Composer con i vincoli del criterio dell'organizzazione/compute.disableSerialPortLogging applicati
La creazione dell'ambiente Cloud Composer non riesce se
il criterio dell'organizzazione constraints/compute.disableSerialPortLogging
viene
applicato al progetto di destinazione.
Diagnosi
Per determinare se il tuo account è interessato dal problema, segui questa procedura:
Vai al menu GKE nella consoleGoogle Cloud . Visita il menu GKE
Poi seleziona il cluster appena creato. Verifica se è presente il seguente errore:
Not all instances running in IGM after 123.45s.
Expect <number of desired instances in IGM>. Current errors:
Constraint constraints/compute.disableSerialPortLogging violated for
project <target project number>.
Soluzioni:
Disattiva la policy dell'organizzazione nel progetto in cui verrà creato l'ambiente Cloud Composer.
Un criterio dell'organizzazione può sempre essere disattivato a livello di progetto anche se le risorse padre (organizzazione o cartella) lo hanno attivato. Per ulteriori dettagli, consulta la pagina Personalizzazione dei criteri per i vincoli booleani.
Utilizzare i filtri di esclusione
L'utilizzo di un filtro di esclusione per i log della porta seriale. raggiunge lo stesso obiettivo della disattivazione del criterio dell'organizzazione, in quanto in Logging non saranno presenti log della console seriale. Per maggiori dettagli, consulta la pagina Filtri di esclusione.
Utilizzo di Deployment Manager per gestire le risorse protette dai Controlli di servizio VPC Google Cloud
Cloud Composer 1 e Cloud Composer 2 versione 2.0.x utilizzano Deployment Manager per creare i componenti degli ambienti Cloud Composer.
A dicembre 2020, potresti aver ricevuto informazioni in cui ti veniva comunicato che potresti dover eseguire una configurazione aggiuntiva di Controlli di servizio VPC per poter utilizzare Deployment Manager per gestire le risorse protette da Controlli di servizio VPC.
Vorremmo chiarire che non è richiesta alcuna azione da parte tua se utilizzi Cloud Composer e non utilizzi Deployment Manager direttamente per gestire le risorse Google Cloud menzionate nell'annuncio di Deployment Manager.
Deployment Manager mostra informazioni su una funzionalità non supportata
Potresti visualizzare il seguente avviso nella scheda Deployment Manager:
The deployment uses actions, which are an unsupported feature. We recommend
that you avoid using actions.
Per i deployment di Deployment Manager di proprietà di Cloud Composer, puoi ignorare questo avviso.
Impossibile eliminare un ambiente dopo l'eliminazione del relativo cluster
Questo problema si applica a Cloud Composer 1 e Cloud Composer 2 versioni 2.0.x.
Se elimini il cluster GKE del tuo ambiente prima dell'ambiente stesso, i tentativi di eliminazione dell'ambiente generano il seguente errore:
Got error "" during CP_DEPLOYMENT_DELETING [Rerunning Task. ]
Per eliminare un ambiente quando il relativo cluster è già stato eliminato:
Nella console Google Cloud , vai alla pagina Deployment Manager.
Trova tutti i deployment contrassegnati con le etichette:
goog-composer-environment:<environment-name>
goog-composer-location:<environment-location>
.
Dovresti visualizzare due deployment contrassegnati dalle etichette descritte:
- Un deployment denominato
<environment-location>-<environment-name-prefix>-<hash>-sd
- Un deployment denominato
addons-<uuid>
Elimina manualmente le risorse ancora elencate in questi due deployment ed esistenti nel progetto (ad esempio, argomenti e sottoscrizioni Pub/Sub). Ecco come fare:
Seleziona i deployment.
Fai clic su Elimina.
Seleziona l'opzione Elimina 2 deployment e tutte le risorse create, come VM, bilanciatori del carico e dischi e fai clic su Elimina tutto.
L'operazione di eliminazione non riesce, ma le risorse rimanenti vengono eliminate.
Elimina i deployment utilizzando una di queste opzioni:
Nella console Google Cloud , seleziona di nuovo entrambi i deployment. Fai clic su Elimina, poi seleziona l'opzione Elimina 2 deployment, ma mantieni le risorse create.
Esegui un comando gcloud per eliminare i deployment con il criterio
ABANDON
:gcloud deployment-manager deployments delete addons-<uuid> \ --delete-policy=ABANDON gcloud deployment-manager deployments delete <location>-<env-name-prefix>-<hash>-sd \ --delete-policy=ABANDON
Avvisi relativi alle voci duplicate dell'attività "echo" appartenente al DAG "echo-airflow_monitoring"
Nei log di Airflow potresti visualizzare la seguente voce:
in _query db.query(q) File "/opt/python3.6/lib/python3.6/site-packages/MySQLdb/
connections.py", line 280, in query _mysql.connection.query(self, query)
_mysql_exceptions.IntegrityError: (1062, "Duplicate entry
'echo-airflow_monitoring-2020-10-20 15:59:40.000000' for key 'PRIMARY'")
Puoi ignorare queste voci di log perché questo errore non influisce sull'elaborazione di DAG e attività di Airflow.
Stiamo lavorando per migliorare il servizio Cloud Composer per rimuovere questi avvisi dai log di Airflow.
La creazione dell'ambiente non riesce nei progetti con le API Identity-Aware Proxy aggiunte al perimetro dei Controlli di servizio VPC
Nei progetti con i Controlli di servizio VPC abilitati,
l'account cloud-airflow-prod@system.gserviceaccount.com
richiede l'accesso
esplicito nel perimetro di sicurezza per creare ambienti.
Per creare ambienti, puoi utilizzare una delle seguenti soluzioni:
Non aggiungere Cloud Identity-Aware Proxy API e Identity-Aware Proxy TCP API al perimetro di sicurezza.
Aggiungi l'account di servizio
cloud-airflow-prod@system.gserviceaccount.com
come membro del perimetro di sicurezza utilizzando la seguente configurazione nel file delle condizioni YAML:- members: - serviceAccount:cloud-airflow-prod@system.gserviceaccount.com
La creazione o l'upgrade dell'ambiente Cloud Composer non riesce quando il criterio compute.vmExternalIpAccess è disattivato
Questo problema si verifica negli ambienti Cloud Composer 1 e Cloud Composer 2.
I cluster GKE di proprietà di Cloud Composer configurati in modalità IP pubblico richiedono la connettività esterna per le relative VM. Per questo motivo,
il criterio compute.vmExternalIpAccess
non può vietare la creazione di VM
con indirizzi IP esterni. Per saperne di più su questa policy dell'organizzazione, consulta la pagina Vincoli delle policy dell'organizzazione.
La prima esecuzione di DAG per un file DAG caricato presenta diverse attività non riuscite
Quando carichi un file DAG, a volte le prime attività della prima esecuzione del DAG
non vanno a buon fine e viene visualizzato l'errore Unable to read remote log...
. Questo
problema si verifica perché il file DAG viene sincronizzato tra il bucket dell'ambiente, i worker Airflow e gli scheduler Airflow dell'ambiente. Se lo scheduler riceve il file DAG e ne pianifica l'esecuzione
da parte di un worker e se il worker non ha ancora il file DAG, l'esecuzione
dell'attività non va a buon fine.
Per risolvere questo problema, gli ambienti con Airflow 2 sono configurati per eseguire due tentativi per un'attività non riuscita per impostazione predefinita. Se un'attività non riesce, viene ritentata due volte a intervalli di 5 minuti.
Annunci relativi alla rimozione del supporto per le API beta deprecate dalle versioni di GKE
Cloud Composer gestisce i cluster GKE sottostanti di proprietà di Cloud Composer. A meno che tu non utilizzi esplicitamente queste API nei tuoi DAG e nel tuo codice, puoi ignorare gli annunci relativi al ritiro delle API GKE. Cloud Composer si occupa di eventuali migrazioni, se necessario.
Cloud Composer non dovrebbe essere interessato dalla vulnerabilità di Apache Log4j 2 (CVE-2021-44228)
In risposta alla vulnerabilità di Apache Log4j 2 (CVE-2021-44228), Cloud Composer ha condotto un'indagine dettagliata e riteniamo che non sia vulnerabile a questo exploit.
I worker o gli scheduler di Airflow potrebbero riscontrare problemi durante l'accesso al bucket Cloud Storage dell'ambiente
Cloud Composer utilizza gcsfuse per accedere alla cartella /data
nel bucket dell'ambiente e per salvare i log delle attività di Airflow nella directory /logs
(se abilitata). Se gcsfuse è sovraccarico o il bucket dell'ambiente non è disponibile,
potresti riscontrare errori delle istanze di attività Airflow e visualizzare
errori Transport endpoint is not connected
nei log di Airflow.
Soluzioni:
- Disattiva il salvataggio dei log nel bucket dell'ambiente. Questa opzione è già disabilitata per impostazione predefinita se un ambiente viene creato utilizzando Cloud Composer 2.8.0 o versioni successive.
- Esegui l'upgrade a Cloud Composer 2.8.0 o versioni successive.
- Riduci
[celery]worker_concurrency
e aumenta invece il numero di worker Airflow. - Riduci la quantità di log prodotti nel codice del DAG.
- Segui i consigli e le best practice per implementare i DAG e attivare i tentativi di ripetizione delle attività.
A volte la UI di Airflow non ricarica un plug-in dopo la modifica
Se un plug-in è costituito da molti file che importano altri moduli, l'interfaccia utente di Airflow potrebbe non essere in grado di riconoscere il fatto che un plug-in deve essere ricaricato. In questo caso, riavvia il server web di Airflow del tuo ambiente.
Il cluster dell'ambiente ha workload nello stato Non pianificabile
Questo problema noto si applica solo a Cloud Composer 2.
In Cloud Composer 2, dopo la creazione di un ambiente, diversi carichi di lavoro nel cluster dell'ambiente rimangono nello stato Non pianificabile.
Quando un ambiente viene scalato, vengono creati nuovi pod worker e Kubernetes tenta di eseguirli. Se non sono disponibili risorse gratuite per eseguirli, i pod worker vengono contrassegnati come non pianificabili.
In questa situazione, il gestore della scalabilità automatica del cluster aggiunge altri nodi, il che richiede un paio di minuti. Fino al completamento, i pod rimangono nello stato Non pianificabile e non eseguono alcuna attività.
I carichi di lavoro DaemonSet non pianificabili denominati composer-gcsfuse
e
composer-fluentd
che non possono essere avviati sui nodi in cui non sono presenti componenti Airflow non influiscono sul tuo ambiente.
Se il problema persiste a lungo (oltre 1 ora), puoi controllare i log di Cluster Autoscaler. Puoi trovarli nel visualizzatore log con il seguente filtro:
resource.type="k8s_cluster"
logName="projects/<project-name>/logs/container.googleapis.com%2Fcluster-autoscaler-visibility"
resource.labels.cluster_name="<cluster-name>"
Contiene informazioni sulle decisioni prese dal gestore della scalabilità automatica dei cluster: espandi qualsiasi noDecisionStatus per visualizzare il motivo per cui non è possibile eseguire lo scale up o lo scale down del cluster.
Errore 504 durante l'accesso alla UI di Airflow
Puoi visualizzare l'errore 504 Gateway Timeout
quando accedi all'interfaccia utente di Airflow. Questo errore può avere diverse cause:
Problema di comunicazione temporaneo. In questo caso, tenta di accedere all'interfaccia utente di Airflow in un secondo momento. Puoi anche riavviare il server web Airflow.
(Solo Cloud Composer 3) Problema di connettività. Se la UI di Airflow non è disponibile in modo permanente e vengono generati errori di timeout o 504, assicurati che il tuo ambiente possa accedere a
*.composer.googleusercontent.com
.(Solo Cloud Composer 2) Problema di connettività. Se la UI di Airflow non è disponibile in modo permanente e vengono generati errori di timeout o 504, assicurati che il tuo ambiente possa accedere a
*.composer.cloud.google.com
. Se utilizzi l'accesso privato Google e invii traffico tramite IP virtualiprivate.googleapis.com
o Controlli di servizio VPC e invii traffico tramite IP virtualirestricted.googleapis.com
, assicurati che Cloud DNS sia configurato anche per i nomi di dominio*.composer.cloud.google.com
.Il server web Airflow non risponde. Se l'errore 504 persiste, ma riesci comunque ad accedere alla UI di Airflow in determinati momenti, il server web Airflow potrebbe non rispondere perché è sovraccarico. Prova ad aumentare i parametri di scalabilità e rendimento del server web.
Errore 502 durante l'accesso all'interfaccia utente di Airflow
L'errore 502 Internal server exception
indica che l'interfaccia utente di Airflow non può
gestire le richieste in entrata. Questo errore può avere diverse cause:
Problema di comunicazione temporaneo. Prova ad accedere all'interfaccia utente di Airflow in un secondo momento.
Impossibile avviare il server web. Per iniziare, è necessario sincronizzare prima i file di configurazione del server web. Controlla i log del server web per le voci di log simili a:
GCS sync exited with 1: gcloud storage cp gs://<bucket-name>/airflow.cfg /home/airflow/gcs/airflow.cfg.tmp
oGCS sync exited with 1: gcloud storage cp gs://<bucket-name>/env_var.json.cfg /home/airflow/gcs/env_var.json.tmp
. Se visualizzi questi errori, controlla se i file menzionati nei messaggi di errore sono ancora presenti nel bucket dell'ambiente.In caso di rimozione accidentale (ad esempio perché è stata configurata una norma di conservazione), puoi ripristinarli:
Imposta una nuova variabile di ambiente nel tuo ambiente. Puoi utilizzare qualsiasi nome e valore di variabile.
Esegui l'override di un'opzione di configurazione di Airflow. Puoi utilizzare un'opzione di configurazione di Airflow inesistente.
Il passaggio del mouse sopra l'istanza dell'attività nella visualizzazione ad albero genera un errore TypeError non rilevato
In Airflow 2, la visualizzazione ad albero nella UI di Airflow a volte potrebbe non funzionare correttamente quando viene utilizzato un fuso orario non predefinito. Per risolvere questo problema, configura esplicitamente il fuso orario nell'interfaccia utente di Airflow.
La UI di Airflow in Airflow 2.2.3 o versioni precedenti è vulnerabile a CVE-2021-45229
Come indicato in CVE-2021-45229,
la schermata "Attiva DAG con configurazione" era vulnerabile agli attacchi XSS
tramite l'argomento di query origin
.
Consiglio: esegui l'upgrade all'ultima versione di Cloud Composer che supporta Airflow 2.2.5.
I worker richiedono più memoria rispetto alle versioni precedenti di Airflow
Sintomi:
Nel tuo ambiente Cloud Composer 2, tutti i carichi di lavoro del cluster dell'ambiente dei worker Airflow sono in stato
CrashLoopBackOff
e non eseguono attività. Puoi anche visualizzare gli avvisi diOOMKilling
generati se il problema ti riguarda.Questo problema può impedire gli upgrade dell'ambiente.
Causa:
- Se utilizzi un valore personalizzato per l'opzione di configurazione
[celery]worker_concurrency
di Airflow e impostazioni di memoria personalizzate per i worker di Airflow, potresti riscontrare questo problema quando il consumo di risorse si avvicina al limite. - I requisiti di memoria dei worker Airflow in Airflow 2.6.3 con Python 3.11 sono superiori del 10% rispetto ai worker delle versioni precedenti.
- I requisiti di memoria dei worker Airflow in Airflow 2.3 e versioni successive sono superiori del 30% rispetto ai worker in Airflow 2.2 o Airflow 2.1.
Soluzioni:
- Rimuovi l'override per
worker_concurrency
, in modo che Cloud Composer calcoli automaticamente questo valore. - Se utilizzi un valore personalizzato per
worker_concurrency
, impostalo su un valore inferiore. Puoi utilizzare il valore calcolato automaticamente come punto di partenza. - In alternativa, puoi aumentare la quantità di memoria disponibile per i worker Airflow.
- Se non riesci a eseguire l'upgrade dell'ambiente a una versione successiva a causa di questo problema, applica una delle soluzioni proposte prima di eseguire l'upgrade.
Attivazione dei DAG tramite reti private utilizzando Cloud Run Functions
L'attivazione di DAG con funzioni Cloud Run tramite reti private con l'utilizzo del connettore VPC non è supportata da Cloud Composer.
Consiglio: utilizza Cloud Run Functions per pubblicare messaggi su Pub/Sub. Questi eventi possono attivare i sensori Pub/Sub per attivare i DAG Airflow o implementare un approccio basato su operatori differibili.
Cartelle vuote in Scheduler e worker
Cloud Composer non rimuove attivamente le cartelle vuote dai worker e dagli scheduler di Airflow. Queste entità potrebbero essere create a seguito del processo di sincronizzazione del bucket dell'ambiente quando queste cartelle esistevano nel bucket e sono state rimosse.
Consiglio: modifica i DAG in modo che siano pronti a ignorare le cartelle vuote.
Queste entità vengono rimosse definitivamente dagli spazi di archiviazione locali degli scheduler e dei worker di Airflow quando questi componenti vengono riavviati (ad esempio, a seguito di operazioni di riduzione o manutenzione nel cluster del tuo ambiente).
Supporto di Kerberos
Cloud Composer non supporta la configurazione Kerberos di Airflow.
Supporto delle classi di calcolo in Cloud Composer 2 e Cloud Composer 3
Cloud Composer 3 e Cloud Composer 2 supportano solo la classe di calcolo per uso generico. Ciò significa che non è possibile eseguire pod che richiedono altre classi di calcolo (ad esempio Balanced o Scale-Out).
La classe per uso generico consente di eseguire pod che richiedono fino a 110 GB di memoria e fino a 30 CPU (come descritto in Richieste massime della classe di calcolo).
Se vuoi utilizzare un'architettura basata su ARM o hai bisogno di più CPU e memoria, devi utilizzare una classe di calcolo diversa, che non è supportata nei cluster Cloud Composer 3 e Cloud Composer 2.
Consiglio: utilizza GKEStartPodOperator
per eseguire i pod Kubernetes su un cluster diverso che supporta la classe di calcolo selezionata. Se esegui pod personalizzati che richiedono una classe di calcolo diversa, devono essere eseguiti anche su un cluster non Cloud Composer.
Supporto per gli operatori di Google Campaign Manager 360
Gli operatori Google Campaign Manager nelle versioni di Cloud Composer precedenti alla 2.1.13 si basano sull'API Campaign Manager 360 v3.5, che è deprecata e la cui data di ritiro è il 1° maggio 2023.
Se utilizzi gli operatori di Google Campaign Manager, esegui l'upgrade dell'ambiente a Cloud Composer versione 2.1.13 o successive.
Supporto per gli operatori di Google Display & Video 360
Gli operatori Google Display & Video 360 nelle versioni di Cloud Composer precedenti alla 2.1.13 si basano sull'API Display & Video 360 v1.1, che è deprecata e la cui data di ritiro è il 27 aprile 2023.
Se utilizzi gli operatori Google Display & Video 360, esegui l'upgrade dell'ambiente a Cloud Composer versione 2.1.13 o successive. Inoltre, potresti dover modificare i tuoi DAG perché alcuni operatori di Google Display & Video 360 sono ritirati e sostituiti con nuovi operatori.
GoogleDisplayVideo360CreateReportOperator
è stato ritirato. Utilizza inveceGoogleDisplayVideo360CreateQueryOperator
. Questo operatore restituiscequery_id
anzichéreport_id
.GoogleDisplayVideo360RunReportOperator
è stato ritirato. Utilizza inveceGoogleDisplayVideo360RunQueryOperator
. Questo operatore restituiscequery_id
ereport_id
anziché soloreport_id
e richiedequery_id
anzichéreport_id
come parametro.- Per verificare se un report è pronto, utilizza il nuovo
sensore
GoogleDisplayVideo360RunQuerySensor
che utilizza i parametriquery_id
ereport_id
. Il sensoreGoogleDisplayVideo360ReportSensor
ritirato richiedeva soloreport_id
. GoogleDisplayVideo360DownloadReportV2Operator
ora richiede sia i parametriquery_id
chereport_id
.- In
GoogleDisplayVideo360DeleteReportOperator
non sono presenti modifiche che possono influire sui tuoi DAG.
Limitazioni relative al nome dell'intervallo secondario
CVE-2023-29247 (la pagina dei dettagli dell'istanza delle attività nell'interfaccia utente è vulnerabile a XSS memorizzato)
L'UI di Airflow nelle versioni di Airflow da 2.0.x a 2.5.x è vulnerabile a CVE-2023-29247.
Se utilizzi una versione di Cloud Composer precedente alla 2.4.2 e sospetti che il tuo ambiente possa essere vulnerabile all'exploit, leggi la seguente descrizione e le possibili soluzioni.
In Cloud Composer, l'accesso all'interfaccia utente di Airflow è protetto con IAM e il controllo dell'accesso all'interfaccia utente di Airflow.
Ciò significa che, per sfruttare la vulnerabilità dell'interfaccia utente di Airflow, gli autori degli attacchi devono prima ottenere l'accesso al tuo progetto insieme ai ruoli e alle autorizzazioni IAM necessari.
Soluzione:
Verifica i ruoli e le autorizzazioni IAM nel tuo progetto, inclusi i ruoli Cloud Composer assegnati ai singoli utenti. Assicurati che solo gli utenti approvati possano accedere all'interfaccia utente di Airflow.
Verifica i ruoli assegnati agli utenti tramite il meccanismo di controllo dell'accesso all'interfaccia utente di Airflow (si tratta di un meccanismo separato che fornisce un accesso più granulare all'interfaccia utente di Airflow). Assicurati che solo gli utenti approvati possano accedere all'interfaccia utente di Airflow e che tutti i nuovi utenti siano registrati con un ruolo appropriato.
Valuta la possibilità di un ulteriore rafforzamento con i controlli di servizio VPC.
Il DAG di monitoraggio di Airflow dell'ambiente Cloud Composer 2 non viene ricreato dopo l'eliminazione
Il DAG di monitoraggio del flusso d'aria non viene ricreato automaticamente se eliminato dall'utente o spostato dal bucket negli ambienti con composer-2.1.4-airflow-2.4.3.
Soluzione:
- Questo problema è stato risolto nelle versioni successive, come composer-2.4.2-airflow-2.5.3. L'approccio consigliato è eseguire l'upgrade dell'ambiente a una versione più recente.
- Una soluzione alternativa o temporanea a un upgrade dell'ambiente sarebbe quella di copiare il DAG airflow_monitoring da un altro ambiente con la stessa versione.
Non è possibile ridurre lo spazio di archiviazione Cloud SQL
Cloud Composer utilizza Cloud SQL per eseguire il database Airflow. Nel tempo, lo spazio di archiviazione su disco per l'istanza Cloud SQL potrebbe aumentare perché il disco viene scalato per adattarsi ai dati archiviati dalle operazioni Cloud SQL quando il database Airflow aumenta.
Non è possibile ridurre le dimensioni del disco Cloud SQL.
Come soluzione alternativa, se vuoi utilizzare le dimensioni del disco Cloud SQL più piccole, puoi ricreare gli ambienti Cloud Composer con snapshot.
La metrica Utilizzo disco del database non diminuisce dopo la rimozione dei record da Cloud SQL
I database relazionali, come Postgres o MySQL, non rimuovono fisicamente le righe quando vengono eliminate o aggiornate. Li contrassegna invece come "tuple morte" per mantenere la coerenza dei dati ed evitare di bloccare le transazioni simultanee.
Sia MySQL che Postgres implementano meccanismi di recupero dello spazio dopo l'eliminazione dei record.
Sebbene sia possibile forzare il database a recuperare lo spazio su disco inutilizzato, questa è un'operazione che richiede molte risorse e blocca anche il database, rendendo Cloud Composer non disponibile. Pertanto, è consigliabile fare affidamento sui meccanismi di creazione per recuperare lo spazio inutilizzato.
Accesso bloccato: errore di autorizzazione
Se questo problema riguarda un utente, la finestra di dialogo
Accesso bloccato: errore di autorizzazione contiene il
messaggio Error 400: admin_policy_enforced
.
Se l'opzione Controlli API > App di terze parti non configurate > Non consentire agli utenti di accedere alle app di terze parti è attivata in Google Workspace e l'app Apache Airflow in Cloud Composer non è esplicitamente consentita, gli utenti non possono accedere alla UI di Airflow a meno che non consentano esplicitamente l'applicazione.
Per consentire l'accesso, segui i passaggi descritti in Consentire l'accesso all'interfaccia utente di Airflow in Google Workspace.
Loop di accesso quando si accede all'UI di Airflow
Questo problema potrebbe essere dovuto a:
Se i binding dell'accesso sensibile al contesto di Chrome Enterprise Premium vengono utilizzati con livelli di accesso che si basano sugli attributi del dispositivo e l'app Apache Airflow in Cloud Composer non è esentata, non è possibile accedere alla UI di Airflow a causa di un ciclo di accesso. Per consentire l'accesso, esegui i passaggi forniti in Consentire l'accesso all'interfaccia utente di Airflow nei binding di Accesso sensibile al contesto.
Se le regole di ingresso sono configurate in un perimetro di Controlli di servizio VPC che protegge il progetto e la regola di ingresso che consente l'accesso al servizio Cloud Composer utilizza il tipo di identità
ANY_SERVICE_ACCOUNT
oANY_USER_ACCOUNT
, gli utenti non possono accedere alla UI di Airflow, finendo in un ciclo di accesso. Per saperne di più su come affrontare questo scenario, consulta Consentire l'accesso alla UI di Airflow nelle regole di ingresso dei Controlli di servizio VPC.
I tentativi di attività riusciti in passato contrassegnati come NON RIUSCITI
In alcune circostanze e in rari scenari, le istanze di attività Airflow che hanno avuto esito positivo in passato possono essere contrassegnate come FAILED
.
In genere, si verifica in seguito a un aggiornamento o a un'operazione di upgrade dell'ambiente oppure a causa della manutenzione di GKE.
Nota:il problema in sé non indica alcun problema nell'ambiente e non causa errori effettivi nell'esecuzione delle attività.
Il problema è stato risolto in Cloud Composer versione 2.6.5 o successive.
I componenti Airflow hanno problemi di comunicazione con altre parti della configurazione di Cloud Composer
Questo problema si applica solo a Cloud Composer 2 versioni 2.10.2 e precedenti.
In casi molto rari, la lentezza della comunicazione con il server di metadati di Compute Engine potrebbe impedire il funzionamento ottimale dei componenti di Airflow. Ad esempio, lo scheduler di Airflow potrebbe essere riavviato, le attività di Airflow potrebbero dover essere riprovate o il tempo di avvio delle attività potrebbe essere più lungo.
Sintomi:
Nei log dei componenti di Airflow (ad esempio scheduler, worker o server web di Airflow) vengono visualizzati i seguenti errori:
Authentication failed using Compute Engine authentication due to unavailable metadata server
Compute Engine Metadata server unavailable on attempt 1 of 3. Reason: timed out
...
Compute Engine Metadata server unavailable on attempt 2 of 3. Reason: timed out
...
Compute Engine Metadata server unavailable on attempt 3 of 3. Reason: timed out
Soluzione:
(Consigliato) Esegui l'upgrade dell'ambiente a una versione successiva di Cloud Composer. Questo problema è stato risolto a partire dalla versione 2.11.0 di Cloud Composer.
Come soluzione alternativa temporanea, puoi impostare la seguente variabile di ambiente:
GCE_METADATA_TIMEOUT=30
. Assicurati di rimuovere questa impostazione quando è tutto pronto per eseguire l'upgrade dell'ambiente.
La cartella /data non è disponibile nel server web Airflow
In Cloud Composer 2 e Cloud Composer 3, il server web Airflow è un componente per lo più di sola lettura e Cloud Composer non sincronizza la cartella data/
con questo componente.
A volte, potresti voler condividere file comuni tra tutti i componenti di Airflow, incluso il server web Airflow.
Soluzione:
Inserisci i file da condividere con il server web in un modulo PYPI e installalo come un normale pacchetto PYPI. Dopo l'installazione del modulo PYPI nell'ambiente, i file vengono aggiunti alle immagini dei componenti di Airflow e sono disponibili.
Aggiungi file alla cartella
plugins/
. Questa cartella viene sincronizzata con il server web Airflow.
Diagrammi dei tempi di analisi DAG non continui e delle dimensioni del bag DAG nel monitoraggio
I grafici dei tempi di analisi DAG non continui e delle dimensioni del bag DAG nella dashboard di monitoraggio indicano problemi con tempi di analisi DAG lunghi (più di 5 minuti).

Soluzione: Ti consigliamo di mantenere il tempo totale di analisi del DAG al di sotto dei 5 minuti. Per ridurre il tempo di analisi del DAG, segui le linee guida per la scrittura dei DAG.
I log dei componenti di Cloud Composer non sono presenti in Cloud Logging
Si è verificato un problema nel componente dell'ambiente responsabile del caricamento dei log dei componenti Airflow in Cloud Logging. A volte questo bug porta a una situazione in cui il log a livello di Cloud Composer potrebbe mancare per un componente Airflow. Lo stesso log è ancora disponibile a livello di componente Kubernetes.
Frequenza del problema: molto rara, sporadica
Causa:
Comportamento errato del componente Cloud Composer responsabile del caricamento dei log in Cloud Logging.
Soluzioni:
Esegui l'upgrade dell'ambiente a Cloud Composer versione 2.10.0 o successive.
Nelle versioni precedenti di Cloud Composer, la soluzione alternativa temporanea quando si verifica questa situazione consiste nell'avviare un'operazione Cloud Composer che riavvii i componenti per i quali manca il log.
Il passaggio del cluster dell'ambiente a GKE Enterprise Edition non è supportato
Questa nota si applica a Cloud Composer 1 e Cloud Composer 2.
Il cluster GKE dell'ambiente Cloud Composer viene creato all'interno di GKE Standard.
A partire da dicembre 2024, il servizio Cloud Composer non supporta la creazione di ambienti Cloud Composer con cluster in Enterprise Edition.
Gli ambienti Cloud Composer non sono stati testati con GKE Enterprise Edition e hanno un modello di fatturazione diverso.
Ulteriori comunicazioni relative alla versione GKE Standard rispetto alla versione Enterprise verranno effettuate nel secondo trimestre del 2025.
Componenti Airflow che riscontrano problemi durante la comunicazione con altre parti della configurazione di Cloud Composer
In alcuni casi, a causa di una risoluzione DNS non riuscita, i componenti Airflow potrebbero riscontrare problemi di comunicazione con altri componenti Cloud Composer o endpoint di servizio al di fuori dell'ambiente Cloud Composer.
Sintomi:
Nei log dei componenti di Airflow (ad esempio scheduler, worker o server web di Airflow) potrebbero essere visualizzati i seguenti errori:
google.api_core.exceptions.ServiceUnavailable: 503 DNS resolution failed ...
... Timeout while contacting DNS servers
o
Could not access *.googleapis.com: HTTPSConnectionPool(host='www.googleapis.com', port=443): Max retries exceeded with url: / (Caused by NameResolutionError("<urllib3.connection.HTTPSConnection object at 0x7c5ef5adba90>: Failed to resolve 'www.googleapis.com' ([Errno -3] Temporary failure in name resolution)"))
o
redis.exceptions.ConnectionError: Error -3 connecting to
airflow-redis-service.composer-system.svc.cluster.local:6379.
Temporary failure in name resolution.
Possibili soluzioni:
Esegui l'upgrade a Cloud Composer 2.9.11 o
Imposta la seguente variabile di ambiente:
GCE_METADATA_HOST=169.254.169.254
.
L'ambiente è in stato ERROR dopo l'eliminazione o la disattivazione dell'account di fatturazione del progetto oppure la disattivazione dell'API Cloud Composer
Gli ambienti Cloud Composer interessati da questi problemi non sono recuperabili:
- Dopo l'eliminazione o la disattivazione dell'account di fatturazione del progetto, anche se un altro account è stato collegato in un secondo momento.
- Dopo che l'API Cloud Composer è stata disabilitata nel progetto, anche se è stata abilitata in un secondo momento.
Per risolvere il problema, puoi:
Puoi comunque accedere ai dati archiviati nei bucket del tuo ambiente, ma gli ambienti stessi non sono più utilizzabili. Puoi creare un nuovo ambiente Cloud Composer e poi trasferire i tuoi DAG e i tuoi dati.
Se vuoi eseguire una delle operazioni che rendono i tuoi ambienti non recuperabili, assicurati di eseguire il backup dei dati, ad esempio creando uno snapshot dell'ambiente. In questo modo, puoi creare un altro ambiente e trasferire i relativi dati caricando questo snapshot.
Avvisi relativi al budget di interruzione dei pod per i cluster di ambiente
Nell'interfaccia utente di GKE puoi visualizzare i seguenti avvisi per i cluster dell'ambiente Cloud Composer:
GKE can't perform maintenance because the Pod Disruption Budget allows
for 0 Pod evictions. Update the Pod Disruption Budget.
A StatefulSet is configured with a Pod Disruption Budget but without readiness
probes, so the Pod Disruption Budget isn't as effective in gauging application
readiness. Add one or more readiness probes.
Non è possibile eliminare questi avvisi. Ci adoperiamo per impedire la generazione di questi avvisi.
Possibili soluzioni:
- Ignora questi avvisi finché il problema non viene risolto.
Non è possibile rimuovere un valore di campo in una connessione Airflow
Causa:
L'interfaccia utente di Apache Airflow presenta una limitazione che impedisce di aggiornare i campi di connessione con valori vuoti. Quando tenti di farlo, il sistema ripristina le impostazioni salvate in precedenza.
Possibili soluzioni:
Sebbene Apache Airflow versione 2.10.4 includa una correzione permanente, esiste una soluzione alternativa temporanea per gli utenti che utilizzano versioni precedenti. Ciò comporta l'eliminazione della connessione e la sua ricreazione, lasciando vuoti i campi obbligatori. L'interfaccia a riga di comando è l'approccio consigliato per eliminare la connessione:
gcloud composer environments run ENVIRONMENT_NAME \
--location LOCATION \
connections delete -- \
CONNECTION_ID
Dopo aver eliminato la connessione, ricreala utilizzando l'interfaccia utente di Airflow, assicurandoti che i campi che intendi lasciare vuoti siano effettivamente vuoti. Puoi anche creare la connessione eseguendo il comando CLI di Airflow connections add
con Google Cloud CLI.
I log delle attività Airflow non vengono raccolti se [core]execute_tasks_new_python_interpreter è impostato su True
Cloud Composer non raccoglie i log per le attività Airflow se l'opzione di configurazione di Airflow
[core]execute_tasks_new_python_interpreter
è impostata su True
.
Possibile soluzione:
- Rimuovi l'override per questa opzione di configurazione o imposta
il relativo valore su
False
.
Passaggi successivi
- Risoluzione dei problemi di creazione dell'ambiente
- Risoluzione dei problemi dei DAG
- Risoluzione dei problemi dello scheduler Airflow