Deployment aktualisieren

Auf dieser Seite wird beschrieben, wie Sie ein Deployment mit Infrastructure Manager aktualisieren. Es gibt verschiedene Gründe, warum Sie ein Deployment aktualisieren möchten:

  • Um Ihre Infrastruktur in einen bestimmten Zustand zurückzuversetzen.

    Wenn Sie ein Deployment erstellen, können sich die Ressourcen nach einiger Zeit geändert haben. Beispielsweise wurden einige der Ressourcen möglicherweise von einer Person in der Console geändert. Sie können das Deployment mit der ursprünglichen Terraform-Konfiguration aktualisieren, um es in den ausgewählten Zustand zurückzuversetzen.

  • Um Änderungen an der Infrastruktur vorzunehmen.

    Nachdem Sie ein Deployment erstellt haben, möchten Sie möglicherweise die Infrastruktur ändern. Beispielsweise neue Ressourcen hinzufügen oder einige Konfigurationen ändern. Sie können das Deployment mit einer Terraform-Konfiguration aktualisieren, die die neue Infrastruktur beschreibt.

Auf dieser Seite wird davon ausgegangen, dass Sie mit Terraform vertraut sind. Weitere Informationen finden Sie unter Terraform und Infra Manager.

Hinweis

  1. Stellen Sie sicher, dass Infra Manager aktiviert ist.
  2. Prüfen Sie, ob Sie die erforderlichen IAM-Berechtigungen zum Erstellen von Deployments haben: roles/config.admin.
  3. Prüfen Sie, ob Sie ein Dienstkonto mit den erforderlichen Berechtigungen haben. Weitere Informationen finden Sie unter Dienstkonto konfigurieren.
  4. Ermitteln Sie das Infra Manager-Deployment, das aktualisiert werden soll.
  5. Ermitteln Sie die Terraform-Konfiguration, die für die Aktualisierung bereitgestellt werden soll. Für eine Überarbeitung kann jede Konfiguration verwendet werden. Diese Konfiguration ist oft eine identische oder aktualisierte Version der bereits bereitgestellten Konfiguration.

    Prüfen Sie, ob diese Terraform-Konfiguration den Einschränkungen entspricht, einschließlich der Einschränkung, dass die Konfiguration keine vertraulichen Daten enthält.

  6. Prüfen Sie das Kontingent Ihrer Organisation für Produkte, die mit der gewünschten Infrastruktur verknüpft sind. Es können Bereitstellungsfehler auftreten, wenn die gewünschte Infrastruktur das Kontingent Ihrer Organisation für die von Ihrem Deployment verwendeten Produkte überschreitet. Weitere Informationen finden Sie unter Kontingente und Limits.

  7. Führen Sie alle erforderlichen Schritte für die Datenmigration oder die Dienstkontinuität für die Ressourcen aus, die Sie ändern.

  8. Wenn Sie eine Vorschau der Aktualisierung aufrufen möchten, bevor Sie Ressourcen konfigurieren, lesen Sie Vorschau einer Aktualisierung eines Deployments aufrufen.

Konfigurationsspezifische Berechtigungen erteilen

Zum Bereitstellen von Google Cloud Ressourcen, die in der Terraform Konfiguration angegeben sind, benötigt das Dienstkonto, mit dem Sie Infra Manager aufrufen, Berechtigungen, die sich auf Folgendes beziehen:

  • Google Cloud Ressourcen, die in der Konfiguration definiert sind, die Sie für die Überarbeitung verwenden.

  • Wenn in der Konfiguration, die Sie für die Überarbeitung verwenden, andere Ressourcen definiert sind als in der Konfiguration, die für das Deployment verwendet wurde, benötigen Sie Berechtigungen für die Ressourcen, die in beiden Konfigurationen definiert sind.

Die Berechtigungen, die für die in der Konfiguration definierten Ressourcen spezifisch sind, gelten zusätzlich zu den Berechtigungen, die das Dienstkonto zum Verwenden des Infra Manager-Dienstes benötigt.

Weitere Informationen zum Erteilen von Berechtigungen für die Google Cloud Ressourcen und zum Prüfen, ob Sie Zugriff auf die erforderlichen Projekte haben, finden Sie unter Dienstkonto konfigurieren.

Privates Git-Repository und Host mit Cloud Build verbinden

Wenn Sie eine Terraform-Konfiguration aus einem privaten Git-Repository bereitstellen, müssen Sie Ihren Git-Host und Ihr Repository mit Cloud Build verbinden.

Deployment aktualisieren

