Deployment aktualisieren

Auf dieser Seite wird beschrieben, wie Sie mit Infrastructure Manager ein Deployment aktualisieren. In folgenden Fällen können Sie ein Deployment aktualisieren:

  • Infrastruktur in einen ausgewählten Zustand zurückversetzen

    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 geändert, die in der Console arbeitet. Sie können die Bereitstellung mit der ursprünglichen Terraform-Konfiguration aktualisieren, um sie in den ausgewählten Zustand zurückzusetzen.

  • Änderungen an der Infrastruktur implementieren.

    Nachdem Sie ein Deployment erstellt haben, möchten Sie möglicherweise die Infrastruktur ändern. Beispielsweise können Sie neue Ressourcen hinzufügen oder die Konfiguration ä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. Prüfen Sie, ob Infra Manager aktiviert ist.
  2. Prüfen Sie, ob Sie die IAM-Berechtigungen haben, die zum Erstellen von Bereitstellungen erforderlich sind: roles/config.admin
  3. Sie benötigen ein Dienstkonto mit den erforderlichen Berechtigungen. Weitere Informationen finden Sie unter Dienstkonto konfigurieren.
  4. Identifizieren Sie das Infra Manager-Deployment, das aktualisiert werden soll.
  5. Ermitteln Sie die Terraform-Konfiguration, die für das Update bereitgestellt werden soll. Für eine Überarbeitung kann jede beliebige Konfiguration verwendet werden. Diese Konfiguration ist oft eine identische oder aktualisierte Version der bereits bereitgestellten Konfiguration.

    Achten Sie darauf, dass diese Terraform-Konfiguration den Einschränkungen entspricht und keine sensiblen Daten enthält.

  6. Prüfen Sie das Kontingent Ihrer Organisation für Produkte, die mit der gewünschten Infrastruktur verknüpft sind. Wenn die geplante Infrastruktur das Kontingent Ihrer Organisation für die Produkte überschreitet, die für die Bereitstellung verwendet werden, kann es zu Bereitstellungsfehlern kommen. 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 sich eine Vorschau des Updates ansehen möchten, bevor Sie Ressourcen konfigurieren, lesen Sie den Abschnitt Vorschau eines Updates für ein Deployment ansehen.

Konfigurationsspezifische Berechtigungen erteilen

Zum Bereitstellen von Google Cloud -Ressourcen, die in der Terraform-Konfiguration angegeben sind, benötigt das Dienstkonto, das Sie zum Aufrufen von Infra Manager verwenden, Berechtigungen, die für Folgendes spezifisch sind:

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

  • Wenn die Konfiguration, die Sie für die Überarbeitung verwenden, andere Ressourcen als die für die Bereitstellung verwendete Konfiguration definiert, benötigen Sie Berechtigungen für die in beiden Konfigurationen definierten Ressourcen.

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

Weitere Informationen zum Gewähren von Berechtigungen für die Google Cloud -Ressourcen und zum Sicherstellen, dass 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 Überarbeitung erstellt. Weitere Informationen finden Sie unter Bereitstellungen und Überarbeitungen – Übersicht.

Wenn Sie noch keine Bereitstellung haben, lesen Sie den Hilfeartikel Infrastruktur mit Infra Manager bereitstellen.

Informationen zum Anzeigen einer Vorschau eines Updates ohne Bereitstellung von Ressourcen finden Sie unter Vorschau eines Deployments ansehen.

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 der Google Cloud Console aktualisieren.

