In diesem Dokument werden Methoden zur Fehlerbehebung für Cloud Endpoints-Bereitstellungen in flexiblen App Engine-Umgebungen erläutert. Wenn Sie von einer API-Anfrage eine Fehlermeldung erhalten, finden Sie unter Fehlerbehebung bei Antwortfehlern weitere Informationen.
Bereitstellungsfehler
In diesem Abschnitt wird beschrieben, wie Sie Fehler in Zusammenhang mit gcloud app deploy
beheben.
Fehlermeldung | Fehlerbehebung |
---|---|
Die Bereitstellung hat in der vorgesehenen Zeit keinen fehlerfreien Zustand erreicht und wird daher rückgängig gemacht. Wenn Sie glauben, dass dies unberechtigt war, können Sie die Einstellung app_start_timeout_sec im Abschnitt readiness_check anpassen.
|
Prüfen Sie, dass die Datei Aktivieren Sie für Ihr Projekt alle Google Cloud-Dienste, die Endpoints und den ESP benötigen. Weitere Informationen finden Sie unter Erforderliche Dienste überprüfen. |
Fehlermeldungen im Zusammenhang mit rollout_strategy
Wenn Sie app.yaml
vor der Bereitstellung konfigurieren, müssen Sie den Abschnitt endpoints_api_service
hinzufügen. Der Extensible Service Proxy (ESP) benötigt die Einstellungen, die Sie in diesem Abschnitt angeben, um die Konfiguration für Ihren Dienst abzurufen. Sie müssen entweder eine Konfigurations-ID im Feld config_id
oder die Option rollout_strategy: managed
angeben, jedoch nicht beide. Diese Option konfiguriert den ESP so, dass die zuletzt bereitgestellte Dienstkonfiguration verwendet wird. Wenn Sie diese Option innerhalb von 5 Minuten nach der Bereitstellung einer neuen Dienstkonfiguration angeben, erkennt der ESP die Änderung und verwendet automatisch die neue Konfiguration. Wir empfehlen, diese Option anstelle einer konkreten Konfigurations-ID anzugeben, die vom ESP verwendet werden soll.
Beispiel:
endpoints_api_service:
name: example-project-12345.appspot.com
rollout_strategy: managed
Fehlen im Abschnitt endpoints_api_service
die Informationen, die der ESP benötigt, um eine Dienstkonfiguration zu erhalten, wird eine der folgenden Meldungen angezeigt:
Fehlermeldung | Fehlerbehebung |
---|---|
config_id ist verboten, wenn rollout_strategy auf "managed" festgelegt ist
|
Sie können nicht gleichzeitig eine Konfigurations-ID und rollout_strategy: managed angeben. Solange Sie keinen Grund für die Verwendung einer bestimmten Konfigurations-ID haben, sollten Sie config_id: [YOUR_CONFIG_ID] aus app.yaml entfernen und gcloud app deploy noch einmal ausführen.
|
config_id muss angegeben werden, wenn rollout_strategy nicht angegeben oder auf "fixed" festgelegt ist
|
Diese Fehlermeldung wird angezeigt, wenn app.yaml kein rollout_strategy: managed enthält oder rollout_strategy auf fixed festgelegt ist und keine Konfigurations-ID angegeben ist. Solange Sie keinen Grund für die Verwendung einer bestimmten Konfigurations-ID haben, sollten Sie rollout_strategy: managed zum Abschnitt endpoints_api_service in der app.yaml hinzufügen und gcloud app deploy noch einmal ausführen.
|
Logs für eine Instanz abrufen
In den Absturz- und Systemlogs für App Engine finden Sie Informationen darüber, warum die Anwendung nicht gestartet werden konnte oder nicht ordnungsgemäß funktioniert. Weitere Informationen zum Debuggen finden Sie im Endpoints-Log.
Stellen Sie in der Google Cloud Console eine SSH-Verbindung zu Ihrer virtuellen Maschine her. Weitere Informationen finden Sie unter Verbindung zu einer Instanz herstellen.
Verwenden Sie einen Texteditor wie
tail
:tail -f /var/log/nginx/error.log