Auf dieser Seite wird beschrieben, wie Sie mit Infrastructure Manager eine Vorschau der Bereitstellung von Ressourcen anzeigen, die in einer Terraform-Konfiguration definiert sind.
In einer Vorschau werden die Aktionen beschrieben, die zum Aktivieren einer bestimmten Terraform-Konfiguration erforderlich sind. Bevor Sie ein neues Deployment erstellen oder ein Deployment aktualisieren, können Sie sich eine Vorschau des Deployments ansehen, um die Ressourcen zu prüfen, die bereitgestellt werden sollen.
In einer Vorabversion wird der Befehl Terraform plan ausgeführt. Auf dieser Seite wird davon ausgegangen, dass Sie mit Terraform vertraut sind. Weitere Informationen finden Sie unter Terraform und Infrastructure Manager.
Damit eine Vorschau erstellt werden kann, muss die Terraform-Konfiguration mit einer der unterstützten Terraform-Versionen kompatibel sein.
Hinweis
- Infra Manager aktivieren.
- Prüfen Sie, ob Sie die IAM-Berechtigungen (Identity and Access Management) haben, die zum Erstellen von Vorabversionen erforderlich sind:
roles/config.admin. - Sie benötigen ein Dienstkonto mit den erforderlichen Berechtigungen. Weitere Informationen finden Sie unter Dienstkonto konfigurieren.
- Identifizieren Sie die Terraform-Konfiguration, für die Sie eine Vorschau anzeigen möchten. Achten Sie darauf, dass diese Terraform-Konfiguration den Einschränkungen entspricht und keine sensiblen Daten enthält.
Wenn Sie die Terraform-Konfiguration in einem Storage-Bucket speichern möchten, muss die Terraform-Konfiguration in einen Cloud Storage-Bucket hochgeladen werden. Weitere Informationen finden Sie unter Konfiguration in einen Storage-Bucket hochladen.
Mit einem Storage-Bucket können Sie den Zugriff auf die Konfiguration steuern. Sie können auch eine Terraform-Konfiguration bereitstellen, die in einem Git-Repository oder auf Ihrem lokalen Computer gespeichert ist.
Vorschau eines neuen Deployments ansehen
Die Terraform-Konfiguration, die Sie sich in der Vorschau ansehen, kann sich in einem Storage-Bucket oder in einem Git-Repository befinden.
Vorschau mit einer Terraform-Konfiguration, die in einem Cloud Storage-Bucket gespeichert ist
Achten Sie darauf, dass die Terraform-Konfiguration in einen Cloud Storage-Bucket hochgeladen wurde. Weitere Informationen finden Sie unter Konfiguration in einen Storage-Bucket hochladen.
Mit einem Storage-Bucket können Sie den Zugriff auf die Konfiguration steuern. Sie können auch eine Terraform-Konfiguration bereitstellen, die in einem Git-Repository oder auf Ihrem lokalen Computer gespeichert ist.
So rufen Sie eine Vorschau des Updates auf:
gcloud infra-manager previews create projects/PROJECT_ID/locations/LOCATION/previews/PREVIEW_ID \ --service-account projects/SERVICE_ACCOUNT_PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT \ --gcs-source gs://BUCKET_NAME/OBJECT_NAME \ --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 ist die Projekt-ID, in der Infrastructure Manager ausgeführt wird.
- LOCATION ist der Standort, an dem Infra Manager ausgeführt wird. Eine Liste der gültigen Standorte finden Sie unter Infrastructure Manager-Standorte.
- PREVIEW_ID ist die von Ihnen angegebene Vorschaukennung. Weitere Informationen zu Einschränkungen für die Vorschaukennung finden Sie unter Vorschauname.
- SERVICE_ACCOUNT ist der Name des Dienstkontos, das Sie zum Aufrufen von Infra Manager verwenden.
- SERVICE_ACCOUNT_PROJECT_ID ist die Projekt-ID des Dienstkontos. In der Regel ist dies dasselbe Projekt, in dem Infra Manager ausgeführt wird.
- BUCKET_NAME ist der Name des Storage-Buckets, in dem die Konfiguration gespeichert ist.
OBJECT_NAME ist 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.
INPUT_1_NAME=VALUE und INPUT_2_NAME=VALUE: 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-projectangeben.Wenn alle Eingabewerte standardmäßig in der Konfiguration definiert sind, ist dieses Flag optional.
Optional: TERRAFORM_VERSION: die Terraform-Version, die Infra Manager zum Erstellen der Vorabversion verwenden soll. Eine Liste der unterstützten Versionen finden Sie unter Unterstützte Terraform-Version. Wenn Sie dieses optionale Flag entfernen, wird standardmäßig die neueste unterstützte Version von Terraform (
1.5.7) verwendet. Wenn Sie eine Vorabversion einer kostenpflichtigen Version (z. B.1.16.5) verwenden möchten, müssen Sie die Version explizit angeben. Für Vorabversionen fallen keine Gebühren für kostenpflichtige Terraform-Versionen an.Optional: ANNOTATION_KEY und ANNOTATION_VALUE stellen ein Schlüssel/Wert-Paar aus freiem Text 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_MAINTAINEDfest, 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.
Felder aus der Bereitstellung wie die Terraform-Konfiguration, Variablen und das Dienstkonto werden automatisch in die Vorschau eingefügt, sofern Sie im Vorschaubefehl keine neuen Werte angeben.
Nachdem Sie eine Vorabversion erstellt haben, können Sie die Ergebnisse exportieren und ansehen, um den Plan für die Bereitstellung zu prüfen.
Vorschau mit einer in einem Git-Repository gespeicherten Terraform-Konfiguration
Wenn Sie ein Deployment aktualisieren, ändern sich einige der vorhandenen Ressourcen möglicherweise nicht. In der Vorschau eines Updates sehen Sie, welche Ressourcen bereitgestellt oder gelöscht werden sollen und welche Ressourcen nicht geändert werden sollen.
So aktualisieren Sie ein Deployment, das in einem Git-Repository gespeichert ist:
Wenn Sie ein privates Git-Repository verwenden, müssen Sie eine Verbindung zu Ihrem GitHub-Host und GitHub-Repository über Cloud Build herstellen, um Infra Manager Zugriff auf Ihr Repository zu gewähren.
So rufen Sie eine Vorschau des Deployments auf:
gcloud infra-manager previews create projects/PROJECT_ID/locations/LOCATION/previews/PREVIEW_ID \ --service-account projects/SERVICE_ACCOUNT_PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT \ --git-source-repo="GIT_REPO" \ --git-source-directory="DIRECTORY" \ --git-source-ref="REF" \ --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 ist die Projekt-ID, in der Infrastructure Manager ausgeführt wird.
- LOCATION ist der Standort, an dem Infra Manager ausgeführt wird. Eine Liste der gültigen Standorte finden Sie unter Infrastructure Manager-Standorte.
- PREVIEW_ID ist die von Ihnen angegebene Vorschaukennung. Weitere Informationen zu Einschränkungen für die Vorschaukennung finden Sie unter Vorschauname.
- SERVICE_ACCOUNT ist der Name des Dienstkontos, das Sie zum Aufrufen von Infra Manager verwenden.
- SERVICE_ACCOUNT_PROJECT_ID ist die Projekt-ID des Dienstkontos. In der Regel ist dies dasselbe Projekt, in dem Infra Manager ausgeführt wird.
- GIT_REPO: das Git-Repository.
- DIRECTORY: das Verzeichnis mit der Terraform-Konfiguration.
- 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.
INPUT_1_NAME=VALUE und INPUT_2_NAME=VALUE: 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-projectangeben.Wenn alle Eingabewerte standardmäßig in der Konfiguration definiert sind, ist dieses Flag optional.
Optional: TERRAFORM_VERSION: die Terraform-Version, die Infra Manager zum Erstellen der Vorabversion verwenden soll. Eine Liste der unterstützten Versionen finden Sie unter Unterstützte Terraform-Version. Wenn Sie dieses optionale Flag entfernen, wird standardmäßig die neueste unterstützte Version von Terraform (
1.5.7) verwendet. Wenn Sie eine Vorschau mit einer kostenpflichtigen Version (z. B.1.16.5) verwenden möchten, müssen Sie die Version explizit angeben. Für Vorabversionen fallen keine Gebühren für kostenpflichtige Terraform-Versionen an.Optional: ANNOTATION_KEY und ANNOTATION_VALUE stellen ein Schlüssel/Wert-Paar aus freiem Text 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_MAINTAINEDfest, 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.
Felder aus der Bereitstellung wie die Terraform-Konfiguration, Variablen und das Dienstkonto werden automatisch in die Vorschau eingefügt, sofern Sie im Vorschaubefehl keine neuen Werte angeben.
Nachdem Sie eine Vorabversion erstellt haben, können Sie die Ergebnisse exportieren und ansehen, um den Plan für die Bereitstellung zu prüfen.
Nachdem Sie sich eine Vorschau eines Deployments angesehen haben, können Sie das Deployment erstellen, um die Ressourcen bereitzustellen. Weitere Informationen finden Sie unter Ressourcen bereitstellen.