Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
Questa pagina fornisce informazioni per la risoluzione dei problemi che potresti riscontrare durante la creazione degli ambienti Cloud Composer.
Per informazioni sulla risoluzione dei problemi relativi all'aggiornamento e all'upgrade degli ambienti, vedi Risoluzione dei problemi relativi agli upgrade e agli aggiornamenti degli ambienti.
Quando vengono creati gli ambienti Cloud Composer, la maggior parte dei problemi si verifica per i seguenti motivi:
Problemi relativi alle autorizzazioni 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 Cloud Composer non riesce a creare un ambiente perché il tuo account dispone di autorizzazioni insufficienti, vengono visualizzati 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 Cloud Composer 2, assicurati che il account di servizio Cloud Composer Service Agent (
service-PROJECT_NUMBER@cloudcomposer-accounts.iam.gserviceaccount.com
) abbia il ruolo Cloud Composer v2 API Service Agent Extension assegnato.Assicurati che all'agente di servizio API di Google (
PROJECT_NUMBER@cloudservices.gserviceaccount.com
) sia assegnato il ruolo Editor.Nella configurazione del VPC condiviso, segui le istruzioni per configurare il VPC condiviso.
Il account di servizio dell'ambiente dispone di autorizzazioni insufficienti
Quando crei un ambiente Cloud Composer, specifichi 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, Cloud Composer 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, Cloud Composer 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. Cloud Composer 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 dei ruoli richiesti. Per saperne di più su ruoli e autorizzazioni in Cloud Composer, consulta Controllo dell'accesso.
In alcuni casi, puoi ignorare questo avviso. Cloud Composer non controlla le singole autorizzazioni assegnate ai ruoli. Ad esempio, se utilizzi ruoli IAM personalizzati, è possibile che ilaccount di serviziot menzionato nel messaggio di avviso disponga già di tutte le autorizzazioni richieste. In questo caso, puoi ignorare questo avviso.
Una rete VPC selezionata per l'ambiente non esiste
Puoi specificare una rete VPC e una subnet per l'ambiente Cloud Composer
quando lo crei. Se non specifichi una rete VPC, il servizio Cloud Composer seleziona il VPC default
e la subnet default
per la regione e la zona dell'ambiente.
Se la subnet e la rete VPC specificate non esistono, Cloud Composer restituisce il seguente errore:
Errors in: [GKE cluster]; Error messages:
{"ResourceType":"gcp-types/container-v1:projects.locations.clusters","R
esourceErrorCode":"400","ResourceErrorMessage":{"code":400,"message":"P
roject \"<your composer project>\" has no network named \"non-existing-
vpc\".","status":"INVALID_ARGUMENT","statusMessage":"Bad
Request","requestPath":"https://container.googleapis.com/
v1/projects/<your composer
project>/locations/<zone>/clusters","httpMethod":"POST"}}
Soluzione:
- In Cloud Composer 2, puoi creare ambienti che utilizzano Private Service Connect anziché le reti VPC.
- Prima di creare un ambiente, assicurati che la rete VPC e la subnet per il nuovo ambiente esistano.
Configurazione di rete errata
La creazione di ambienti Cloud Composer richiede una configurazione di rete o DNS corretta. Segui queste istruzioni per configurare la connettività con i servizi e le API di Google:
Se configuri gli ambienti Cloud Composer in modalità VPC condiviso, segui anche le istruzioni per il VPC condiviso.
Un ambiente Cloud Composer utilizza una subnet per i nodi del cluster e intervalli IP per pod e servizi. Per garantire la comunicazione con questi e altri intervalli IP, segui queste istruzioni per configurare le regole firewall:
Puoi anche controllare eventuali voci di log all'interno delle categorie di configurazione GCE Networking
e
Subnetwork
selezionate in Cloud Logging per verificare se sono presenti
errori segnalati durante la creazione dell'ambiente:
Cloud Logging
Problemi di quota riscontrati durante la creazione di ambienti in reti su larga scala
Quando crei ambienti Cloud Composer in reti su larga scala, potresti riscontrare le seguenti limitazioni delle quote:
- È stato raggiunto il numero massimo di peering VPC per singola rete VPC.
- È stato raggiunto il numero massimo di intervalli IP di subnet primari e secondari.
- È stato raggiunto il numero massimo di regole di inoltro nel gruppo di peering per il bilanciamento del carico TCP/UDP interno.
Soluzione:
- In Cloud Composer 2, puoi creare ambienti che utilizzano Private Service Connect anziché le reti VPC.
- In Cloud Composer 1, applica l'approccio consigliato per Cloud Composer in reti su larga scala.
Policy dell'organizzazione non compatibili
Le seguenti policy devono essere configurate in modo appropriato per poter creare correttamente gli ambienti Cloud Composer.
Policy organizzazione | Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1 |
---|---|---|---|
compute.disableSerialPortLogging |
È consentito qualsiasi valore | Deve essere disattivato | Disabilitato per le versioni precedenti alla 1.13.0; altrimenti qualsiasi valore |
compute.requireOsLogin |
È consentito qualsiasi valore | È consentito qualsiasi valore | Deve essere disattivato |
compute.vmCanIpForward |
È consentito qualsiasi valore | È consentito qualsiasi valore | Deve essere consentito (obbligatorio per i cluster GKE di proprietà di Cloud Composer) quando la modalità VPC nativa (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 funzionare quando questo criterio è attivato. | Non è possibile non consentire SERVICE_PRODUCERS per gli ambienti IP privati. Non influisce sugli ambienti esistenti, che possono funzionare quando questo criterio è attivato. |
compute.restrictPrivateServiceConnectProducer |
Se attivo, inserisci nella lista consentita l'organizzazione google.com |
Se attivo, inserisci nella lista consentita l'organizzazione google.com |
È consentito qualsiasi valore |
Policy di Principal Access Boundary incompatibili
Le policy di Principal Access Boundary configurate nella tua organizzazione possono essere configurate in modo da bloccare alcune operazioni del tuo 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 tenant e 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 al binding della policy per escludere il account di servizio dell'ambiente dalla policy. Per un esempio di come escludere un'entità in modo che i criteri non vengano applicati, consulta Associazioni di criteri condizionali per i criteri di Principal Access Boundary 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 vincolo dei criteri dell'organizzazione gcp.restrictServiceUsage
.
Quando utilizzi questo criterio dell'organizzazione, è importante consentire tutti i servizi richiesti da Cloud Composer.
Messaggi di errore 400: impossibile eseguire il deployment del server web Airflow.
Questo errore potrebbe essere causato da un errore di creazione del cluster GKE di un ambiente con IP privato a causa di intervalli IP sovrapposti.
Soluzione: controlla i log per eventuali errori nel cluster del tuo ambiente e risolvi il problema in base al messaggio di errore di GKE.
Cloud Build non riesce a creare immagini dell'ambiente
Si applica a: Cloud Composer 2 e Cloud Composer 1.
Se il account di servizio Cloud Build
(PROJECT_NUMBER@cloudbuild.gserviceaccount.com
) non dispone del ruolo
Service account Cloud Build (roles/cloudbuild.builds.builder
) nel tuo progetto, i tentativi di creare o aggiornare un ambiente potrebbero non riuscire a causa di errori relativi alle autorizzazioni.
Ad esempio, potresti visualizzare il messaggio
denied: Permission "artifactregistry.repositories.uploadArtifacts" denied
seguito da ERROR: failed to push because we ran out of retries
nei
log di Cloud Build.
Per risolvere il problema, assicurati che il account di servizio Cloud Build disponga del ruolo Service Account Cloud Build.
Passaggi successivi
- Creazione di ambienti
- Risoluzione dei problemi relativi agli upgrade e agli aggiornamenti degli ambienti
- Controllo dell'accesso