Wenn Sie ein Deployment aktualisieren möchten, stellen Sie eine Konfiguration mit demselben Deployment-Namen bereit. Dadurch wird eine Version erstellt. Weitere Informationen finden Sie unter Übersicht über Deployments und Überarbeitungen.

Wenn Sie kein vorhandenes Deployment haben, lesen Sie Infrastruktur mit Infra Manager bereitstellen.

Wenn Sie eine Vorschau einer Aktualisierung aufrufen möchten, ohne Ressourcen bereitzustellen, lesen Sie Vorschau eines Deployments aufrufen.

Wählen Sie den Tab mit dem gewünschten Workflow aus, um weitere Informationen zum Aktualisieren eines Deployments zu erhalten.

Console

In diesem Abschnitt wird beschrieben, wie Sie eine Terraform-Konfiguration mit Infra Manager in Google Cloud der Console aktualisieren.

Konfiguration bereitstellen und Überarbeitung erstellen:

  1. Rufen Sie in der Google Cloud Console die Seite Infra Manager auf.

    Zu Infra Manager

  2. Suchen Sie auf der Seite Deployments in der Spalte ID nach dem Deployment, das Sie aktualisieren möchten, und klicken Sie darauf.
  3. Klicken Sie auf der Seite mit Ihrer Deployment-ID auf Bearbeiten.
  4. Auf der Deployment-Details Seite können Sie die Felder Terraform-Version, Dienstkonto, und die Quelle der Terraform-Konfiguration ändern. Wenn Sie ein privates Git-Repository angeben, prüfen Sie, ob Sie Ihren Host und Ihr Repository mit Cloud Build verbunden haben.

    Klicken Sie auf Weiter.

  5. Auf der Seite Terraform-Details können Sie die Eingabewerte für die Terraform-Konfiguration ändern. Klicken Sie auf Weiter.
  6. Auf der Seite Erweiterte Details können Sie die Felder Labels und Annotationen, Worker-Pools und Cloud Storage-Bucket für Artefakte ändern.
  7. Klicken Sie auf Aktualisieren , wenn Sie mit den Änderungen an Ihrem Deployment zufrieden sind, um den Aktualisierungsvorgang zu starten.

Weitere Informationen zu Bereitstellungsparametern und ihren Formaten finden Sie in der Dokumentation zu Ressourcen bereitstellen.

gcloud CLI

In diesem Abschnitt wird beschrieben, wie Sie eine Terraform-Konfiguration bereitstellen, die in einem Cloud Storage-Bucket gespeichert ist. Mit einem Storage-Bucket können Sie den Zugriff auf die Konfiguration steuern.

  1. Prüfen Sie, ob sich die Terraform-Konfiguration in einem Cloud Storage-Bucket befindet. Weitere Informationen finden Sie unter Konfiguration in einen Storage-Bucket hochladen.
  2. Wenn sich der Storage-Bucket in einem anderen Projekt als dem Projekt befindet, in dem Sie Infra Manager ausführen, muss das Dienstkonto von Infra Manager Leseberechtigung für den Bucket haben. Weitere Informationen finden Sie unter Dienstkonto konfigurieren.

    Wenn sich der Storage-Bucket im selben Projekt wie Infra Manager befindet, ist die Leseberechtigung für den Bucket bereits aktiviert.

  3. Konfiguration bereitstellen und Überarbeitung erstellen:

    gcloud infra-manager deployments apply projects/PROJECT_ID/locations/LOCATION/deployments/DEPLOYMENT_ID \
    --service-account projects/SERVICE_ACCOUNT_PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT \
    --gcs-source gs://BUCKET_NAME/OBJECT_NAME \
    --quota-validation=QUOTA_VALIDATION \
    --input-values=INPUT_1_NAME=VALUE,INPUT_2_NAME=VALUE \
    --tf-version-constraint=TERRAFORM_VERSION \
    --annotations="ANNOTATION_KEY=ANNOTATION_VALUE" \
    --provider-source=SERVICE_MAINTAINED
