In diesem Artikel wird beschrieben, wie Sie die Konfiguration abschließen und das VM-Image einreichen. mit Terraform bereitstellen.
Festlegen, wie Ihr Bereitstellungspaket erstellt wird
Wir empfehlen Ihnen die geführte Konfiguration im Producer Portal, um Erstellen Sie Ihr Bereitstellungspaket direkt in der Google Cloud Console.
Die geführte Konfiguration unterstützt einfache VM-Produkte, z. B. eine einzelne VM. Bereitstellungen mit einfachen Firewallregeln, unterstützt jedoch einige komplexe wie Bereitstellungen mit mehreren VMs und Nicht-Computing-Ressourcen. Wenn Sie Funktionen benötigen, die von der geführten Konfiguration nicht unterstützt werden, können Sie die Option „Manuelle Konfiguration“ verwenden, um entweder Ihr Bereitstellungspaket zu erstellen oder ein vorhandenes Paket anzupassen, indem Sie zusätzliche Funktionen hinzufügen.
Zwischen geführter und manueller Konfiguration wechseln
Wenn Sie die geführte Konfiguration im Producer Portal verwenden und später wechseln Sie zur manuellen Konfiguration des Bereitstellungspakets, klicken Sie auf Zur manuellen Konfiguration
Geführte Konfiguration abschließen
Um die Konfiguration und das Senden eines einfachen Bereitstellungspakets mit der Führen Sie in der Google Cloud Console die folgenden Schritte aus:
Gehen Sie im Producer Portal zum Abschnitt Bereitstellungspaket.
Klicken Sie unter Terraform-Konfiguration neben dem Eingabefeld Cloud Storage-Bucket auf Durchsuchen.
Wenn Sie bereits einen Cloud Storage-Bucket erstellt haben, wählen Sie ihn aus hier.
Wenn Sie keinen Cloud Storage-Bucket haben, klicken Sie auf das Symbol mit der Beschriftung Neuen Bucket erstellen Wenn Sie einen neuen Bucket erstellen, geschieht Folgendes:
Sie wählen einen Namen für den Bucket aus.
Sie geben an, in welchen Regionen die Daten im Bucket gespeichert werden.
Sie geben die Speicherklasse für Ihre Daten an.
Legen Sie fest, welcher Detaillierungsgrad auf die IAM-Berechtigungen (Identity and Access Management) für die Daten des Buckets.
Optionale erweiterte Einstellungen konfigurieren, z. B. Verschlüsselung oder Daten Aufbewahrungsrichtlinien.
Achten Sie darauf, dass die Objektversionsverwaltung für Ihren Cloud Storage-Bucket aktiviert ist.
Um die Bucket-Einstellungen zu speichern und mit der Konfiguration der Bereitstellung fortzufahren auf Konfigurieren.
Unter Maschinentyp auswählen müssen Sie eine Standardzone angeben. Mindestmaschinentyp und Standardmaschinentyp für die VM das Produkt, die Größe und den Typ des Bootlaufwerks.
Unter Betriebssystem angeben müssen Sie den Namen und die Version angeben. des Betriebssystems, das Ihr VM-Image verwendet, sowie die Versionsnummer der VM Bild.
Optional können Sie unter VM-Zugriff einrichten den Standort und den Administrator angeben. URLs sowie einen Nutzernamen und ein Passwort, über die Nutzer auf VM nach der Bereitstellung.
Optional können Sie unter Netzwerk konfigurieren Einstellungen für IP-Weiterleitung und konfigurieren Sie Firewallregeln.
Optional können Sie unter Nächste Schritte definieren Anweisungen für um sie bei den ersten Schritten mit Ihrem Produkt zu unterstützen. Diese Anleitung ist für sie sichtbar, nachdem sie Ihr Produkt.
Nachdem Sie die vorherigen Schritte ausgeführt haben, klicken Sie auf Erstellen, um Ihr Bereitstellungspaket zu erstellen.
Wenn Sie später weitere Änderungen an Ihrem Bereitstellungspaket vornehmen müssen, können Sie auf Bearbeiten klicken, um Änderungen vorzunehmen, und dann auf Generieren klicken, um das Bereitstellungspaket mit den angewendeten Änderungen neu generieren.
Validiere das Bereitstellungspaket im Producer Portal.
Nachdem die Validierung Ihres Bereitstellungspakets durch Cloud Marketplace klicken Sie auf Publish (Veröffentlichen), um mit dem Testen Ihrer Bereitstellung zu beginnen. Paket.
Manuelle Konfiguration abschließen
In diesem Abschnitt wird erläutert, wie Sie mit der Option für die manuelle Konfiguration ein Bereitstellungspaket und reichen Sie das Paket zur Überprüfung ein.
Geben Sie an, ob das Standardmodul oder ein benutzerdefiniertes Terraform-Modul verwendet werden soll
Sie können festlegen, ob Ihre Kunden beim Bereitstellen Ihres Produkts das Standard- oder ein benutzerdefiniertes Terraform-Modul verwenden sollen.
Wenn Sie das Terraform-Standardmodul verwenden, bietet Google Cloud Ihren Kunden automatisch generierten Terraform-Code zur Verfügung zu stellen, mit dem sie für Ihr Produkt.
Wenn Sie ein benutzerdefiniertes Terraform-Modul verwenden, müssen Sie Ihrem Kunden eigene Terraform-Vorlagen zur Verfügung stellen. Sie können diese Vorlagen in einer Form, die Kunden über die Befehlszeile bereitstellen können, oder mit zusätzlichen Metadaten, die es Kunden ermöglichen, Module direkt aus Cloud Marketplace
Angeben, ob Ihre Kunden die standardmäßige oder ein benutzerdefiniertes Terraform verwenden sollen und für benutzerdefinierte Terraform-Module, wie Ihre Kunden die Bereitstellung führen Sie die folgenden Schritte aus:
Gehen Sie im Producer Portal zum Abschnitt Bereitstellungspaket.
Wählen Sie unter Terraform-Konfiguration unter Typ die Option Standard, Benutzerdefiniert (Bereitstellung über die Befehlszeile) oder Benutzerdefiniert (Bereitstellung über die Benutzeroberfläche) aus.
Anforderungen an benutzerdefinierte Terraform-Module
Wenn Sie sich für die Verwendung benutzerdefinierter Terraform-Module entscheiden, muss Ihr benutzerdefiniertes Modul die folgenden Anforderungen:
Das benutzerdefinierte Modul muss ein Modul enthalten, das Cloud Marketplace verwenden kann um zu überprüfen, ob sie die Anforderungen erfüllt. Weitere Informationen finden Sie unter Prüfen, ob Ihr Modul die Überprüfung besteht.
Das Modul muss eine Variable mit dem Namen
project_id
haben, in der das Projekt gespeichert wird ID, mit der Ihre Kunden das Modul bereitstellen.Sie müssen Verweise auf die Namen Ihrer Images als Terraform angeben. Variablen mit dem Format
projects/PROJECT_NAME/global/images/IMAGE_NAME
Der Wert vondefault
muss auf den Namen Ihres VM-Images festgelegt werden, sodass der Cloud Marketplace-eigene Kopie des Images kann im wenn Ihr VM-Produkt veröffentlicht wird.Ihr Modul darf nicht von externen Modulen abhängen, die nicht im Paket enthalten sind.
Ihr Modul darf nur die folgenden zugelassenen Anbieter verwenden:
archive
cloud-init
dns
google
google-beta
http
null
random
time
tls
Ein Beispiel für ein benutzerdefiniertes Modul, das diesen Anforderungen entspricht, finden Sie in der Beispiel für ein benutzerdefiniertes Terraform-Modul
Zusätzliche Anforderungen für benutzerdefinierte Terraform-Module für die Bereitstellung in der UI
Wenn Ihr benutzerdefiniertes Modul die Bereitstellung über die UI unterstützt, muss es folgende Anforderungen erfüllen Zusätzliche Anforderungen:
Das Modul muss eine Variable mit dem Namen
goog_cm_deployment_name
enthalten. Cloud Marketplace verwendet diese Variable, um die Bereitstellungen auf ihrer Bereitstellungsseite. Sie sollten diese Variable verwenden, Konflikte bei der Ressourcenbenennung zwischen mehreren Bereitstellungen in einem Projekt. Ein Beispiel finden Sie untergoog_cm_deployment_name
im Beispiel für ein benutzerdefiniertes Terraform-Modul.In der Datei
metadata.display.yaml
müssen SieET_GCE_DISK_IMAGE
alsxGoogleProperty
-Typ für alle Bildvariablen. Ein Beispiel: siehemetadata.display.yaml
im Beispiel für ein benutzerdefiniertes Terraform-ModulWenn Ihr Produkt Images für mehrere VMs oder Images enthält, die mehrere CPUs unterstützen Architekturen hinzugefügt haben, müssen Sie
enumValueLabels
hinzufügen, damit Ihre Kunden das gewünschte VM-Image aus. Ein Beispiel finden Sie in der Beispiel für ein benutzerdefiniertes Terraform-ModulIhr Modul darf nicht von der Unterstützung für Terraform-Bereitsteller abhängen.
Zusätzliche Schritte für benutzerdefinierte Terraform-Module
Wenn Sie benutzerdefinierte Terraform-Module ausgewählt haben, müssen Sie die folgenden Schritte ausführen: zusätzliche Schritte zum Konfigurieren des VM-Images für die Bereitstellung:
Gehen Sie im Producer Portal zum Abschnitt Bereitstellungspaket.
Klicken Sie unter Terraform-Konfiguration unter Image-Variablen auf: Variable hinzufügen:
Um die Terraform-Bereitstellung Ihres Produkts zu aktivieren, müssen Sie die Nutzung von Marketplace-Images aktiviert haben. Cloud Marketplace verwendet die hier hinzugefügte Variable, um den Marketplace-Version Ihres VM-Images, wenn ein Kunde Ihr VM-Image bereitstellt Produkt.
Geben Sie im Textfeld Bildvariable einen Namen für die Variable ein, z. B. „image“.
Legen Sie in Ihrem benutzerdefinierten Terraform-Modul den Standardwert der Variablen fest, den Sie im vorherigen Schritt erstellt haben, in den Namen des VM-Images für Ihr im Format
projects/YOUR_PROJECT/global/images/YOUR_IMAGE
Klicken Sie unter Geben Sie den Speicherort Ihres GCS-Objekts an auf Durchsuchen.
Wenn Sie bereits einen Cloud Storage-Bucket erstellt haben, wählen Sie ihn hier aus.
Wenn Sie keinen Cloud Storage-Bucket haben, klicken Sie auf das Symbol Neuen Bucket erstellen. Wenn Sie einen neuen Bucket erstellen, geschieht Folgendes:
Sie wählen einen Namen für den Bucket aus.
Sie geben an, in welchen Regionen die Daten im Bucket gespeichert werden.
Sie geben die Speicherklasse für Ihre Daten an.
Sie legen fest, welcher Detaillierungsgrad auf die IAM-Berechtigungen (Identity and Access Management) für die Daten des Buckets angewendet wird.
Sie konfigurieren optionale erweiterte Einstellungen wie Verschlüsselungs- oder Datenaufbewahrungsrichtlinien.
Achten Sie darauf, dass die Objektversionsverwaltung für Ihren Cloud Storage-Bucket aktiviert ist.
Um die Bucket-Einstellungen zu speichern und mit der Konfiguration der Bereitstellung fortzufahren auf Konfigurieren.
Geben Sie unter Erforderliche Rollen die IAM-Rollen Ihrer Kunden an. Ihr Produkt bereitstellen müssen.
(Nur Bereitstellung über die Benutzeroberfläche) Metadaten für das benutzerdefinierte Terraform-Modul erstellen
Damit Ihr benutzerdefiniertes Modul die Bereitstellung in der Benutzeroberfläche unterstützt, müssen Sie Metadaten, die Cloud Marketplace verwendet, um Ihr Modul korrekt zu parsen und rendern es auf der Benutzeroberfläche für Ihren Kunden.
Zum Erstellen und Hinzufügen dieser Metadaten können Sie die Open Source-Anwendung CFT CLI-Tool Wenn Sie mit CFT Metadaten erstellen und Ihren benutzerdefinierten Modulen hinzufügen möchten, füllen Sie die folgenden Schritten:
Installieren Sie das CFT CLI-Tool. Weitere Informationen finden Sie in der Dokumentation zur CFT CLI Wir empfehlen, den Wert von
VERSION
auflatest
festzulegen. Legen SiePLATFORM
auf einen der folgenden Werte fest:linux
windows
darwin
Führen Sie dazu diesen Befehl aus:
cft blueprint metadata -p TF_PACKAGE_PATH -q -d --nested=false
Im vorherigen Befehl stellt das Flag
-p
einen Pfad für die Terraform-Datei bereit Paket erstellt, generiert das Flag-q
Metadaten, ohne dass Informationen zu einem Remote-Repository generiert, generiert das Flag-d
diemetadata.display.yaml
und das Flag--nested=false
generiert Metadaten für das Stammmodul. Dabei werden alle Module im Ordnermodules/
übersprungen.
Nachdem Sie die vorherigen Schritte abgeschlossen haben, erstellt das CFT CLI-Tool zwei neue Dateien:
metadata.yaml
und metadata.display.yaml
.
Metadaten des benutzerdefinierten Terraform-Moduls anpassen
Cloud Marketplace verwendet die Datei metadata.display.yaml
, um die
Formular, mit dem Kunden Ihr Produkt über die Benutzeroberfläche bereitstellen. Wenn Sie
Passen Sie dieses Formular an. Nachdem Sie die Metadaten erstellt haben, können Sie die Werte
die Felder in metadata.display.yaml
. Details zu den verfügbaren Anpassungsoptionen finden Sie in der BlueprintUI-Dokumentation oder im BlueprintUI-Schema.
Wir empfehlen, die Erweiterung GooglePropertyExtensions
zu verwenden, um die Metadaten zu ändern. Mit GooglePropertyExtensions
können Sie Folgendes nutzen:
Google Cloud-spezifische Validierungen, z. B. die Durchsetzung, dass Kunden
Sie können nur VPC-Netzwerke (Virtual Private Cloud) auswählen, die bereits in ihrem
Projekt arbeiten. Ein Beispiel finden Sie in der
Beispiel für ein benutzerdefiniertes Terraform-Modul
Metadaten des benutzerdefinierten Moduls validieren
Führen Sie den folgenden Befehl aus, um die Metadaten Ihres benutzerdefinierten Moduls zu validieren:
cft blueprint metadata -p TF_PACKAGE_PATH -v
Im vorherigen Befehl stellt das Flag -p
einen Pfad für die Terraform-Datei bereit
Paket und das Flag -v
validiert alle Metadatendateien unter dem angegebenen Pfad
basierend auf den
BlueprintMetadata
-Schema.
Testen, ob Ihr Modul die Überprüfung besteht
Ihr benutzerdefiniertes Modul besteht die Überprüfung, wenn der folgende Befehl ausgeführt wird erfolgreich:
terraform plan -var project_id=YOUR_PROJECT -var-file marketplace_test.tfvars
Im vorherigen Befehl ist marketplace_test.tfvars
eine Terraform-Variablendatei, die nur vom Cloud Marketplace verwendet wird, und zwar ausschließlich für diese Überprüfung des Moduls. Wenn in Ihrer Vorlage Variablen deklariert sind, die keinen Standardwert haben, und Sie keinen Wert für diese Variablen festlegen, wird der Befehl nicht erfolgreich ausgeführt. Damit der Befehl erfolgreich ausgeführt wird, können Sie eine marketplace_test.tfvars
-Datei erstellen, um Werte für die in der Vorlage deklarierten Variablen festzulegen. Ein Beispiel für eine marketplace_test.tfvars
-Datei finden Sie in der
Beispiel für ein benutzerdefiniertes Terraform-Modul
Optional (nur Bereitstellung über die Befehlszeile): Testmodul einschließen
Wenn Ihr benutzerdefiniertes Modul die Bereitstellung über die Befehlszeile unterstützt, können Sie optional
Sie enthalten einen Ordner mit dem Namen examples/marketplace_test
. Das kann beispielsweise der Fall sein, wenn Ihr Produkt ein separates Testmodul zur Überprüfung der Funktionen enthalten muss. Wenn Sie diesen Ordner hinzufügen, muss Ihr Modul
muss der folgende Befehl erfolgreich ausgeführt werden:
terraform -chdir=examples/marketplace_test plan -var project_id=YOUR_PROJECT
Bereitstellung validieren und testen
Nachdem Sie das Bereitstellungspaket erstellt und konfiguriert haben, müssen Sie überprüfen, und testen, bevor das Cloud Marketplace-Team diese prüfen und genehmigen kann. .
Gehen Sie im Producer Portal zum Abschnitt Bereitstellungspaket.
Klicke auf Validieren. Die Validierung kann bis zu zwei Stunden dauern, abgeschlossen ist, und Sie können den Bildschirm währenddessen verlassen.
Klicken Sie nach erfolgreicher Validierung auf Bereitstellungsvorschau. um Ihre Bereitstellung zu testen.
Nächste Schritte
Nachdem Sie Ihre Bereitstellung erfolgreich validiert und getestet haben, können Sie auf Klicken Sie auf Veröffentlichen, um Ihr gesamtes Produkt zur Überprüfung und Veröffentlichung einzureichen. Cloud Marketplace Weitere Informationen finden Sie unter Reichen Sie Ihr Produkt ein.