VM-Image erstellen

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 Betriebssystemund einem Root-Dateisystem, das zum Starten einer Instanz benötigt wird. Sie können das Bild mit einer Reihe von Anwendungen und Diensten für Ihre Lösung konfigurieren. Dieses Bild wird von Kunden zum Starten einer VM-Instanz in der Cloud verwendet.

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

  1. Laden Sie das Google Cloud SDK herunter.

VM für die Basislösung erstellen

Zum Erstellen eines benutzerdefinierten Computer-Bilds für Google Cloud Marketplace müssen Sie die folgenden Schritte ausführen (beschrieben in den folgenden Abschnitten):

Lizenziertes VM-Image erstellen

  1. Verwenden Sie gcloud, um die Standardeinstellungen für das Cloud SDK festzulegen:

    gcloud config set project <project_id>
    gcloud config set compute/zone <zone>
  2. Erstellen Sie eine primäre Instanz, die zum Installieren der Software verwendet wird. Später wird diese Instanz in ein Bild konvertiert, das in Google 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 
  3. Installieren Sie die Software und passen Sie diese an. Schließen Sie alle erforderlichen Startskripts ein, z. B. Skripts zum Erstellen von Autorisierungsanmeldedaten.

    Um Autorisierungsanmeldedaten mit sicheren, zufällig generierten Passwörtern zu erstellen, führen Sie die Schritte im Abschnitt Autorisierungsanmeldedaten erstellen dieser Seite aus.

  4. Fügen Sie Open-Source-Lizenztextdateien und den Quellcode auf der VM hinzu (sofern zutreffend). Diesbezügliche Anforderungen finden Sie im Dokument zur Open-Source-Compliance.

    Wenn Sie die primäre Instanz erstellt und angepasst haben, bereiten Sie das Laufwerk vor, das zum Erstellen eines VM-Images erforderlich ist.

  5. Bereinigen Sie Ihr Laufwerk. Wenn Sie ein VM-Image direkt von Ihrer VM erstellen, werden auch Ihre Nutzerverzeichnisse und SSH-Schlüssel in die VMs Ihrer Kunden übertragen. Sie müssen also die Festplatte bereinigen, die beim Erstellen Ihres VM-Images als Eingabedatenträger verwendet wird. Gehen Sie dazu so vor:

    1. Klicken Sie im Menü Compute Engine VM-Instanzen auf den Namen der Instanz, die Sie bereinigen möchten, und klicken Sie dann auf Bearbeiten.

    2. 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. Zum Erstellen des Images benötigen Sie das Laufwerk.

    3. Löschen Sie die VM, aber behalten Sie das Laufwerk bei. Sie werden aufgefordert, das Löschen zu bestätigen. Wählen Sie nicht die Option Bootlaufwerk ebenfalls löschen aus.

    4. Anschließend müssen Sie eine neue VM-Instanz erstellen. Maximieren Sie die Option Verwaltung, Laufwerke, Netzwerke, SSH-Schlüssel.

    5. Fügen Sie unter Laufwerk das Laufwerk aus Ihrer vorherigen Instanz als 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. Damit Sie auf das Datenlaufwerk zugreifen können, müssen Sie es zunächst bereitstellen. Weitere Informationen zum Bereitstellen von Laufwerken finden Sie unter Nichtflüchtige Speicher hinzufügen oder deren Größe ändern.

    6. Wenn Sie fertig sind, fahren Sie die Instanz herunter und löschen Sie sie, wobei Sie aber Ihr aktualisiertes Datenlaufwerk beibehalten. Jetzt können Sie anhand der folgenden Schritte ein VM-Image erstellen.

  6. Rufen Sie den Lizenznamen für Ihre Lösung im Partner-Portal ab, indem Sie die folgenden Schritte ausführen:

    1. Klicken Sie auf die Lösungs-ID, um die Lösung zu bearbeiten.

    2. Bearbeiten Sie die Lösungsmetadaten.

    3. Merken Sie sich Ihren Lizenznamen, der in den Lösungsmetadaten im Abschnitt "Lizenzen und Preise" unter Lizenzname angegeben ist. Sie verwenden diesen Lizenznamen später, wenn Sie gcloud zum Erstellen Ihres Images verwenden.

  7. Erstellen Sie ein lizenziertes Image, indem Sie den folgenden Befehl gcloud 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 projects/PUBLIC_PROJECT_NAME/global/licenses/LICENSE_NAME \
     --description ADD_DESCRIPTION
    

Autorisierungsanmeldedaten erstellen

Wenn Ihre Lösung 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 im Partner-Portal konfigurieren.

Wenn Sie Ihr Bereitstellungspaket mit dem Open Source mpdev-Werkzeugerstellen, das wir für die meisten Anwendungsfälle empfehlen, können Sie die mpdev verwenden, um automatisch mehrere sichere, zufällige Passwörter enthalten.

Sobald Ihre Lösung 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 -V

Stellen Sie sicher, dass die folgenden Pakete installiert sind.

gcloud --version
gsutil --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.