Airflow gestito (terza generazione) | Airflow gestito (seconda generazione) | Airflow gestito (prima generazione legacy)
Questa pagina fornisce informazioni per la risoluzione dei problemi che potresti riscontrare durante la creazione di ambienti Airflow gestito.
Per informazioni sulla risoluzione dei problemi relativi all'aggiornamento e all'upgrade degli ambienti, consulta Risoluzione dei problemi relativi agli upgrade e agli aggiornamenti degli ambienti.
Quando vengono creati ambienti Airflow gestito, la maggior parte dei problemi si verifica per i seguenti motivi:
Problemi di autorizzazione del service account.
Informazioni errate su firewall, DNS o routing.
Problemi relativi alla rete. Ad esempio, configurazione VPC non valida, conflitti di indirizzi IP o intervalli IP di rete troppo ristretti.
Problemi relativi alle quote.
Policy dell'organizzazione non compatibili.
Autorizzazioni insufficienti per creare un ambiente
Se Airflow gestito non riesce a creare un ambiente perché il tuo account non dispone di autorizzazioni sufficienti, restituisce i seguenti messaggi di errore:
ERROR: (gcloud.composer.environments.create) PERMISSION_DENIED: The caller
does not have permission
o
ERROR: (gcloud.composer.environments.create) PERMISSION_DENIED: User not
authorized to act as service account <service-account-name>.
The user must be granted iam.serviceAccounts.actAs permission, included in
Owner, Editor, Service Account User role. See https://cloud.google.com/iam/docs
/understanding-service-accounts for additional details.
Soluzione: assegna i ruoli sia al tuo account sia al account di servizio del tuo ambiente come descritto in Controllo dell'accesso.
In Airflow gestito (seconda generazione), assicurati che al account di servizio Cloud Composer Service Agent (
service-PROJECT_NUMBER@cloudcomposer-accounts.iam.gserviceaccount.com) sia assegnato il ruolo Cloud Composer v2 API Service Agent Extension.Assicurati che al service agent API di Google (
PROJECT_NUMBER@cloudservices.gserviceaccount.com) sia assegnato il ruolo Editor.Nella configurazione VPC condiviso, segui le istruzioni Configurare il VPC condiviso.
Il account di servizio dell'ambiente non dispone di autorizzazioni sufficienti
Quando crei un ambiente Airflow gestito, devi specificare un service account che esegue i nodi del cluster GKE dell'ambiente. Se questo account di servizio non dispone di autorizzazioni sufficienti per l'operazione richiesta, Airflow gestito restituisce il seguente errore:
Errors in: [Web server]; Error messages:
Creation of airflow web server version failed. This may be an intermittent
issue of the App Engine service. You may retry the operation later.
{"ResourceType":"appengine.v1.version","ResourceErrorCode":"504","ResourceError
Message":"Your deployment has failed to become healthy in the allotted time
and therefore was rolled back. If you believe this was an error, try adjusting
the 'app_start_timeout_sec' setting in the 'readiness_check' section."}
Soluzione: assegna i ruoli sia al tuo account sia al account di servizio del tuo ambiente come descritto in Controllo dell'accesso.
Avvisi relativi ai ruoli IAM mancanti nei service account
Quando la creazione di un ambiente non riesce, Airflow gestito genera il
seguente messaggio di avviso dopo che si è verificato un errore:
The issue may be caused by missing IAM roles in the following Service Accounts
....
Questo messaggio di avviso evidenzia le possibili cause dell'errore. Airflow gestito verifica la presenza dei ruoli richiesti nei service account del tuo progetto e, se questi ruoli non sono presenti, genera questo messaggio di avviso.
Soluzione: verifica che i service account menzionati nel messaggio di avviso dispongano di i ruoli richiesti. Per saperne di più su ruoli e autorizzazioni in Airflow gestito, consulta Controllo dell'accesso.
In alcuni casi, puoi ignorare questo avviso. Airflow gestito non controlla le singole autorizzazioni assegnate ai ruoli. Ad esempio, se utilizzi ruoli IAM personalizzati, è possibile che il account di servizio menzionato nel messaggio di avviso disponga già di tutte le autorizzazioni richieste. In questo caso, puoi ignorare questo avviso.
Policy dell'organizzazione non compatibili
Le seguenti policy devono essere configurate in modo appropriato per consentire la creazione degli ambienti Airflow gestito.
| Policy dell'organizzazione | Airflow gestito (terza generazione) | Airflow gestito (seconda generazione) | Airflow gestito (prima generazione legacy) |
|---|---|---|---|
compute.disableSerialPortLogging |
È consentito qualsiasi valore | Deve essere disabilitato | Disabilitato per le versioni precedenti alla 1.13.0; in caso contrario, qualsiasi valore |
compute.requireOsLogin |
È consentito qualsiasi valore | È consentito qualsiasi valore | Deve essere disabilitato |
compute.vmCanIpForward |
È consentito qualsiasi valore | È consentito qualsiasi valore | Deve essere consentito (obbligatorio per i cluster GKE di proprietà di Airflow gestito) quando la modalità nativa di VPC (che utilizza l'IP alias) non è configurata |
compute.vmExternalIpAccess |
È consentito qualsiasi valore | Deve essere consentito per gli ambienti IP pubblici | Deve essere consentito per gli ambienti IP pubblici |
compute.restrictVpcPeering |
Può essere applicato | Non può essere applicato | Non può essere applicato |
compute.disablePrivateServiceConnectCreationForConsumers |
È consentito qualsiasi valore | Non è possibile vietare SERVICE_PRODUCERS per gli ambienti IP privati e pubblici. Non influisce sugli ambienti esistenti, che possono operare quando questa policy è abilitata. | Non è possibile vietare SERVICE_PRODUCERS per gli ambienti IP privati. Non influisce sugli ambienti esistenti, che possono operare quando questa policy è abilitata. |
compute.restrictPrivateServiceConnectProducer |
Quando è attiva, inserisci nella lista consentita l'organizzazione google.com |
Quando è attiva, inserisci nella lista consentita l'organizzazione google.com |
È consentito qualsiasi valore |
Policy sul confine di accesso dell'entità non compatibili
Le policy sul confine di accesso dell'entità configurate nella tua organizzazione possono essere configurate in modo da bloccare alcune operazioni dell'ambiente o impedire la creazione di nuovi ambienti.
In questo caso, potresti visualizzare la seguente riga nei messaggi di errore:
Operations on resource are denied due to an IAM Principal Access Boundary Policy.
I componenti del tuo ambiente si trovano in un progetto tenant e in un progetto cliente. Il progetto tenant è gestito da Google e non appartiene all'organizzazione in cui si trova l'ambiente. Il service account del tuo ambiente deve disporre delle autorizzazioni per eseguire operazioni nel progetto tenant.
Soluzione:
- Aggiungi un'espressione di condizione all'associazione della policy per escludere il account di servizio dell'ambiente dalla policy. Per un esempio di come escludere un'entità in modo che la policy non si applichi, consulta Associazioni di policy condizionali per le policy sul confine di accesso dell'entità nella documentazione di Identity and Access Management.
Limitare i servizi utilizzati all'interno dell'organizzazione o del progetto
Gli amministratori dell'organizzazione o del progetto possono limitare i servizi Google che possono essere
utilizzati nei loro progetti utilizzando il
gcp.restrictServiceUsage
vincolo della policy dell'organizzazione.
Quando utilizzi questa policy dell'organizzazione, è importante consentire tutti i servizi richiesti da Airflow gestito.
Passaggi successivi
- Creazione di ambienti
- Risoluzione dei problemi relativi agli upgrade e agli aggiornamenti degli ambienti
- Controllo dell'accesso