Questa pagina descrive il controllo delle versioni di Managed Service for Apache Airflow ed elenca le differenze tra le versioni principali di Managed Airflow.
Versioni principali di Managed Airflow
Managed Airflow ha le seguenti versioni principali:
Managed Airflow (Gen 3). Questa versione semplifica la configurazione di rete e nasconde i componenti dell'infrastruttura, inclusi il cluster dell'ambiente e le dipendenze dell'ambiente da altri servizi.
Managed Airflow (2ª gen.). In questa versione, il cluster dell'ambiente viene scalato automaticamente per soddisfare le esigenze di risorse.
Managed Airflow (Legacy Gen 1). Ha lo scaling manuale dell'ambiente, l'infrastruttura viene implementata nei tuoi progetti e nelle tue reti.
Confronto tra le versioni di Managed Airflow
La seguente tabella elenca le principali differenze tra Managed Airflow (legacy gen 1), Managed Airflow (gen 2) e Managed Airflow (gen 3).
| Funzionalità | Managed Airflow (legacy di prima generazione) | Managed Airflow (Gen 2) | Managed Airflow (Gen 3) |
|---|---|---|---|
| Versione immagine | composer-1.b.c-airflow-x.y.z |
composer-2.b.c-airflow-x.y.z |
composer-3-airflow-x.y.z-build.t |
| Versioni di Airflow | Airflow 1.10.* e Airflow 2 | Airflow 2 | Airflow 2, Airflow 3 |
| Versioni di Python | 3.8.12 | 3.11.8 (3.11.5 e 3.8.12 nelle versioni precedenti) | 3.11.8 |
| Cluster dell'ambiente | Cluster Google Kubernetes Engine basato su VPC nativo o su route in modalità Standard | Cluster Google Kubernetes Engine nativo del VPC in modalità Autopilot | Il cluster dell'ambiente non è stato sottoposto a deployment nel tuo progetto. |
| Scalabilità orizzontale | Può modificare il numero di nodi nel cluster dell'ambiente. In questo modo, il numero di worker Airflow viene modificato. Può modificare il numero di scheduler Airflow. |
Scalabilità automatica del numero di worker Airflow in base alla domanda. Può impostare e modificare i limiti superiore e inferiore per il numero di worker. Può regolare il numero di scheduler e triggerer Airflow |
Scalabilità automatica del numero di worker Airflow in base alla domanda. Può impostare e modificare i limiti superiore e inferiore per il numero di worker. Può modificare il numero di scheduler, triggerer e processori DAG di Airflow |
| Scalabilità verticale | Può impostare i tipi di macchine per i nodi del cluster, il server web Airflow e il database durante la creazione di un ambiente. Può modificare i tipi di macchine per il server web e il database Airflow. | Può impostare e modificare la configurazione dei workload: parametri di CPU, memoria e spazio di archiviazione per worker, scheduler, server web di Airflow e dimensioni dell'ambiente. | Può impostare e modificare la configurazione dei carichi di lavoro: parametri di CPU, memoria e archiviazione per worker, scheduler, server web, processori DAG e dimensioni dell'ambiente di Airflow. |
| Modello di determinazione del prezzo | Modello di prezzo di Managed Airflow (legacy di prima generazione) | Modello di determinazione del prezzo di Managed Airflow (Gen 2) | Modello di determinazione del prezzo di Managed Airflow (Gen 3) |
| Controllo degli accessi | Ruoli Managed Airflow (legacy di prima generazione) | Ruoli di Managed Airflow. Utilizza Workload Identity Federation for GKE e richiede autorizzazioni aggiuntive per l'account service agent di Managed Airflow. | Ruoli di Managed Airflow. Utilizza Workload Identity Federation per GKE. Non sono richieste autorizzazioni aggiuntive |
| Accesso tramite la federazione delle identità per la forza lavoro | Non supportata | Supportato | Supportato |
| Ambienti ad alta resilienza | Non supportata | Supportato | Supportato |
| Policy di conservazione del database | Non supportata | Non ancora disponibile | Supportato |
| Networking con IP privato | Peering VPC | Private Service Connect | Configurazione di rete semplificata. Può essere modificato tra IP pubblico e privato in un ambiente esistente. |
| Controlli di servizio VPC | Supportato | Supportato | Supportato |
| Esecutori Airflow | Esecutore Celery | Esecutore Celery | Esecutore CeleryKubernetes |
| Attivatore Airflow (operatori differibili) | Non supportata | Supportato | Supportato |
| Account di servizio personalizzato per KubernetesPodOperator | Supportato | Supportato | Non supportato |
| CMEK | Supportato | Supportato | Supportato |
| Controlli dell'accesso al server web | Supportato | Supportato | Supportato |
| Riavvio del server web | Supportato | Supportato | Supportato |
| Plug-in per server web | Supportato negli ambienti Airflow 1 con serializzazione DAG disabilitata. | Supportato | Supportati, i plug-in possono essere disattivati e attivati on demand. |
| Plug-in di pianificazione | Non supportata | Supportato | Non supportata |
| Listener | Non supportata | Supportato | Solo listener a livello di attività |
| TimeTables | Solo integrati | Personalizzati e integrati | Solo integrati |
| Pacchetti PyPI personalizzati dello scheduler | Non supportata | Supportato | Non supportata |
| Installazione di plug-in personalizzati | Supportato | Supportato | Supportato |
| Operazioni di manutenzione | Tutte le attività possono essere interessate. | Le attività che richiedono meno di 55 minuti per l'esecuzione non sono interessate. | Le attività che richiedono meno di 24 ore per l'esecuzione non sono interessate. |
| Archiviazione degli snapshot | Supportato per le versioni 2.x e 1.10.15 di Airflow | Supportato | Supportato |
| Caricamento degli snapshot | Non supportata | Supportato | Supportato |
| Snapshot pianificati | Non supportata | Supportato | Supportato |
| Bucket dell'ambiente personalizzato | Non supportata | Supportato | Supportato |
| Salvataggio dei log delle attività Airflow solo in Cloud Logging | Non supportata | Supportato | Supportato |
| Integrazione della derivazione dei dati | Non supportata | Supportato | Supportato |
| Strumento CLI di sviluppo locale di Composer | Non supportata | Supportato | Supportato |
Confronto tra le versioni di Airflow
Managed Airflow (Gen 3) fornisce ambienti con Airflow 2 e Airflow 3.
Supporto per le funzionalità di Managed Airflow (Gen 3)
La tabella seguente riepiloga le funzionalità di Managed Airflow (Gen 3) che non sono ancora supportate in Airflow 3.
| Funzionalità | Stato | Descrizione |
|---|---|---|
| Aggiornamenti ad Airflow 3 (snapshot) | Non ancora supportato in Airflow 3 | Migrazione affiancata degli ambienti Managed Airflow (Gen 3) esistenti da Airflow 2 ad Airflow 3 utilizzando gli snapshot. |
| Upgrade ad Airflow 3 (in loco) | Non ancora supportato in Airflow 3 | Upgrade in loco degli ambienti Managed Airflow (Gen 3) esistenti da Airflow 2 ad Airflow 3 specificando una versione con Airflow 3 durante un upgrade. |
| Supporto della federazione delle identità per la forza lavoro | Non ancora supportato in Airflow 3 | Utilizzo di un provider di identità esterno in ambienti con Airflow 3. |
Problemi noti in Airflow 3
In Airflow 3 sono stati identificati i seguenti problemi noti:
- Messaggi di avviso nei log dei carichi di lavoro Airflow. Questi messaggi possono essere ignorati in sicurezza.
- L'utilità
airflowctlnon può essere utilizzata facilmente da ambienti headless come i worker Airflow in Managed Airflow o i container Docker. Si tratta di una limitazione dell'utilità. Per maggiori informazioni su questa limitazione, consulta il problema 58230 nel repository Airflow su GitHub.
Supporto delle funzionalità di Airflow 3
La tabella seguente elenca le funzionalità di Airflow 3 e il relativo supporto:
| Funzionalità | Stato |
|---|---|
| UI di Airflow 3.0 | Supportato |
| Controllo delle versioni del DAG | Supportato |
| Backfill (dalla UI di Airflow) | Supportato |
| Pianificazione basata su eventi | Supportato |
| Asset | Supportato |
| Esecuzione dell'inferenza e ottimizzazione degli iperparametri | Supportato |
| Strumento a riga di comando airflowctl | Supportato |
| Bundle DAG (diversi da LocalDagBundle) | Non ancora supportato in Airflow 3 |
| Edge Executor e attività in altri linguaggi di programmazione | Non ancora supportato in Airflow 3 |
Immagini di Managed Service for Apache Airflow
Per eseguire Apache Airflow, Managed Airflow crea immagini Docker che raggruppano le release di Airflow con altri programmi binari comuni e librerie Python.
Le immagini di Managed Airflow includono modifiche di Airflow specifiche di Managed Airflow e non adatte al codebase Airflow upstream. Ogni immagine Managed Airflow contiene pacchetti preinstallati insieme a modifiche di Airflow specifiche di Managed Airflow.
Google rilascia periodicamente nuove immagini di Managed Airflow:
In Managed Airflow (Gen 3), le immagini includono nuove build delle versioni di Airflow supportate. Puoi selezionare una versione di Airflow e una build da utilizzare. Il tuo ambiente riceve automaticamente i miglioramenti di Managed Airflow.
In Managed Airflow (Gen 2) e Managed Airflow (Legacy Gen 1), le immagini includono miglioramenti di Managed Airflow e nuove build delle versioni di Airflow supportate. Per ottenere i miglioramenti di Managed Airflow, devi eseguire l'upgrade dell'ambiente a una versione successiva di Managed Airflow.
Deprecazione e supporto delle versioni
Composer 3
Google supporta una build di Airflow per un periodo di tempo dopo il rilascio:
0-12 mesi dalla data di rilascio: sono supportati gli ambienti Managed Airflow (Gen 3) che eseguono questa build di Airflow.
Più di 12 mesi dalla data di rilascio: gli ambienti Managed Airflow (Gen 3) che eseguono queste versioni non sono supportati.
Una volta che una build di Airflow non è più supportata, anche gli ambienti che eseguono questa build di Airflow non sono supportati e sono interamente gestiti dall'utente.
Gli ambienti funzionano con le build di Airflow supportate e non supportate nel seguente modo:
Puoi creare ambienti con tutte le build di Airflow supportate.
Puoi comunque utilizzare un ambiente con una build Airflow non più supportata. L'ambiente funziona ancora, puoi continuare a utilizzarlo e puoi eseguire l'upgrade a una build di Airflow supportata.
In alcuni casi, l'upgrade a una versione o build successiva di Airflow è l'unica soluzione disponibile per una vulnerabilità della sicurezza.
Composer 2
Google supporta le versioni di Managed Airflow (Gen 2) per un periodo di tempo dopo il rilascio della versione:
0-12 mesi dalla data di rilascio: sono supportati gli ambienti Managed Airflow (Gen 2) che eseguono queste versioni.
Più di 12 mesi dalla data di rilascio: gli ambienti Managed Airflow (Gen 2) che eseguono queste versioni non sono supportati.
Puoi utilizzare le versioni di Managed Airflow dopo la data in cui non sono più supportate. Ad esempio, se il tuo ambiente si basa su una versione di Managed Airflow che ha superato il periodo di assistenza, l'ambiente funziona ancora e puoi continuare a utilizzarlo. In questo caso, ti consigliamo di eseguire l'upgrade del tuo ambiente a una versione supportata.
Composer 1
Le nuove versioni di Managed Airflow (legacy di prima gen.) sono state rilasciate fino alla fine di marzo 2023. Tutte le versioni rilasciate di Managed Airflow (Legacy Gen 1) seguono la stessa policy di ritiro delle versioni di Managed Airflow (Gen 2) e sono supportate in base a questa.
Schemi di versione
Questa sezione descrive gli schemi delle versioni di Airflow e Managed Airflow e gli alias delle versioni.
Schema della versione di Airflow
Airflow segue lo schema di controllo delle versioni semantico del software. Ogni versione di Airflow ha una versione principale, secondaria e patch.
Composer 3
In Managed Airflow (Gen 3), le nuove versioni e build di Airflow diventano disponibili con il passare del tempo.
Il tuo ambiente può funzionare con tutte le versioni e le build precedenti di Airflow e riceve automaticamente gli aggiornamenti dei suoi componenti dell'infrastruttura. Ogni versione e build è supportata come descritto in Ritiro e supporto delle versioni e puoi scegliere di eseguire l'upgrade della versione di Airflow a una versione o build successiva.
Composer 2
Per un elenco delle versioni di Airflow supportate in ogni versione di Managed Airflow, consulta l'elenco delle versioni di Managed Airflow.
In ogni release, Managed Airflow (Gen 2) supporta due versioni secondarie di Airflow 2.
Ad esempio, Managed Airflow 2.4.0 supporta Airflow 2.4.* e Airflow 2.5.*.
Per ogni versione secondaria di Airflow 2, Managed Airflow supporta una versione patch.
Ad esempio, per Airflow 2.4.*, Managed Airflow supporta Airflow 2.4.3.
Quando una nuova versione patch di Airflow 2 diventa disponibile in Managed Airflow, la release corrispondente ha due versioni patch di Airflow 2 disponibili per la stessa versione secondaria di Airflow. La versione della patch precedente viene quindi rimossa in una delle release successive.
Ad esempio, Managed Airflow 2.3.4 supporta sia Airflow 2.5.1 che Airflow 2.5.3.
Managed Airflow può saltare alcune versioni delle patch di Airflow tra le release di Managed Airflow. Inoltre, se si verificano problemi funzionali, di qualità o di prestazioni con una versione patch specifica di Airflow, Managed Airflow può anche ignorare questa versione.
Ad esempio, Airflow 2.1.3 viene ignorato e Airflow 2.1.4 è disponibile.
Una release di Managed Airflow che esegue una versione stabile di Airflow può includere aggiornamenti di Airflow di cui è stato eseguito il backporting da una versione successiva di Airflow.
Composer 1
L'ultima versione di Airflow supportata in Managed Airflow (legacy di prima generazione) è Airflow 2.4.3.
Solo Managed Airflow (Legacy Gen 1) supporta Airflow 1.10.15, l'ultima versione di Airflow 1.
Schema delle versioni di Managed Airflow
Composer 3
Lo schema di controllo delle versioni di Managed Airflow (Gen 3) acquisisce le versioni e le build di Airflow:
composer-3-airflow-x.y.z-build.t
Dove:
composer-3è la versione principale di Managed Airflow.airflow-x.y.z.build.tè la versione e la build di Airflow. Ogni release successiva della stessa versione di Airflow in Managed Airflow (Gen 3) ha un numero build superiore. Il numero build è definito da Managed Airflow e non dal progetto open source Airflow.
Composer 2
Lo schema di controllo delle versioni delle immagini di Managed Airflow (Gen 2) acquisisce le versioni di Managed Airflow e Airflow:
composer-2.b.c-airflow-x.y.z
Dove:
composer-2.b.cindica la versione secondaria e la patch delle personalizzazioni gestite da Managed Airflow in Managed Airflow (Gen 2). Come regola generale, le versioni secondarie di Managed Airflow corrispondono a modifiche significative della funzionalità rispetto alla versione secondaria precedente, ad esempio quando viene modificato l'insieme disponibile di versioni di Airflow. Le versioni patch vengono aggiornate nelle release successive.airflow-x.y.zè la release di Airflow, indica la versione principale, secondaria e di patch di Airflow utilizzata in una specifica immagine di Managed Airflow.
Composer 1
Lo schema di controllo delle versioni delle immagini di Managed Airflow (legacy di prima generazione) acquisisce le versioni di Managed Airflow e Airflow:
composer-1.b.c-airflow-x.y.z
Dove:
composer-1.b.cè la versione delle personalizzazioni gestite da Managed Airflowairflow-x.y.zè la release di Airflow
Alias versione
Gli alias di versione funzionano nel seguente modo:
Managed Airflow risolve l'alias della versione nel formato completo quando crea l'ambiente:
- Tutti gli alias di versione diventano
composer-3-airflow-x.y.z-build.tin Managed Airflow (Gen 3). - Tutti gli alias di versione diventano
composer-a.b.c-airflow-x.y.zin Managed Airflow (Gen 2) e Managed Airflow (Legacy Gen 1).
- Tutti gli alias di versione diventano
In Managed Airflow (Gen 3), l'utilizzo di un alias di versione, ad esempio
composer-3-airflow-x.ynon esegue automaticamente l'upgrade della versione e della build di Airflow del tuo ambiente. L'ambiente rimane sulla stessa build e versione di Airflow finché non esegui l'upgrade. L'ambiente continua a ricevere gli upgrade automatici dell'infrastruttura, come di consueto.In Managed Airflow (Gen 2) e Managed Airflow (Legacy Gen 1), l'utilizzo di un alias di versione, ad esempio
composer-a-airflow-x.y.znon fornisce upgrade automatici per un ambiente. L'ambiente rimane sulla stessa versione di Managed Airflow e Airflow finché non esegui l'upgrade.
Alias versione di Managed Airflow (Gen 3)
Managed Airflow (Gen 3) supporta i seguenti alias di versione:
| Alias | Versione Airflow |
|---|---|
composer-3-airflow-2 |
Ultima versione e build di Airflow 2 |
composer-3-airflow-x.y |
Versione e build più recenti di Airflow all'interno delle versioni principali e secondarie x.y |
composer-3-airflow-x.y.z |
Ultima build della versione specificata di Airflow |
Alias versione di Managed Airflow (Gen 2)
Managed Airflow (Gen 2) supporta i seguenti alias di versione:
| Alias | Versione di Managed Airflow | Versione Airflow |
|---|---|---|
composer-2-airflow-2 |
Ultima versione di Managed Airflow (Gen 2) | Ultima versione di Airflow 2 |
composer-2-airflow-x.y |
Ultima versione di Managed Airflow (Gen 2) | L'ultima versione di Airflow all'interno delle versioni principali e secondarie x.y |
composer-2-airflow-x.y.z |
Ultima versione di Managed Airflow (Gen 2) | Versione specificata di Airflow |
composer-2.b.c-airflow-x.y |
Versione specificata di Managed Airflow (Gen 2) | Ultima versione di Airflow disponibile nelle versioni principali e secondarie di x.y |
Alias versione di Managed Airflow (legacy di prima generazione)
Managed Airflow (legacy di prima generazione) supporta i seguenti alias di versione:
| Alias | Versione di Managed Airflow | Versione Airflow |
|---|---|---|
composer-1-airflow-2 |
Ultima versione di Managed Airflow (legacy di prima generazione) | Ultima versione di Airflow 2 |
composer-1-airflow-1 |
Ultima versione di Managed Airflow (legacy di prima generazione) | Ultima versione di Airflow 1 |
composer-1-airflow-x.y |
Ultima versione di Managed Airflow (legacy di prima generazione) | L'ultima versione di Airflow all'interno delle versioni principali e secondarie x.y |
composer-1-airflow-x.y.z |
Ultima versione di Managed Airflow (legacy di prima generazione) | Versione specificata di Airflow |
composer-1.b.c-airflow-x.y |
Versione specificata di Managed Airflow (legacy di prima generazione) | L'ultima versione di Airflow disponibile nelle versioni principali e secondarie x.y. |
I seguenti alias di versione rimandano a Managed Airflow (3ª gen.). Puoi comunque utilizzarli, ma valuta la possibilità di passare agli alias per la tua versione di Managed Airflow.
composer-latest-airflow-x.yè uguale acomposer-3-airflow-x.y.composer-latest-airflow-x.y.zè uguale acomposer-3-airflow-x.y.z.
Argomenti della versione in Google Cloud CLI
Quando crei o aggiorni un ambiente Managed Airflow utilizzando Google Cloud CLI, puoi specificare le versioni di Managed Airflow e Airflow:
Composer 3
L'argomento
--image-versionspecifica la versione e la build di Airflow nel formatocomposer-3-airflow-x.y.z-build.t. Puoi utilizzare gli alias di versione, che vengono risolti da Google Cloud CLI nel formato completo.--airflow-versionspecifica la versione di Airflow nei seguenti formati:Il formato
x.y.zè per l'ultima build della versione specificata di Airflow. Questo formato è uguale all'alias della versionecomposer-3-airflow-x.y.z.Il formato
x.yè per l'ultima build di Airflow disponibile nelle versioni principali e secondarie dix.y. Questo formato è uguale all'alias della versionecomposer-3-airflow-x.y.x.y.z-build.tè la versione e la build specificate di Airflow. Questo formato è uguale acomposer-3-airflow-x.y.z-build.t.
Composer 2
L'argomento
--image-versionspecifica le versioni di Managed Airflow (Gen 2) e Airflow:- Il formato
composer-a.b.c-airflow-x.y.zcrea un ambiente con le versioni specificate di Managed Airflow e Airflow. - Gli alias di versione vengono risolti prima nel formato
composer-a.b.c-airflow-x.y.ze poi viene creato un ambiente con le versioni specificate di Managed Airflow (Gen 2) e Airflow.
- Il formato
--airflow-versionspecifica la versione di Airflow nei seguenti formati:Il formato
x.y.zè per l'ultima versione di Managed Airflow (Gen 2) e la versione specificata di Airflow. Questo formato è uguale all'alias della versionecomposer-2-airflow-x.y.z.Il formato
x.yè per l'ultima versione di Managed Airflow (Gen 2) e per l'ultima versione di Airflow disponibile nelle versioni principali e secondarie dix.y. Questo formato è uguale all'alias della versionecomposer-2-airflow-x.y.
Composer 1
L'argomento
--image-versionspecifica Managed Airflow (legacy di prima generazione) e le versioni di Airflow:- Il formato
composer-a.b.c-airflow-x.y.zcrea un ambiente con le versioni specificate di Managed Airflow e Airflow. - Gli alias di versione vengono risolti prima nel formato
composer-a.b.c-airflow-x.y.ze poi viene creato un ambiente con le versioni specificate di Managed Airflow (legacy di prima generazione) e Airflow.
- Il formato
--airflow-versionspecifica la versione di Airflow nei seguenti formati:Il formato
x.y.zè per l'ultima versione di Managed Airflow (Legacy Gen 1) e la versione specificata di Airflow. Questo formato è uguale all'alias della versionecomposer-1-airflow-x.y.z.Il formato
x.yè per l'ultima versione di Managed Airflow (Legacy Gen 1) e l'ultima versione di Airflow disponibile nelle versioni principali e secondariex.y. Questo formato è uguale all'alias della versionecomposer-1-airflow-x.y.
Passaggi successivi
- Immagini Managed Airflow
- Creare un ambiente
- Eseguire l'upgrade di un ambiente Managed Airflow esistente