Risoluzione dei problemi di creazione dell'ambiente

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

Questa pagina fornisce informazioni per la risoluzione dei problemi che potresti durante la creazione di ambienti Cloud Composer.

Per informazioni sulla risoluzione dei problemi relativi all'aggiornamento e all'upgrade degli ambienti, consulta la sezione Risoluzione dei problemi relativi agli upgrade e agli aggiornamenti degli ambienti.

Quando vengono creati gli ambienti Cloud Composer, la maggior parte si verificano per i seguenti motivi:

  • Problemi relativi all'autorizzazione dell'account di servizio.

  • Informazioni su firewall, DNS o routing errati.

  • Problemi relativi alla rete. Ad esempio: configurazione VPC non valida, indirizzo IP conflitti o intervalli IP di rete troppo ristretti.

  • Problemi relativi alla quota.

  • Criteri dell'organizzazione incompatibili.

Autorizzazioni insufficienti per creare un ambiente

Se Cloud Composer non riesce a creare un ambiente perché il tuo account non dispone di autorizzazioni sufficienti, 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 all'account di servizio del tuo ambiente come descritto in Controllo dell'accesso.

  • In Cloud Composer 2, assicurati che l'agente di servizio Cloud Composer account di servizio (service-PROJECT_NUMBER@cloudcomposer-accounts.iam.gserviceaccount.com) a cui è assegnato il ruolo Estensione agente di servizio API Cloud Composer v2.

  • Assicurati che l'agente di servizio API di Google (PROJECT_NUMBER@cloudservices.gserviceaccount.com) A cui è assegnato il ruolo Editor.

  • Nella configurazione del VPC condiviso, segui Configurare le istruzioni per il VPC condiviso.

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

Quando crei un ambiente Cloud Composer, specifichi un account di servizio 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 genera 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 all'account di servizio del tuo ambiente come descritto in Controllo dell'accesso.

Avvisi relativi ai ruoli IAM mancanti negli account di servizio

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 mette in evidenza le possibili cause dell'errore. Cloud Composer controlla la presenza dei ruoli richiesti negli account di servizio del progetto e, se questi ruoli non sono presenti, genera questo messaggio di avviso.

Soluzione: verifica che gli account di servizio menzionati nel messaggio di avviso abbiano i ruoli richiesti. Per ulteriori informazioni su ruoli e autorizzazioni in Cloud Composer, vedi 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 l'account di servizio indicato nel messaggio di avviso disponga già di tutte le autorizzazioni richieste. In questo caso, puoi ignorare questo avviso.

Non esiste una rete VPC selezionata per l'ambiente

Quando crei l'ambiente Cloud Composer, puoi specificare una rete VPC e una subnet. Se non specifichi una rete VPC, il servizio Cloud Composer seleziona la VPC default e la sottorete default per la regione e la zona dell'ambiente.

Se la rete VPC e la subnet 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 usa Private Service Connect al posto di VPC reti.
  • Prima di creare un ambiente, assicurati che la rete VPC e la subnet per il tuo nuovo ambiente.

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à a Google API e servizi:

Se configuri gli ambienti Cloud Composer in una modalità VPC condiviso, segui anche le istruzioni per il VPC condiviso.

Un ambiente Cloud Composer utilizza una sottorete per i nodi del cluster e intervalli IP per i pod e i servizi. Per garantire la comunicazione con questi e altri intervalli IP, segui queste istruzioni per configurare le regole del firewall:

Puoi anche verificare la presenza di eventuali voci di log all'interno di GCE Networking e Subnetwork di categorie di configurazione in Cloud Logging per verificare se esistono errori segnalati durante la creazione dell'ambiente: Cloud Logging

Problemi relativi alla quota riscontrati durante la creazione di ambienti in reti di grandi dimensioni

Quando crei ambienti Cloud Composer in reti su larga scala, potresti riscontrare le seguenti limitazioni di quota:

  • È 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:

Criteri dell'organizzazione non compatibili

I seguenti criteri devono essere configurati correttamente in modo che Impossibile creare gli ambienti Cloud Composer.

Organization Policy Cloud Composer 3 Cloud Composer 2 Cloud Composer 1
compute.disableSerialPortLogging È consentito qualsiasi valore Deve essere disattivato Disabilitata 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 (con IP alias) non è configurata
compute.vmExternalIpAccess È consentito qualsiasi valore Deve essere consentito per gli ambienti IP pubblici Deve essere consentito per gli ambienti IP pubblico
compute.restrictVpcPeering Possono essere applicati Non può essere applicato Non può essere applicato
compute.disablePrivateServiceConnectCreationForConsumers È consentito qualsiasi valore Non è possibile non consentire SERVICE_PRODUCERS per gli ambienti IP privati e pubblici. Non influisce sugli ambienti esistenti, possono funzionare quando questo criterio viene in un bucket in cui è abilitato il controllo delle versioni. Impossibile consentire SERVICE_PRODUCERS per gli ambienti IP privati. Non influisce sugli ambienti esistenti, possono funzionare quando questo criterio viene in un bucket in cui è abilitato il controllo delle versioni.
compute.restrictPrivateServiceConnectProducer Se attiva, aggiungi l'organizzazione google.com alla lista consentita Se l'opzione è attiva, consenti l'organizzazione google.com nella lista consentita È consentito qualsiasi valore

Per ulteriori informazioni, consulta la pagina Problemi noti e Vincoli dei criteri dell'organizzazione.

Limitazione dei 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 delle norme 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'impossibilità di creare Cluster GKE a causa di intervalli IP sovrapposti.

Soluzione: controlla i log per verificare la presenza di eventuali errori nel cluster dell'ambiente e risolvere il problema in base al messaggio di errore di GKE.

Cloud Build non riesce a creare le immagini dell'ambiente

Si applica a: Cloud Composer 2 e Cloud Composer 1.

Se l'account di servizio Cloud Build (PROJECT_NUMBER@cloudbuild.gserviceaccount.com) non dispone del ruolo Account di servizio Cloud Build (roles/cloudbuild.builds.builder) nel tuo progetto, i tentativi di creare o aggiornare un ambiente potrebbero non riuscire con errori relativi alle autorizzazioni.

Ad esempio, potresti vedere denied: Permission "artifactregistry.repositories.uploadArtifacts" denied messaggio seguito da ERROR: failed to push because we ran out of retries in nei log di Cloud Build.

Per risolvere il problema, assicurati che l'account di servizio Cloud Build abbia Account di servizio Cloud Build.

Passaggi successivi