Auf dieser Seite können Sie ein öffentliches Computer-Image erstellen, damit Ihr Produkt auf der Compute Engine ausgeführt werden kann.
Ein Image besteht aus einem Bootloader, einem Betriebssystem und einem Root-Dateisystem, das zum Starten einer Instanz benötigt wird. Sie können das Image mit einer Reihe von Anwendungen und Diensten für Ihr Produkt konfigurieren. Das Image wird von Kunden verwendet, um eine VM-Instanz (virtuelle Maschine) in der Cloud zu starten.
Am besten erstellen Sie erst einmal ein Image in Ihrem Entwicklungsprojekt und verschieben es später in Ihr öffentliches Projekt, nachdem Ihr Google-Partnerentwickler das Image überprüft hat.
Hinweis
VM für das Basisprodukt erstellen
Zum Erstellen eines benutzerdefinierten Computer-Images für Cloud Marketplace müssen Sie die folgenden Schritte ausführen (beschrieben in den folgenden Abschnitten):
Verwenden Sie eines der unterstützten öffentlichen Basis-Images von Google , um eine VM zu erstellen und Ihre anwendungsspezifischen Pakete und Konfigurationen zu installieren.
Sie können ein Image auswählen, das Arm-Prozessoren oder x86-Prozessoren verwendet. Sie können auch mehrere Images für verschiedene Maschinentypen in ein VM-Produkt einfügen. Weitere Informationen zu CPU-Plattformen und den Maschinentypen, die sie unterstützen, finden Sie unter CPU-Plattformen.
Wenn Sie Ihren Kunden Support anbieten möchten, installieren Sie Skripts zum Abrufen der Anmeldedaten von Anwendungsnutzern.
Lizenziertes VM-Image erstellen
Verwenden Sie gcloud, um Standardwerte für das Google Cloud CLI festzulegen:
gcloud config set project <project_id> gcloud config set compute/zone <zone>
Erstellen Sie eine primäre Instanz, die zum Installieren der Software verwendet wird. Später wird diese Instanz in ein Image konvertiert, das in Cloud Marketplace verwendet werden kann. Weitere Informationen zum Erstellen einer Instanz finden Sie unter Instanz erstellen und starten.
gcloud compute instances create ${INSTANCE} --scopes https://www.googleapis.com/auth/cloud-platform
Installieren Sie die Software und passen Sie diese an. Schließen Sie alle erforderlichen Startskripts ein, z. B. Skripts zum Erstellen von Anmeldedaten für die Autorisierung.
Um Anmeldedaten für die Autorisierung mit sicheren, zufällig generierten Passwörtern zu erstellen, führen Sie die Schritte im folgenden Abschnitt Anmeldedaten für die Autorisierung erstellen aus.
Wenn Sie die primäre Instanz erstellt und angepasst haben, bereiten Sie das Laufwerk vor, das zum Erstellen eines VM-Images erforderlich ist.
Bereinigen Sie Ihr Laufwerk. Wenn Sie ein VM-Image direkt von Ihrer VM aus erstellen, werden auch Ihre Nutzerverzeichnisse und SSH-Schlüssel in die VMs Ihrer Kunden übertragen. Sie müssen also das Eingabelaufwerk beim Erstellen des VM-Image bereinigen.
So bereinigen Sie das Laufwerk:
Klicken Sie im Menü "Compute Engine" unter VM-Instanzen auf den Namen der Instanz, die Sie bereinigen möchten, und klicken Sie dann auf Bearbeiten.
Scrollen Sie nach unten und entfernen Sie das Häkchen bei Bootlaufwerk löschen, wenn die Instanz gelöscht wird . Klicken Sie dann auf Speichern. Sie verwenden das Laufwerk, um das Image zu erstellen.
Löschen Sie die VM, aber behalten Sie das Laufwerk bei. Sie werden aufgefordert, den Löschvorgang zu bestätigen. Wählen Sie keinesfalls die Option Bootlaufwerk ebenfalls löschen aus.
Anschließend müssen Sie eine neue VM-Instanz erstellen. Maximieren Sie die Option Verwaltung, Laufwerke, Netzwerke, SSH-Schlüssel.
Fügen Sie unter Laufwerk das Laufwerk aus Ihrer vorherigen Instanz als ein zusätzliches Datenlaufwerk hinzu. Achten Sie darauf, dass für Beim Löschen der Instanz die Option Laufwerk behalten ausgewählt ist.
Jetzt können Sie eine SSH-Verbindung zur Instanz herstellen und alle Basisverzeichnisse oder andere temporäre Dateien löschen, die während des Softwareinstallationsprozesses erstellt wurden. Sie müssen das Datenlaufwerk bereitstellen, bevor Sie darauf zugreifen können. Weitere Informationen zum Bereitstellen von Laufwerken finden Sie unter Nichtflüchtige Speicher hinzufügen oder deren Größe ändern.
Wenn Sie fertig sind, fahren Sie die Instanz herunter und löschen Sie sie, wobei Sie aber das aktualisierte Datenlaufwerk beibehalten. Jetzt können Sie anhand der folgenden Schritte ein VM-Image erstellen.
Rufen Sie den Lizenznamen für Ihr VM-Produkt in Producer Portal ab. Gehen Sie dazu so vor:
Öffnen Sie Producer Portal in der Google Cloud Console:
https://console.cloud.google.com/producer-portal?project=YOUR_PROJECT_ID
Ersetzen Sie YOUR_PROJECT_ID durch die ID Ihres Entwicklungs- oder öffentlichen Projekts. Am besten erstellen Sie erst einmal ein Image in Ihrem Entwicklungsprojekt und verschieben es später in Ihr öffentliches Projekt, nachdem Ihr Google-Partnerentwickler das Image überprüft hat.
Klicken Sie auf den Namen des Produkts.
Gehen Sie zum Abschnitt Bereitstellungspaket. Notieren Sie sich unter VM-Lizenz den Namen. Sie verwenden diesen Lizenznamen im nächsten Schritt, wenn Sie Ihr Image erstellen.
Erstellen Sie ein lizenziertes Image, indem Sie den folgenden
gcloudBefehl ausführen:gcloud compute images create CREATE_IMAGE_NAME \ --project PUBLIC_PROJECT_NAME \ --source-disk projects/DEV_PROJECT_NAME/zones/SOURCE_DISK_ZONE/disks/SOURCE_DISK_NAME \ --licenses LICENSE_NAME \ --description ADD_DESCRIPTION
Ersetzen Sie Folgendes:
CREATE_IMAGE_NAME: Der Name Ihres Images und die CPU Architekturen, die es unterstützt, im Format
who-vmOS-image-architecture-date. Ersetzen SiearchitecturedurchArmoderx86_64, je nachdem, welche CPU-Architektur das Image unterstützt. Sie müssen jedes Mal, wenn Sie das Image für das Produkt aktualisieren, einen neuen und eindeutigen Namen verwenden.PUBLIC_PROJECT_NAME: Die Projekt-ID für Ihr öffentliches Projekt für Cloud Marketplace. Ihnen muss die Rolle „Compute-Speicheradministrator“ (
roles/compute.storageAdmin) für dieses Projekt zugewiesen worden sein.LICENSE_NAME: Der Lizenzname für Ihr VM-Produkt, das Sie im vorherigen Schritt notiert haben.
DEV_PROJECT_NAME: Die Projekt-ID des Projekts, das Sie für die Entwicklung und das Testen für Cloud Marketplace erstellt haben. Sie müssen die Rolle „Compute Image-Nutzer“ (
roles/compute.imageUser) für dieses Projekt haben.SOURCE_DISK_ZONE: Die Zone des Quelllaufwerks.
SOURCE_DISK_NAME: Der Name des Quelllaufwerks.
ADD_DESCRIPTION: Eine optionale Textbeschreibung für das zu erstellende Image.
Image veröffentlichen
Für Nicht-Terraform-Produkte, die keine Marketplace-eigenen Images verwenden, müssen Sie Ihr Image öffentlich verfügbar machen, damit es von Ihren Kunden auf den Compute Engine-Instanzen bereitgestellt werden kann. Verwenden Sie die Google Cloud Console oder das Google Cloud CLI, um das Image zu veröffentlichen:
Console
Gehen Sie in Ihrem öffentlichen Projekt unter "Compute Engine" zur Seite "Images".
Wählen Sie Ihr Image aus, wie unten gezeigt:

