Bereitstellungsfehler beheben

Auf dieser Seite wird Folgendes beschrieben:

Bereitstellungsdetails und ‑protokolle prüfen

Sie können Details und Protokolle sowohl für die Bereitstellung als auch für einzelne Versionen prüfen.

Status der Bereitstellung prüfen

Jede Bereitstellung enthält Informationen zum aktuellen Status, zum Fehlercode und zu den Fehlerursachen.

Wenn Fehler auftreten, prüfen Sie zuerst den Status einer Bereitstellung.

Status einer Version prüfen

Wenn eine Bereitstellung mit dem Fehlercode REVISION_FAILED fehlschlägt, können Sie sich den Status einer Version ansehen.

Sehen Sie sich in der Ausgabe des Status der Version die Felder stateDetail und errorCode an.

Der Status der Version enthält dieselben Informationen wie bei einer Bereitstellung. Außerdem enthält sie die Build-ID.

Cloud Build-Logs prüfen

Sehen Sie sich den Status einer Version an und rufen Sie die Build-ID des von der Version verwendeten Cloud Build ab.

Verwenden Sie die Build-ID, um die Cloud Build-Logs zu prüfen. Weitere Informationen zum Prüfen von Build-Ergebnissen finden Sie unter Build-Ergebnisse ansehen.

Häufige Fehler

In diesem Abschnitt werden häufige Fehler beschrieben, die beim Bereitstellen einer Terraform-Konfiguration mit Infra Manager auftreten können.

Fehlgeschlagene Bereitstellung

Wenn der Bereitstellungsstatus FAILED ist, ist bei der Bereitstellung ein unerwarteter Fehler aufgetreten.

Sehen Sie sich den Status der Bereitstellung an und prüfen Sie die Felder stateDetail und errorCode.

Wenn eine Bereitstellung mit dem Fehlercode REVISION_FAILED fehlschlägt, können Sie den Status der Version prüfen.

Konfigurationsfehler

Wenn der Status der Bereitstellung FAILED ist, ist sie möglicherweise aufgrund von Konfigurationsfehlern in der Terraform-Konfiguration fehlgeschlagen.

Wenn der Bereitstellungsfehler mit Ihrer Konfiguration zusammenhängt, sind die Felder tfErrors und errorLogs in der Ausgabe des Status der Bereitstellung enthalten. Beispiele für Konfigurationsfehler sind eine ungültige Konfiguration oder fehlende Berechtigungen.

Rufen Sie die Fehler von Terraform auf. In der Ausgabe des Status der Bereitstellung:

  • tfErrors ist eine Zusammenfassung der von Terraform erkannten Fehler (in Infra Manager auf 10 Fehler in dieser Liste beschränkt).
  • errorLogs auf ein Cloud Storage-Objekt in Ihrem Artefakt-Bucket verweisen. Dieser Bucket enthält alle tfErrors im JSON-Format mit Zeilenumbrüchen als Trennzeichen.

Jedes tfError hat eine Ressourcenadresse und eine menschenlesbare Fehlerbeschreibung im Feld errorDescription. Wenn die Ressource aufgrund eines HTTP-Fehlercodes fehlschlägt, der von einer Google Cloud API zurückgegeben wird, wird auch das Feld httpResponseCode ausgefüllt. Alle zusätzlichen Informationen zum API-Fehler werden im Fehlerfeld erfasst.

Dem Dienstkonto fehlen Berechtigungen zum Abrufen der Konfiguration

Sie sehen folgende Fehlermeldung:

  error downloading 'GCS_LOCATION': googleapi: Error 403: SA_EMAIL does
  not have storage.objects.list access to the Google Cloud Storage bucket.

Dieser Fehler wird angezeigt, weil Infra Manager keine Berechtigung hat, die Terraform-Konfiguration aus dem Cloud Storage-Bucket abzurufen.

Weisen Sie dem Dienstkonto die Rolle storage.objectViewer zu, um das Problem zu beheben. Weitere Informationen zum Gewähren von Berechtigungen für das Dienstkonto finden Sie unter Dienstkonto konfigurieren.

Falscher Ort zum Abrufen der Konfiguration

Sie sehen folgende Fehlermeldung:

  `blueprint fetch failed: invalid path`

Dieser Fehler wird angezeigt, wenn ein ungültiger Speicherort für das Abrufen der Terraform-Konfiguration angegeben wurde. In Infra Manager wird der Begriff Blueprint für eine Terraform-Konfiguration verwendet.

Prüfen Sie den Speicherort der Terraform-Konfiguration und achten Sie darauf, dass er im Befehl korrekt formatiert ist.

Falsche Berechtigung zum Auslösen von Ressourcen

Fehler werden normalerweise unter tfErrors mit dem Antwortcode 403 für die Ressourcen aufgeführt, die nicht bereitgestellt werden konnten.

Dieser Fehler wird angezeigt, wenn das Dienstkonto nicht ausreichend berechtigt ist, in der Terraform-Konfiguration definierte Ressourcen zu erstellen, zu lesen, zu aktualisieren oder zu löschen.

Weitere Informationen finden Sie unter Dem Dienstkonto IAM-Berechtigungen erteilen.

Konfiguration mit Backend

Sie sehen folgende Fehlermeldung:

  `blueprint invalid: found backend config in file.tf`

Dieser Fehler wird angezeigt, wenn die Terraform-Konfiguration einen Backend-Block enthält. Infrastructure Manager verwaltet das Backend, sodass in der Terraform-Konfiguration kein Back-End-Block definiert werden kann.

Entfernen Sie den Backend-Block aus der Konfiguration, um diesen Fehler zu beheben.

Cloud Build-Repository-Konfiguration prüfen

Wenn Infra Manager nicht auf Ihr Git-Repository zugreifen kann (über ein privates Git-Repository oder einen automatisierten Cloud Build-Workflow), müssen Sie möglicherweise prüfen, ob Ihr Cloud Build-Repository richtig konfiguriert ist.

Informationen dazu, ob das Cloud Build-Repository so konfiguriert wurde, dass es Zugriff auf das private Repository gewährt, finden Sie unter Verbindung zu einem GitHub-Repository herstellen.

Infra Manager verwendet die erste Verbindung, bei der die Cloud Build-Repository-URL mit der Terraform-Konfiguration (--git-source-repo) übereinstimmt und bei der ein Lesezugriffstoken generiert werden kann. Die Repository-Verbindung wird direkt durch einen Aufruf der accessReadToken API im ausgewählten Cloud Build-Repository validiert.

Führen Sie diesen Befehl mit dem Infra Manager-Dienstkonto aus, um zu prüfen, ob die Berechtigungen korrekt sind:

curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token \
--impersonate-service-account=SERVICE_ACCOUNT)" \
"https://cloudbuild.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION/connections/CB_CONNECTION/repositories/CB_REPO:accessReadToken"

Nächste Schritte