Risoluzione dei problemi di deployment nell'ambiente flessibile 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 all'API, consulta Risoluzione degli errori di risposta per informazioni sulla risoluzione dell'errore.

Errori di deployment

In questa sezione viene descritto come risolvere gli errori presenti in gcloud app deploy.

Messaggio di errore Risoluzione dei problemi
Il deployment non è stato integro nel tempo previsto e pertanto è stato eseguito il rollback. Se ritieni che si sia trattato di un errore, prova a modificare l'impostazione di app_start_timeout_sec nella sezione readiness_check.

Verifica che il file app.yaml abbia una sezione readiness_check con un valore di app_start_timeout_sec. Se non esiste, aggiungi la sezione e imposta il valore di app_start_timeout_sec su un valore superiore al valore predefinito di 300 secondi. Per maggiori informazioni, consulta la pagina relativa ai controlli di idoneità.

Assicurati che tutti i servizi Google Cloud richiesti da endpoint ed ESP siano abilitati nel tuo progetto. Per i dettagli, consulta la pagina relativa alla verifica dei servizi richiesti.

Messaggi di errore relativi a rollout_strategy

Quando configuri app.yaml prima del deployment, devi aggiungere la sezione endpoints_api_service. Extensible Service Proxy (ESP) richiede le impostazioni specificate in questa sezione per ottenere la configurazione del servizio. Devi specificare un ID di configurazione nel campo config_id o includere l'opzione rollout_strategy: managed, ma non entrambe. Questa opzione configura l'ESP in modo che utilizzi l'ultima configurazione del servizio di cui è stato eseguito il deployment. Quando specifichi questa opzione, fino a 5 minuti dopo il deployment di una nuova configurazione del servizio, ESP rileva la modifica e inizia automaticamente a utilizzarla. Ti consigliamo di specificare questa opzione anziché un ID di 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 necessarie all'ESP per ottenere la configurazione di un 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 di 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 di configurazione. A meno che tu non abbia un motivo per utilizzare un ID di configurazione specifico, ti consigliamo di aggiungere rollout_strategy: managed alla sezione endpoints_api_service di app.yaml ed eseguire di nuovo gcloud app deploy.

Visualizzazione dei log su un'istanza

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

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

  2. Utilizza un visualizzatore di testo come tail:

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

Passaggi successivi