Ersetzen Sie Folgendes:
  • PROJECT_ID: Die Projekt-ID, in der Infra Manager ausgeführt wird.
  • LOCATION: Der Standort, an dem Infra Manager ausgeführt wird. Eine Liste der gültigen Standorte finden Sie unter Infra Manager-Standorte.
  • DEPLOYMENT_ID: Die von Ihnen angegebene Deployment-ID. Weitere Informationen zu Einschränkungen für die Deployment-ID finden Sie unter Deployment-Name.
  • SERVICE_ACCOUNT_PROJECT_ID ist die Projekt-ID des Dienstkontos. In der Regel ist dies dasselbe Projekt, in dem Infra Manager ausgeführt wird.
  • SERVICE_ACCOUNT: Der Name des Dienstkontos, mit dem Sie Infra Manager aufrufen.
  • BUCKET_NAME: Der Name des Storage-Buckets, in dem die Konfiguration gespeichert ist.
  • OBJECT_NAME: Der Objektname der Konfigurationsdatei. Dieses Objekt kann ein Verzeichnis oder eine ZIP-Datei, aber keine Terraform-Datei sein. Wenn Sie die Objektversionsverwaltung verwenden, können Sie auch die Generationsnummer des Objekts angeben. Weitere Informationen finden Sie unter Versionierte Objekte verwenden.

    Wenn der Storage-Bucket der Stammpfad der Terraform-Konfiguration ist, ist OBJECT_NAME optional.

  • Optional: QUOTA_VALIDATION: Der Wert, der bestimmt, ob die Kontingentprüfung für Ressourcen in Ihren Terraform-Konfigurationsdateien aktiviert oder erzwungen wird, wenn Sie ein Deployment erstellen. Mögliche Werte:
    • ENABLED: Aktiviert die Kontingentprüfung für Ressourcen in Terraform-Konfigurationsdateien. Macht Ressourcen mit unzureichendem Kontingent sichtbar.
    • ENFORCED: Erzwingt die Kontingentprüfung, sodass Ihr Deployment fehlschlägt, wenn nicht genügend Kontingent für die in Ihrer Terraform-Konfigurationsdatei definierte Infrastruktur verfügbar ist.

    Wenn QUOTA_VALIDATION nicht definiert ist, wird die Kontingentprüfung für Terraform-Konfigurationsdateien deaktiviert. Dies ist der Standardwert. Die Kontingentprüfung gilt für begrenzte Google Cloud Ressourcen. Weitere Informationen finden Sie unter Kontingente und Limits.

  • INPUT_1_NAME und INPUT_2_NAME: Alle Eingabewerte in der Terraform-Konfiguration, einschließlich derer, die nicht standardmäßig definiert sind. Sie können beispielsweise das Projekt angeben, in dem Sie die Ressourcen bereitstellen, als project_id=my-project.

    Wenn alle Eingabewerte standardmäßig in der Konfiguration definiert sind, ist dieses Flag optional.

  • Optional:TERRAFORM_VERSION: Die Version von Terraform, die Infra Manager zum Erstellen des Deployments verwenden soll. Eine Liste der unterstützten Versionen finden Sie unter Unterstützte Terraform-Version. Wenn Sie dieses optionale Flag entfernen, wird die neueste unterstützte Version von Terraform verwendet.
  • Optional: ANNOTATION_KEY und ANNOTATION_VALUE stellen ein Schlüssel/Wert-Paar mit Freiformtext dar, das an Ihre Infra Manager-Deployments angehängt werden kann. Weitere Informationen zur Verwendung und zu den Einschränkungen von Annotationen und Labels finden Sie unter Annotationen und Labels.
  • Optional: PROVIDER_SOURCE: Bestimmt, welcher Terraform-Provider für die Bereitstellung verwendet wird. Google Cloud Auf SERVICE_MAINTAINED setzen, um den von Infra Manager verwalteten Terraform-Anbieter zu verwenden. Lassen Sie dieses Feld weg, um den von HashiCorp verwalteten Terraform-Provider zu verwenden. Weitere Informationen finden Sie unter Terraform-Anbieter für Google Cloudverwenden.

gcloud CLI

In diesem Abschnitt wird beschrieben, wie Sie mit einer Terraform-Konfiguration arbeiten, die in einem Git-Repository gespeichert ist.

  1. Prüfen Sie, ob Sie Git installiert haben.
  2. Wenn Ihre Terraform-Konfiguration in einem privaten Git-Repository gespeichert ist, prüfen Sie, ob Ihr Git-Host und Ihr Repository mit Cloud Build verbunden sind.
  3. Konfiguration bereitstellen und Überarbeitung erstellen:

    gcloud infra-manager deployments apply projects/PROJECT_ID/locations/LOCATION/deployments/DEPLOYMENT_ID \
    --service-account projects/SERVICE_ACCOUNT_PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT \
    --git-source-repo="GIT_REPO" \
    --git-source-directory="DIRECTORY" \
    --git-source-ref="REF" \
    --quota-validation=QUOTA_VALIDATION \
    --input-values=INPUT_1_NAME=VALUE,INPUT_2_NAME=VALUE \
    --tf-version-constraint=TERRAFORM_VERSION \
    --annotations="ANNOTATION_KEY=ANNOTATION_VALUE" \
    --provider-source=SERVICE_MAINTAINED
