Risoluzione dei problemi di creazione dell'ambiente

Cloud Composer 1 | Cloud Composer 2

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

Per informazioni sulla risoluzione dei problemi relativi all'aggiornamento e all'upgrade degli ambienti, vedi Risoluzione dei problemi relativi ad aggiornamenti e upgrade dell'ambiente.

Quando vengono creati ambienti di Cloud Composer, la maggior parte dei problemi si verifica per i seguenti motivi:

  • Problemi di autorizzazione dell'account di servizio

  • Informazioni su firewall, DNS o routing non corrette

  • Problemi relativi alla rete. Ad esempio, configurazione VPC non valida, conflitti di indirizzi IP 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 ha autorizzazioni insufficienti, 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 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 all'account di servizio dell'agente di servizio Cloud Composer (service-PROJECT_NUMBER@cloudcomposer-accounts.iam.gserviceaccount.com) sia stato assegnato il ruolo Estensione agente di servizio API Cloud Composer v2.

  • Assicurati che all'agente di servizio API di Google (PROJECT_NUMBER@cloudservices.gserviceaccount.com) sia stato assegnato il ruolo Editor.

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

L'account di servizio dell'ambiente non ha 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 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 ruoli sia al tuo account sia all'account di servizio del tuo ambiente come descritto in Controllo dell'accesso.

Avvisi sui ruoli IAM mancanti negli account di servizio

Quando la creazione di un ambiente non va a buon fine, 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 di ruoli richiesti negli account di servizio nel progetto e, se non sono presenti, genera questo messaggio di avviso.

Soluzione: verifica che gli account di servizio menzionati nel messaggio di avviso dispongano dei ruoli richiesti. Per ulteriori informazioni sui ruoli e sulle 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 l'account di servizio menzionato 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

Puoi specificare una rete VPC e una subnet per il tuo ambiente Cloud Composer al momento della creazione. 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 rete e la subnet 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é reti VPC.
  • Prima di creare un ambiente, assicurati che esistano la rete VPC e la subnet per il nuovo ambiente.

Configurazione di rete non corretta

Le creazioni di ambienti Cloud Composer richiedono una configurazione di rete o DNS adeguata. Segui queste istruzioni per configurare la connettività alle API e ai servizi Google:

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

L'ambiente Cloud Composer utilizza una subnet per i nodi dei cluster e gli 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 verificare la presenza di voci di log all'interno delle categorie di configurazione GCE Networking e Subnetwork selezionate in Attività per vedere se sono presenti errori segnalati durante la creazione dell'ambiente.

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 i seguenti limiti di quota:

  • È stato raggiunto il numero massimo di peering VPC per singola rete VPC.
  • È stato raggiunto il numero massimo di intervalli IP di subnet principali e secondarie.
  • È stato raggiunto il numero massimo di regole di forwarding nel gruppo di peering per il bilanciamento del carico TCP/UDP interno.

Soluzione:

Criteri dell'organizzazione incompatibili

I criteri seguenti devono essere configurati in modo appropriato per creare correttamente gli ambienti Cloud Composer.

Organization Policy Cloud Composer 1 Cloud Composer 2
compute.disableSerialPortLogging Disabilitata per le versioni precedenti alla 1.13.0. In caso contrario, qualsiasi valore Deve essere disabilitato
compute.requireOsLogin Deve essere disabilitato È consentito qualsiasi valore
compute.vmCanIpForward Deve essere consentito (obbligatorio per i cluster GKE di proprietà di Cloud Composer) quando la modalità nativa VPC (con IP alias) non è configurata È consentito qualsiasi valore
compute.vmExternalIpAccess Deve essere consentita per gli ambienti IP pubblici Deve essere consentita per gli ambienti IP pubblici
compute.restrictVpcPeering Impossibile applicare Impossibile applicare
compute.disablePrivateServiceConnectCreationForConsumers È consentito qualsiasi valore Impossibile consentire "SERVICE_PRODUCERS" se viene utilizzato Private Service Connect

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

Limitazione dei servizi utilizzati all'interno dell'organizzazione o del progetto

Gli amministratori di organizzazioni o progetti 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 nella creazione del cluster GKE di un ambiente con IP privato a causa di intervalli IP sovrapposti.

Soluzione: verifica la presenza di errori nel cluster del tuo ambiente nei log e risolvi il problema in base al messaggio di errore di GKE.

Cloud Build non riesce a creare immagini di ambiente

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 progetto, i tentativi di creare o aggiornare un ambiente potrebbero non riuscire e generare 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 l'account di servizio Cloud Build disponga del ruolo Account di servizio Cloud Build.

Passaggi successivi