Auf dieser Seite wird beschrieben, wie Sie ein Deployment mit Infrastructure Manager aktualisieren. Beispiele für Fälle, in denen Sie eine Bereitstellung aktualisieren können:
Um Ihre Infrastruktur in einen ausgewählten Zustand zurückzusetzen.
Wenn Sie ein Deployment erstellen, können sich die Ressourcen nach einiger Zeit ändern. Einige Ressourcen wurden möglicherweise von jemandem geändert, der in der Konsole 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 vornehmen
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 die Bereitstellung 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.
Hinweise
- Prüfen Sie, ob Infra Manager aktiviert ist.
- Prüfen Sie, ob Sie die erforderlichen IAM-Berechtigungen zum Erstellen von Bereitstellungen haben:
roles/config.admin
- Achten Sie darauf, dass Sie ein Dienstkonto mit den erforderlichen Berechtigungen haben. Weitere Informationen finden Sie unter Dienstkonto konfigurieren.
- Infra Manager-Deployment identifizieren, das aktualisiert werden soll
Ermitteln Sie die Terraform-Konfiguration, die für das Update 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.
Achten Sie darauf, dass diese Terraform-Konfiguration den Einschränkungen entspricht, einschließlich der Einschränkung, dass die Konfiguration keine vertraulichen Daten enthält.
Prüfen Sie das Kontingent Ihrer Organisation für Produkte, die mit der gewünschten Infrastruktur verknüpft sind. Es kann zu Bereitstellungsfehlern kommen, wenn die geplante Infrastruktur das Kontingent Ihrer Organisation für die Produkte überschreitet, die in Ihrer Bereitstellung verwendet werden. Weitere Informationen finden Sie unter Kontingente und Limits.
Führen Sie alle erforderlichen Schritte für die Datenmigration oder die Kontinuität des Dienstes für die Ressourcen aus, die Sie ändern.
Wenn Sie eine Vorschau der Aktualisierung aufrufen möchten, bevor Sie Ressourcen konfigurieren, lesen Sie den Abschnitt Vorschau einer Aktualisierung einer Bereitstellung 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 Revision verwenden, andere Ressourcen definiert sind als in der Konfiguration für die Bereitstellung, 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 für die Verwendung des Infra Manager-Dienstes benötigt.
Weitere Informationen zum Erteilen 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.
GitHub
GitHub Enterprise
GitLab
GitLab Enterprise
Developer Connect
Deployment aktualisieren
Wenn Sie eine Bereitstellung aktualisieren möchten, stellen Sie eine Konfiguration mit demselben Bereitstellungsnamen bereit. Dadurch wird eine Überarbeitung erstellt. Weitere Informationen finden Sie unter Übersicht über Bereitstellungen und Überarbeitungen.
Wenn Sie noch keine Bereitstellung haben, lesen Sie den Abschnitt Infrastruktur mit Infra Manager bereitstellen.
Wenn Sie sich eine Vorschau einer Aktualisierung ansehen möchten, ohne Ressourcen bereitzustellen, lesen Sie den Abschnitt Vorschau einer Bereitstellung.
Wählen Sie den Tab mit dem gewünschten Workflow aus, um weitere Informationen zum Aktualisieren einer Bereitstellung zu erhalten.
Konsole
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:
- Rufen Sie in der Google Cloud Console die Seite Infra Manager auf.
- Suchen Sie auf der Seite Bereitstellungen in der Spalte ID nach der Bereitstellung, die Sie aktualisieren möchten, und klicken Sie darauf.
- Klicken Sie auf der Seite mit Ihrer Bereitstellungs-ID auf Bearbeiten.
- Auf der Seite Bereitstellungsdetails können Sie die Felder Terraform-Version, Dienstkonto und Quelle der Terraform-Konfiguration ändern. Wenn Sie ein privates Git-Repository angeben, müssen Sie Ihren Host und Ihr Repository mit Cloud Build verbinden.
Klicken Sie auf Weiter.
- Auf der Seite Terraform-Details können Sie die Eingabewerte für die Terraform-Konfiguration ändern. Klicken Sie auf Weiter.
- Auf der Seite Erweiterte Details können Sie die Felder Labels und Anmerkungen, Worker-Pools und Cloud Storage-Bucket für Artefakte ändern.
- Klicken Sie auf Aktualisieren, wenn Sie mit den Änderungen an der Bereitstellung zufrieden sind, um den Aktualisierungsprozess zu starten.
Weitere Informationen zu Bereitstellungsparametern und ihren Formaten finden Sie in der Dokumentation unter 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.
- Achten Sie darauf, dass sich die Terraform-Konfiguration in einem Cloud Storage-Bucket befindet. Weitere Informationen finden Sie unter Konfiguration in einen Speicher-Bucket hochladen.
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 die Leseberechtigung für den Bucket hat. Weitere Informationen finden Sie unter Dienstkonto konfigurieren.
Wenn sich der Speicher-Bucket im selben Projekt wie Infra Manager befindet, ist die Leseberechtigung für den Bucket bereits aktiviert.
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
- PROJECT_ID: die Projekt-ID, unter der Infra Manager ausgeführt wird.
- LOCATION: Der Speicherort, 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 Bereitstellungs-ID finden Sie unter Bereitstellungsname.
- SERVICE_ACCOUNT_PROJECT_ID ist die Projekt-ID des Dienstkontos. In der Regel ist das 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 Speicher-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. Zulässige 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 Version von Terraform, die Infra Manager zum Erstellen der Bereitstellung 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-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, 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.
- Prüfen Sie, ob Git installiert ist.
- Wenn Ihre Terraform-Konfiguration in einem
privaten Git-Repository gespeichert ist, müssen Sie dafür sorgen, dass Git-Host und ‑Repository mit Cloud Build verbunden sind. 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
- PROJECT_ID: die Projekt-ID, unter der Infra Manager ausgeführt wird.
- LOCATION: Der Speicherort, 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 Bereitstellungs-ID finden Sie unter Bereitstellungsname.
- SERVICE_ACCOUNT_PROJECT_ID ist die Projekt-ID des Dienstkontos. In der Regel ist das 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: 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. Zulässige 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 Version von Terraform, die Infra Manager zum Erstellen der Bereitstellung 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-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, 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.
- Wenn Sie Cloud Shell verwenden, müssen Sie die Konfiguration in Cloud Shell hochladen. Weitere Informationen finden Sie unter Dateien mit Cloud Shell verwalten.
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
- PROJECT_ID: die Projekt-ID, unter der Infra Manager ausgeführt wird.
- LOCATION: Der Speicherort, 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 Bereitstellungs-ID finden Sie unter Bereitstellungsname.
- SERVICE_ACCOUNT_PROJECT_ID ist die Projekt-ID des Dienstkontos. In der Regel ist das 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 wird.
- 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. Zulässige 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 Version von Terraform, die Infra Manager zum Erstellen der Bereitstellung 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-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, 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
- Weitere Informationen zu Terraform mit Google Cloud
- Bereitstellungen automatisieren:
- Status eines Deployments ansehen
- Bereitgestellte Ressourcen ansehen
- Deployment löschen