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 alla tua API, consulta la sezione Risoluzione dei problemi relativi alle risposte per informazioni sulla risoluzione del 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. In caso contrario esiste, aggiungi la sezione e imposta il valore di app_start_timeout_sec un valore superiore al valore 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. L'Extensible Service Proxy (ESP) richiede la specificate in questa sezione per ottenere la configurazione completamente gestito di Google Cloud. 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 specificare questa opzione, fino a 5 minuti dopo il deployment di un nuovo servizio configurazione, ESP rileva la modifica e inizia automaticamente a utilizzarla. Me consigliamo di specificare questa opzione anziché un ID configurazione specifico 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 che ESP deve ottenere una configurazione del servizio, uno dei seguenti messaggi visualizzati:

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 usare un di configurazione specifica, ti consigliamo di rimuovere config_id: [YOUR_CONFIG_ID] da app.yaml ed esegui nuovamente 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 includi rollout_strategy: managed o rollout_strategy è impostato su fixed e tu 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 su un'istanza

I log di sistema e gli arresti anomali di App Engine forniscono informazioni sul motivo per cui che l'applicazione non è riuscita ad avviare 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