Ersetzen Sie Folgendes:
  • PROJECT_ID: Die Projekt-ID, in der Infra Manager ausgeführt wird.
  • LOCATION: Der Standort, an dem Infra Manager ausgeführt wird. Eine Liste der gültigen Standorte finden Sie unter Infra Manager-Standorte.
  • DEPLOYMENT_ID: Die von Ihnen angegebene Deployment-ID. Weitere Informationen zu Einschränkungen für die Deployment-ID finden Sie unter Deployment-Name.
  • SERVICE_ACCOUNT_PROJECT_ID ist die Projekt-ID des Dienstkontos. In der Regel ist dies dasselbe Projekt, in dem Infra Manager ausgeführt wird.
  • SERVICE_ACCOUNT: Der Name des Dienstkontos, mit dem Sie Infra Manager aufrufen.
  • GIT_REPO: Das Git-Repository.
  • DIRECTORY: Das Verzeichnis mit der Terraform-Konfiguration.
  • Optional: REF: Die Git-Referenz der Konfiguration. Die Referenz ist optional. Wenn Sie die Referenz nicht angeben, wird der standardmäßig konfigurierte Zweig des Git-Repositorys verwendet.
  • Optional: QUOTA_VALIDATION: Der Wert, der bestimmt, ob die Kontingentprüfung für Ressourcen in Ihren Terraform-Konfigurationsdateien aktiviert oder erzwungen wird, wenn Sie ein Deployment erstellen. Mögliche Werte:
    • ENABLED: Aktiviert die Kontingentprüfung für Ressourcen in Terraform-Konfigurationsdateien. Macht Ressourcen mit unzureichendem Kontingent sichtbar.
    • ENFORCED: Erzwingt die Kontingentprüfung, sodass Ihr Deployment fehlschlägt, wenn nicht genügend Kontingent für die in Ihrer Terraform-Konfigurationsdatei definierte Infrastruktur verfügbar ist.

    Wenn QUOTA_VALIDATION nicht definiert ist, wird die Kontingentprüfung für Terraform-Konfigurationsdateien deaktiviert. Dies ist der Standardwert. Die Kontingentprüfung gilt für begrenzte Google Cloud Ressourcen. Weitere Informationen finden Sie unter Kontingente und Limits.

  • INPUT_1_NAME und INPUT_2_NAME: Alle Eingabewerte in der Terraform-Konfiguration, einschließlich derer, die nicht standardmäßig definiert sind. Sie können beispielsweise das Projekt angeben, in dem Sie die Ressourcen bereitstellen, als project_id=my-project.

    Wenn alle Eingabewerte standardmäßig in der Konfiguration definiert sind, ist dieses Flag optional.

  • Optional:TERRAFORM_VERSION: Die Version von Terraform, die Infra Manager zum Erstellen des Deployments verwenden soll. Eine Liste der unterstützten Versionen finden Sie unter Unterstützte Terraform-Version. Wenn Sie dieses optionale Flag entfernen, wird die neueste unterstützte Version von Terraform verwendet.
  • Optional: ANNOTATION_KEY und ANNOTATION_VALUE stellen ein Schlüssel/Wert-Paar mit Freiformtext dar, das an Ihre Infra Manager-Deployments angehängt werden kann. Weitere Informationen zur Verwendung und zu den Einschränkungen von Annotationen und Labels finden Sie unter Annotationen und Labels.
  • Optional: PROVIDER_SOURCE: Bestimmt, welcher Terraform-Provider für die Bereitstellung verwendet wird. Google Cloud Auf SERVICE_MAINTAINED setzen, um den von Infra Manager verwalteten Terraform-Anbieter zu verwenden. Lassen Sie dieses Feld weg, um den von HashiCorp verwalteten Terraform-Provider zu verwenden. Weitere Informationen finden Sie unter Terraform-Anbieter für Google Cloudverwenden.

gcloud CLI

