Panoramica del controllo delle versioni di Managed Service for Apache Airflow

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à airflowctl non 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.c indica 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 Airflow
  • airflow-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.t in Managed Airflow (Gen 3).
    • Tutti gli alias di versione diventano composer-a.b.c-airflow-x.y.z in Managed Airflow (Gen 2) e Managed Airflow (Legacy Gen 1).
  • In Managed Airflow (Gen 3), l'utilizzo di un alias di versione, ad esempio composer-3-airflow-x.y non 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.z non 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 a composer-3-airflow-x.y.
  • composer-latest-airflow-x.y.z è uguale a composer-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-version specifica la versione e la build di Airflow nel formato composer-3-airflow-x.y.z-build.t. Puoi utilizzare gli alias di versione, che vengono risolti da Google Cloud CLI nel formato completo.

  • --airflow-version specifica 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 versione composer-3-airflow-x.y.z.

    • Il formato x.y è per l'ultima build di Airflow disponibile nelle versioni principali e secondarie di x.y. Questo formato è uguale all'alias della versione composer-3-airflow-x.y.

    • x.y.z-build.t è la versione e la build specificate di Airflow. Questo formato è uguale a composer-3-airflow-x.y.z-build.t.

Composer 2

  • L'argomento --image-version specifica le versioni di Managed Airflow (Gen 2) e Airflow:

    • Il formato composer-a.b.c-airflow-x.y.z crea 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.z e poi viene creato un ambiente con le versioni specificate di Managed Airflow (Gen 2) e Airflow.
  • --airflow-version specifica 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 versione composer-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 di x.y. Questo formato è uguale all'alias della versione composer-2-airflow-x.y.

Composer 1

  • L'argomento --image-version specifica Managed Airflow (legacy di prima generazione) e le versioni di Airflow:

    • Il formato composer-a.b.c-airflow-x.y.z crea 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.z e poi viene creato un ambiente con le versioni specificate di Managed Airflow (legacy di prima generazione) e Airflow.
  • --airflow-version specifica 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 versione composer-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 secondarie x.y. Questo formato è uguale all'alias della versione composer-1-airflow-x.y.

Passaggi successivi