Risoluzione dei problemi di deployment in ambienti flessibili di App Engine

Questo documento illustra le tecniche di risoluzione dei problemi per i deployment di Cloud Endpoints negli ambienti flessibili di App Engine. Se ricevi un messaggio di errore da una richiesta alla tua API, consulta la sezione Risoluzione dei problemi relativi alle risposte per informazioni su come risolvere il problema.

Errori di deployment

Questa sezione descrive come risolvere i problemi relativi agli errori di gcloud app deploy.

Messaggio di errore Risoluzione dei problemi
Il deployment non è riuscito a raggiungere lo stato di integrità nel tempo a disposizione, pertanto è stato eseguito il rollback. Se ritieni che si tratti di un errore, prova a modificare l'impostazione app_start_timeout_sec nella sezione readiness_check.

Verifica che il file app.yaml contenga una sezione readiness_check con un valore per app_start_timeout_sec. Se non esiste, aggiungi la sezione e imposta il valore di app_start_timeout_sec su un valore superiore a quello predefinito di 300 secondi. Per ulteriori informazioni, consulta i controlli di idoneità.

Assicurati che nel tuo progetto siano abilitati tutti i servizi Google Cloud richiesti da Endpoints ed ESP. Per maggiori dettagli, consulta Controllare i servizi richiesti.

Messaggi di errore relativi a rollout_strategy

Quando configuri app.yaml prima del deployment, devi aggiungere la sezione endpoints_api_service. Il proxy di servizio Extensible (ESP) ha bisogno delle impostazioni specificate in questa sezione per ottenere la configurazione del servizio. Devi specificare un ID configurazione nel campo config_id o includere l'opzione rollout_strategy: managed, ma non entrambi. Questa opzione configura ESP in modo da utilizzare la configurazione del servizio di cui è stato eseguito il deployment più recente. Quando specifichi questa opzione, fino a 5 minuti dopo aver eseguito il deployment di una nuova configurazione del servizio, ESP rileva la modifica e inizia a utilizzarla automaticamente. Ti consigliamo di specificare questa opzione anziché un ID configurazione specifico da utilizzare per ESP. Ad esempio:

endpoints_api_service:
  name: example-project-12345.appspot.com
  rollout_strategy: managed

Se la sezione endpoints_api_service non include le informazioni di cui l'ESP ha bisogno per ottenere una configurazione del servizio, viene visualizzato uno dei seguenti messaggi:

Messaggio di errore Risoluzione dei problemi
config_id è vietato quando rollout_strategy è impostato su "managed" Non puoi specificare sia un ID configurazione sia rollout_strategy: managed. A meno che tu non abbia un motivo per utilizzare un ID configurazione specifico, ti consigliamo di rimuovere config_id: [YOUR_CONFIG_ID] da app.yaml ed eseguire di nuovo gcloud app deploy.
config_id deve essere specificato quando rollout_strategy è non specificato o impostato su "fixed" Questo messaggio di errore viene visualizzato quando app.yaml non include rollout_strategy: managed o rollout_strategy è impostato su fixed e non hai specificato un ID configurazione. A meno che tu non abbia un motivo per utilizzare un ID configurazione specifico, ti consigliamo di aggiungere rollout_strategy: managed alla sezione endpoints_api_service di app.yaml ed eseguire nuovamente gcloud app deploy.

Visualizzazione dei log in un'istanza

I log di sistema e degli arresti anomali di App Engine forniscono informazioni sul motivo per cui l'applicazione non è riuscita a essere avviata o a funzionare come previsto. Puoi trovare ulteriori informazioni sul debug nel log Endpoints.

  1. Nella console Google Cloud, accedi tramite SSH alla macchina virtuale. Per ulteriori informazioni, consulta la sezione sulla connessione a un'istanza.

  2. Utilizza un visualizzatore di testo come tail:

     tail -f /var/log/nginx/error.log
    

Passaggi successivi