In diesem Abschnitt wird beschrieben, wie Sie mit einer Terraform-Konfiguration arbeiten, die auf Ihrem lokalen Computer gespeichert ist.

  1. Wenn Sie Cloud Shell verwenden, müssen Sie die Konfiguration in Cloud Shell hochladen. Weitere Informationen finden Sie unter Dateien mit Cloud Shell verwalten.
  2. Konfiguration bereitstellen und Überarbeitung erstellen:

    gcloud infra-manager deployments apply projects/PROJECT_ID/locations/LOCATION/deployments/DEPLOYMENT_ID \
    --service-account projects/SERVICE_ACCOUNT_PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT \
    --local-source="LOCAL_DIRECTORY" \
    --quota-validation=QUOTA_VALIDATION \
    --input-values=INPUT_1_NAME=VALUE,INPUT_2_NAME=VALUE \
    --tf-version-constraint=TERRAFORM_VERSION \
    --annotations="ANNOTATION_KEY=ANNOTATION_VALUE" \
    --provider-source=SERVICE_MAINTAINED
Ersetzen Sie Folgendes:
  • PROJECT_ID: Die Projekt-ID, in der Infra Manager ausgeführt wird.
  • LOCATION: Der Standort, an dem Infra Manager ausgeführt wird. Eine Liste der gültigen Standorte finden Sie unter Infra Manager-Standorte.
  • DEPLOYMENT_ID: Die von Ihnen angegebene Deployment-ID. Weitere Informationen zu Einschränkungen für die Deployment-ID finden Sie unter Deployment-Name.
  • SERVICE_ACCOUNT_PROJECT_ID ist die Projekt-ID des Dienstkontos. In der Regel ist dies dasselbe Projekt, in dem Infra Manager ausgeführt wird.
  • SERVICE_ACCOUNT: Der Name des Dienstkontos, mit dem Sie Infra Manager aufrufen.
  • LOCAL_DIRECTORY: Das lokale Verzeichnis, in dem die Terraform-Konfiguration gespeichert ist. Wenn Sie Cloud Shell verwenden, ist dies das Verzeichnis in Cloud Shell, in dem die Konfiguration gespeichert ist.
  • Optional: QUOTA_VALIDATION: Der Wert, der bestimmt, ob die Kontingentprüfung für Ressourcen in Ihren Terraform-Konfigurationsdateien aktiviert oder erzwungen wird, wenn Sie ein Deployment erstellen. Mögliche Werte:
    • ENABLED: Aktiviert die Kontingentprüfung für Ressourcen in Terraform-Konfigurationsdateien. Macht Ressourcen mit unzureichendem Kontingent sichtbar.
    • ENFORCED: Erzwingt die Kontingentprüfung, sodass Ihr Deployment fehlschlägt, wenn nicht genügend Kontingent für die in Ihrer Terraform-Konfigurationsdatei definierte Infrastruktur verfügbar ist.

    Wenn QUOTA_VALIDATION nicht definiert ist, wird die Kontingentprüfung für Terraform-Konfigurationsdateien deaktiviert. Dies ist der Standardwert. Die Kontingentprüfung gilt für begrenzte Google Cloud Ressourcen. Weitere Informationen finden Sie unter Kontingente und Limits.

  • INPUT_1_NAME und INPUT_2_NAME: Alle Eingabewerte in der Terraform-Konfiguration, einschließlich derer, die nicht standardmäßig definiert sind. Sie können beispielsweise das Projekt angeben, in dem Sie die Ressourcen bereitstellen, als project_id=my-project.

    Wenn alle Eingabewerte standardmäßig in der Konfiguration definiert sind, ist dieses Flag optional.

  • Optional:TERRAFORM_VERSION: Die Version von Terraform, die Infra Manager zum Erstellen des Deployments verwenden soll. Eine Liste der unterstützten Versionen finden Sie unter Unterstützte Terraform-Version. Wenn Sie dieses optionale Flag entfernen, wird die neueste unterstützte Version von Terraform verwendet.
  • Optional: ANNOTATION_KEY und ANNOTATION_VALUE stellen ein Schlüssel/Wert-Paar mit Freiformtext dar, das an Ihre Infra Manager-Deployments angehängt werden kann. Weitere Informationen zur Verwendung und zu den Einschränkungen von Annotationen und Labels finden Sie unter Annotationen und Labels.
  • Optional: PROVIDER_SOURCE: Bestimmt, welcher Terraform-Provider für die Bereitstellung verwendet wird. Google Cloud Auf SERVICE_MAINTAINED setzen, um den von Infra Manager verwalteten Terraform-Anbieter zu verwenden. Lassen Sie dieses Feld weg, um den von HashiCorp verwalteten Terraform-Provider zu verwenden. Weitere Informationen finden Sie unter Terraform-Anbieter für Google Cloudverwenden.

Nächste Schritte