Image der virtuellen Maschine (VM) 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 enthält einen Bootloader, ein Betriebssystem und ein 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 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

  1. Laden Sie das Google Cloud SDK herunter.

VM für Basisprodukt 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

Producer Portal

  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 zur Installation Ihrer Software verwendet wird und später in ein Image konvertiert wird, 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.

    Führen Sie die Schritte unter Autorisierungsdaten erstellen im folgenden Abschnitt aus, um Autorisierungsdaten mit sicheren zufälligen Passwörtern zu erstellen.

  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 direkt von Ihrer VM ein VM-Image erstellen, werden auch Ihre Nutzerverzeichnisse und SSH-Schlüssel auf die VMs Ihrer Kunden übertragen. Daher müssen Sie das Eingabelaufwerk bei der Erstellung des VM-Images bereinigen.

    Gehen Sie dazu so vor:

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

    2. Scrollen Sie nach unten, entfernen Sie das Häkchen bei Bootlaufwerk löschen, wenn die Instanz gelöscht wird, und klicken Sie auf Speichern. Sie verwenden das Laufwerk, um das Image zu erstellen.

    3. 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.

    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. 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.

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

  6. So erhalten Sie den Lizenznamen für Ihr VM-Produkt im Producer Portal:

    1. Producerffnen Sie das 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. Es wird empfohlen, mit der Erstellung eines Images in Ihrem Entwicklungsprojekt zu beginnen und es dann in Ihr öffentliches Projekt zu verschieben, nachdem der Google-Partnerentwickler das Image bestätigt hat.

    2. Klicken Sie auf den Namen Ihres Produkts.

    3. Wechseln Sie zum Abschnitt Bereitstellungspaket. Notieren Sie sich den Namen unter VM-Lizenz. Sie verwenden diesen Lizenznamen im folgenden Schritt, wenn Sie Ihr Image erstellen.

  7. Erstellen Sie mit dem folgenden gcloud-Befehl ein lizenziertes Image:

    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
    

    Dabei gilt:

    • CREATE_IMAGE_NAME: Der Name des Images im Format who-vmOS-image-date. Sie müssen jedes Mal, wenn Sie das Image für Ihr Produkt aktualisieren, einen neuen und eindeutigen Namen verwenden.
    • PUBLIC_PROJECT_NAME: Die Projekt-ID Ihres öffentlichen Projekts für Google Cloud Marketplace.
    • LICENSE_NAME: Der Lizenzname für das VM-Produkt, das Sie im vorherigen Schritt notiert haben.
    • DEV_PROJECT_NAME: Die Projekt-ID für das Projekt, das Sie für Entwicklung und Tests für Google Cloud Marketplace erstellt haben.
    • SOURCE_DISK_ZONE: Die Zone des Quelllaufwerks.
    • SOURCE_DISK_NAME: Der Name des Quelllaufwerks.
    • ADD_DESCRIPTION ist eine optionale Textbeschreibung für das erstellte Image.

Partner-Portal

  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 zur Installation Ihrer Software verwendet wird und später in ein Image konvertiert wird, 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.

    Führen Sie die Schritte unter Autorisierungsdaten erstellen im folgenden Abschnitt aus, um Autorisierungsdaten mit sicheren zufälligen Passwörtern zu erstellen.

  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 direkt von Ihrer VM ein VM-Image erstellen, werden auch Ihre Nutzerverzeichnisse und SSH-Schlüssel auf die VMs Ihrer Kunden übertragen. Daher müssen Sie das Eingabelaufwerk bei der Erstellung des VM-Images bereinigen.

    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, entfernen Sie das Häkchen bei Bootlaufwerk löschen, wenn die Instanz gelöscht wird, und klicken Sie auf Speichern. Sie verwenden das Laufwerk, um das Image zu erstellen.

    3. 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.

    4. Anschließend müssen Sie eine neue VM-Instanz erstellen. Maximieren Sie die Optionen Verwaltung, Laufwerk, Netzwerke und 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. 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 ihre Größe anpassen.

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

  6. So erhalten Sie den Lizenznamen für Ihr Produkt im Partner-Portal:

    1. Klicken Sie auf die Lösungs-ID für Ihr Produkt.

    2. Hier klicken, um die Lösungsmetadaten zu bearbeiten.

    3. Notieren Sie sich den Lizenznamen in den Lösungsmetadaten im Abschnitt Lizenzierung und Preise unter Lizenzname. Sie verwenden diesen Lizenznamen später, wenn Sie gcloud zur Erstellung des 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
    

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älliges Passwort einfügen, wenn Sie Ihr Bereitstellungspaket direkt konfigurieren.

Wenn Sie Ihr Bereitstellungspaket mit demOpen Sourcempdev Werkzeug , die wir für die meisten Anwendungsfälle empfehlen, mpdev um automatisch mehrere sichere zufällige Passwörter einzuschließen.

Schritte zum Erstellen von Autorisierungsanmeldedaten finden Sie unter Bereitstellungspaket erstellen.

Nachdem Ihr Produkt bereitgestellt wurde, rufen Sie mit dem folgenden Befehl über die VM-Instanz die Werte aller von Ihnen erstellten Passwörter ab:

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.