Risoluzione dei problemi relativi agli upgrade e agli aggiornamenti degli ambienti

Managed Airflow (terza generazione) | Managed Airflow (seconda generazione) | Managed Airflow (prima generazione legacy)

Questa pagina fornisce informazioni per la risoluzione dei problemi che potresti riscontrare durante l'aggiornamento o l'upgrade degli ambienti Managed Service per Apache Airflow.

Per informazioni sulla risoluzione dei problemi relativi alla creazione di ambienti, consulta Risoluzione dei problemi di creazione dell'ambiente.

Quando gli ambienti Managed Airflow vengono aggiornati, la maggior parte dei problemi si verifica per i seguenti motivi:

  • Problemi di autorizzazione dell'account di servizio
  • Problemi di dipendenza di PyPI
  • Dimensioni del database Airflow

Autorizzazioni insufficienti per aggiornare o eseguire l'upgrade di un ambiente

Se Managed Airflow non riesce ad aggiornare o eseguire l'upgrade di un ambiente a causa di autorizzazioni insufficienti, restituisce il seguente messaggio di errore:

ERROR: (gcloud.composer.environments.update) PERMISSION_DENIED: The caller does not have permission

Soluzione: assegna i ruoli sia al tuo account sia al account di servizio del tuo ambiente come descritto in Controllo dell'accesso.

Il account di servizio dell'ambiente non dispone di autorizzazioni sufficienti

Quando crei un ambiente Airflow gestito, specifichi un service account che esegue la maggior parte delle operazioni dell'ambiente. Se questo account di servizio non dispone di autorizzazioni sufficienti per l'operazione richiesta, Managed Airflow restituisce un errore:

    UPDATE operation on this environment failed 3 minutes ago with the
    following error message:
    Composer Backend timed out. Currently running tasks are [stage:
    CP_COMPOSER_AGENT_RUNNING
    description: "No agent response published."
    response_timestamp {
      seconds: 1618203503
      nanos: 291000000
    }
    ].

Soluzione: assegna i ruoli al tuo Account Google e al account di servizio del tuo ambiente come descritto in Controllo dell'accesso.

Le dimensioni del database Airflow sono troppo grandi per eseguire l'operazione

Un'operazione di upgrade potrebbe non riuscire perché le dimensioni del database Airflow sono troppo grandi per il successo delle operazioni di upgrade.

Se le dimensioni del database Airflow sono superiori a 16 GB, Airflow gestito restituisce il seguente errore:

Airflow database uses more than 16 GB. Please clean the database before upgrading.

Soluzione: esegui la pulizia del database Airflow, come descritto in Pulizia del database Airflow.

L'upgrade a una nuova versione di Managed Airflow non riesce a causa di conflitti tra i pacchetti PyPI

Quando esegui l'upgrade di un ambiente con pacchetti PyPI personalizzati installati, potresti riscontrare errori relativi a conflitti tra i pacchetti PyPI. Questo potrebbe accadere perché la nuova immagine di Managed Service per Apache Airflow contiene versioni successive dei pacchetti preinstallati. Ciò può causare conflitti di dipendenza con i pacchetti PyPI installati nell'ambiente.

Soluzione:

  • Per informazioni dettagliate sui conflitti tra i pacchetti, esegui un controllo dell'upgrade.
  • Allenta i vincoli di versione per i pacchetti PyPI personalizzati installati. Ad esempio, anziché specificare una versione come ==1.0.1, specificala come >=1.0.1.
  • Per ulteriori informazioni sulla modifica dei requisiti di versione per risolvere le dipendenze in conflitto, consulta la documentazione di pip.

Non è possibile eseguire l'upgrade di un ambiente a una versione ancora supportata

È possibile eseguire l'upgrade degli ambienti Managed Airflow solo a diverse versioni più recenti e precedenti.

Le limitazioni di versione per la creazione di nuovi ambienti e l'upgrade di ambienti esistenti sono diverse. La versione di Managed Airflow scelta durante la creazione di un nuovo ambiente potrebbe non essere disponibile durante l'upgrade degli ambienti esistenti.

Puoi eseguire l'operazione di upgrade utilizzando Google Cloud CLI, l'API o Terraform. Nella Google Cloud console, solo le versioni più recenti sono disponibili come opzioni di upgrade.

L'ambiente non è integro (controllo di attività non riuscito)

È possibile eseguire l'upgrade di un ambiente solo se il suo stato è segnalato come integro.

Una delle cause più comuni dello stato non integro è quando i componenti dell'ambiente si avvicinano ai limiti delle risorse configurate e operano costantemente al carico massimo. Poiché alcuni componenti dell'ambiente non possono segnalare il loro stato, il DAG di controllo di attività segnala lo stato dell'ambiente come non integro.

Per risolvere questo problema, ti consigliamo di aumentare i limiti delle risorse. Sebbene ti consigliamo di evitare che l'ambiente si avvicini ai limiti in qualsiasi momento, puoi farlo anche solo per il periodo in cui esegui l'upgrade dell'ambiente.

La mancanza di connettività al DNS può causare problemi durante l'esecuzione di upgrade o aggiornamenti

Questi problemi di connettività potrebbero comportare voci di log come la seguente:

WARNING - Compute Engine Metadata server unavailable attempt 1 of 5. Reason: [Errno -3] Temporary failure in name resolution Error

In genere significa che non esiste una route per il DNS, quindi assicurati che il nome DNS metadata.google.internal possa essere risolto nell'indirizzo IP dalle reti di cluster, pod e servizi. Verifica se l'accesso privato Google è attivato all'interno del VPC (nel progetto host o di servizio) in cui è stato creato l'ambiente.

Passaggi successivi