Stellen Sie die Konfiguration bereit und erstellen Sie eine Überarbeitung:

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

    Zu Infra Manager

  2. Suchen Sie auf der Seite Bereitstellungen in der Spalte ID nach der Bereitstellung, die Sie aktualisieren möchten, und klicken Sie darauf.
  3. Klicken Sie auf der Seite mit dem Titel Ihrer Bereitstellungs-ID auf Bearbeiten.
  4. Auf der Seite Bereitstellungsdetails können Sie die Felder Terraform-Version, Dienstkonto und Quelle der Terraform-Konfiguration ändern. Wenn Sie ein privates Git-Repository bereitstellen, müssen Sie Ihren Host und Ihr Repository mit Cloud Build verbinden.

    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 Ihrer Bereitstellung 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 die Bereitstellung einer Terraform-Konfiguration beschrieben, die in einem Cloud Storage-Bucket gespeichert ist. Mit einem Storage-Bucket können Sie den Zugriff auf die Konfiguration steuern.

  1. Die Terraform-Konfiguration muss sich in einem Cloud Storage-Bucket befinden. 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, müssen Sie dafür sorgen, dass das Dienstkonto von Infra Manager Leseberechtigung für den Bucket hat. 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. Stellen Sie die Konfiguration bereit und erstellen Sie eine Überarbeitung:

    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:
  • 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 Bereitstellungs-ID. Weitere Informationen zu Einschränkungen für die Bereitstellungs-ID finden Sie unter Bereitstellungsname.
  • 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, das Sie zum Aufrufen von Infra Manager verwenden.
  • 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 Kontingentvalidierung für Ressourcen in Ihren Terraform-Konfigurationsdateien aktiviert oder erzwungen wird, wenn Sie eine Bereitstellung erstellen. Mögliche Werte:
    • ENABLED: Aktivieren Sie die Validierung des Rechenkontingents für Ressourcen in Terraform-Konfigurationsdateien. Bietet Einblick in Ressourcen mit unzureichenden Kontingenten.
    • ENFORCED: Erzwingt die Kontingentvalidierung, sodass die Bereitstellung fehlschlägt, wenn nicht genügend Kontingent für die in der Terraform-Konfigurationsdatei definierte Infrastruktur verfügbar ist.

    Wenn QUOTA_VALIDATION nicht definiert ist, wird die Kontingentvalidierung für Terraform-Konfigurationsdateien deaktiviert. Dies ist der Standardwert. Die Kontingentvalidierung 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. Beispielsweise können Sie das Projekt, in dem Sie die Ressourcen bereitstellen, als project_id=my-project angeben.

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

  • Optional:TERRAFORM_VERSION: die Terraform-Version, die Infra Manager zum Aktualisieren der Bereitstellung verwenden soll. Eine Liste der unterstützten Versionen finden Sie unter Unterstützte Terraform-Version. Wenn Sie dieses optionale Flag entfernen, verwendet Infra Manager die Terraform-Version der vorhandenen Bereitstellung oder standardmäßig die neueste unterstützte Version der kostenlosen Stufe (1.5.7). Wenn Sie ein Upgrade auf eine kostenpflichtige Version (z. B. 1.16.5) durchführen möchten, müssen Sie die Version explizit angeben.
  • Optional: ANNOTATION_KEY und ANNOTATION_VALUE stellen ein Schlüssel/Wert-Paar aus Freiformtext dar, das an Ihre Infra Manager-Bereitstellungen 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, welchen Terraform-Anbieter für Google Cloud die Bereitstellung verwendet wird. Legen Sie SERVICE_MAINTAINED fest, um den von Infra Manager verwalteten Terraform-Anbieter zu verwenden. Lassen Sie dieses Feld weg, um den von HashiCorp verwalteten Terraform-Anbieter 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 Git installiert ist.
  2. Wenn Ihre Terraform-Konfiguration in einem privaten Git-Repository gespeichert ist, müssen Ihr Git-Host und Ihr Repository mit Cloud Build verbunden sein.
  3. Stellen Sie die Konfiguration bereit und erstellen Sie eine Überarbeitung:

    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:
  • 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 Bereitstellungs-ID. Weitere Informationen zu Einschränkungen für die Bereitstellungs-ID finden Sie unter Bereitstellungsname.
  • 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, das Sie zum Aufrufen von Infra Manager verwenden.
  • GIT_REPO: das Git-Repository.
  • DIRECTORY: das Verzeichnis mit der Terraform-Konfiguration.
  • Optional: REF: der Git-Verweis 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 Kontingentvalidierung für Ressourcen in Ihren Terraform-Konfigurationsdateien aktiviert oder erzwungen wird, wenn Sie eine Bereitstellung erstellen. Mögliche Werte:
    • ENABLED: Aktivieren Sie die Validierung des Rechenkontingents für Ressourcen in Terraform-Konfigurationsdateien. Bietet Einblick in Ressourcen mit unzureichenden Kontingenten.
    • ENFORCED: Erzwingt die Kontingentvalidierung, sodass die Bereitstellung fehlschlägt, wenn nicht genügend Kontingent für die in der Terraform-Konfigurationsdatei definierte Infrastruktur verfügbar ist.

    Wenn QUOTA_VALIDATION nicht definiert ist, wird die Kontingentvalidierung für Terraform-Konfigurationsdateien deaktiviert. Dies ist der Standardwert. Die Kontingentvalidierung 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. Beispielsweise können Sie das Projekt, in dem Sie die Ressourcen bereitstellen, als project_id=my-project angeben.

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

  • Optional:TERRAFORM_VERSION: die Terraform-Version, die Infra Manager zum Aktualisieren der Bereitstellung verwenden soll. Eine Liste der unterstützten Versionen finden Sie unter Unterstützte Terraform-Version. Wenn Sie dieses optionale Flag entfernen, verwendet Infra Manager die Terraform-Version der vorhandenen Bereitstellung oder standardmäßig die neueste unterstützte Version der kostenlosen Stufe (1.5.7). Wenn Sie ein Upgrade auf eine kostenpflichtige Version (z. B. 1.16.5) durchführen möchten, müssen Sie die Version explizit angeben.
  • Optional: ANNOTATION_KEY und ANNOTATION_VALUE stellen ein Schlüssel/Wert-Paar aus Freiformtext dar, das an Ihre Infra Manager-Bereitstellungen 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, welchen Terraform-Anbieter für Google Cloud die Bereitstellung verwendet wird. Legen Sie SERVICE_MAINTAINED fest, um den von Infra Manager verwalteten Terraform-Anbieter zu verwenden. Lassen Sie dieses Feld weg, um den von HashiCorp verwalteten Terraform-Anbieter 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. Stellen Sie die Konfiguration bereit und erstellen Sie eine Überarbeitung:

    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:
  • 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 Bereitstellungs-ID. Weitere Informationen zu Einschränkungen für die Bereitstellungs-ID finden Sie unter Bereitstellungsname.
  • 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, das Sie zum Aufrufen von Infra Manager verwenden.
  • 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 Kontingentvalidierung für Ressourcen in Ihren Terraform-Konfigurationsdateien aktiviert oder erzwungen wird, wenn Sie eine Bereitstellung erstellen. Mögliche Werte:
    • ENABLED: Aktivieren Sie die Validierung des Rechenkontingents für Ressourcen in Terraform-Konfigurationsdateien. Bietet Einblick in Ressourcen mit unzureichenden Kontingenten.
    • ENFORCED: Erzwingt die Kontingentvalidierung, sodass die Bereitstellung fehlschlägt, wenn nicht genügend Kontingent für die in der Terraform-Konfigurationsdatei definierte Infrastruktur verfügbar ist.

    Wenn QUOTA_VALIDATION nicht definiert ist, wird die Kontingentvalidierung für Terraform-Konfigurationsdateien deaktiviert. Dies ist der Standardwert. Die Kontingentvalidierung 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. Beispielsweise können Sie das Projekt, in dem Sie die Ressourcen bereitstellen, als project_id=my-project angeben.

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

  • Optional:TERRAFORM_VERSION: die Terraform-Version, die Infra Manager zum Aktualisieren der Bereitstellung verwenden soll. Eine Liste der unterstützten Versionen finden Sie unter Unterstützte Terraform-Version. Wenn Sie dieses optionale Flag entfernen, verwendet Infra Manager die Terraform-Version der vorhandenen Bereitstellung oder standardmäßig die neueste unterstützte Version der kostenlosen Stufe (1.5.7). Wenn Sie ein Upgrade auf eine kostenpflichtige Version (z. B. 1.16.5) durchführen möchten, müssen Sie die Version explizit angeben.
  • Optional: ANNOTATION_KEY und ANNOTATION_VALUE stellen ein Schlüssel/Wert-Paar aus Freiformtext dar, das an Ihre Infra Manager-Bereitstellungen 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, welchen Terraform-Anbieter für Google Cloud die Bereitstellung verwendet wird. Legen Sie SERVICE_MAINTAINED fest, um den von Infra Manager verwalteten Terraform-Anbieter zu verwenden. Lassen Sie dieses Feld weg, um den von HashiCorp verwalteten Terraform-Anbieter zu verwenden. Weitere Informationen finden Sie unter Terraform-Anbieter für Google Cloudverwenden.

Nächste Schritte