Wenn rechts oben kein Infofenster angezeigt wird, klicken Sie auf Infofeld anzeigen.
Geben Sie im Infofenster im Feld Mitglieder hinzufügen
allAuthenticatedUsersein und wählen Sie im Menü Rolle auswählen die Option Compute Image-Nutzer.
Klicken Sie auf Hinzufügen, um Ihr Image zu veröffentlichen.
Befehlszeile
Verwenden Sie den folgenden gcloud Befehl in
Cloud Shell oder auf Ihrem lokalen
Computer:
gcloud compute images add-iam-policy-binding IMAGE_NAME --member=allAuthenticatedUsers --role=roles/compute.imageUser
Anmeldedaten für die Autorisierung erstellen
Wenn Ihr Produkt eine einfache Bereitstellung einer einzelnen VM-Instanz mit grundlegenden Firewallregeln ist, können Sie automatisch ein sicheres, zufällig generiertes Passwort hinzufügen, wenn Sie Ihr Bereitstellungspaket direkt konfigurieren.
Wenn Sie das Bereitstellungspaket mit dem
Open Source mpdev Tool erstellen, das wir für die meisten Anwendungsfälle empfehlen, können Sie mpdev verwenden, um automatisch
mehrere sichere, zufällig generierte Passwörter hinzuzufügen.
Schritte zum Erstellen von Anmeldedaten für die Autorisierung finden Sie unter Bereitstellungspaket erstellen.
Sobald das Produkt bereitgestellt wurde, rufen Sie in Ihrer VM-Instanz den folgenden Befehl auf, um die Werte aller von Ihnen erstellten Passwörter abzurufen:
curl -H "Metadata-Flavor: Google" \ http://metadata/computeMetadata/v1/instance/attributes/PASSWORD_NAME
VM-Image testen
Erstellen Sie eine VM-Instanz mit Ihrem neu erstellten Image und prüfen Sie die Funktionalität.
Stellen Sie ferner zur Überprüfung der Lizenz-ID eine SSH-Verbindung zur Instanz her und vergewissern Sie sich, dass gültige Lizenzen mit ihr verknüpft sind.
curl -s -H "Metadata-Flavor: Google" http://metadata.google.internal/computeMetadata/v1/instance/licenses/?recursive=true
Stellen Sie sicher, dass Python 2.6 oder eine höhere Version installiert ist.
python -VStellen Sie sicher, dass die folgenden Pakete installiert sind.
gcloud --version ssh -V ps aux | grep sshd curl -V ps aux | grep dhcp
Stellen Sie sicher, dass auf der Instanz keine anderen Benutzerverzeichnisse außer Ihren eigenen installiert sind und dass keine anderen Nutzerverzeichnisse und Anmeldedaten als Ihre eigenen vorhanden sind.