Image der 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 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

  1. Laden Sie das Google Cloud SDK herunter.

VM für das Basisprodukt erstellen

Um ein benutzerdefiniertes Maschinen-Image für Cloud Marketplace zu erstellen, müssen Sie Führen Sie die folgenden Schritte aus, die in den folgenden Abschnitten beschrieben werden:

  • 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 Bild auswählen, das ARM-Prozessoren oder ein Bild mit x86 verwendet Prozessoren. Sie können auch mehrere Bilder einfügen, die auf verschiedene Maschinentypen in einem VM-Produkt. Weitere Informationen zu CPU-Plattformen und die unterstützten Maschinentypen finden Sie CPU-Plattformen:

  • Wenn Sie Support für Ihre Kunden anbieten möchten, installieren Sie Skripts, um App-Nutzeranmeldedaten abrufen.

Lizenziertes VM-Image erstellen

  1. Verwenden Sie gcloud, um Standardwerte für die Google Cloud CLI festzulegen:

    gcloud config set project <project_id>
    gcloud config set compute/zone <zone>
  2. Erstellen Sie eine primäre Instanz, die für die Installation der Software verwendet wird, und erstellen Sie später in ein Bild konvertiert, das in Cloud Marketplace verwendet werden soll. 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 Anmeldedaten für die Autorisierung mit sicheren, zufälligen Passwörtern zu erstellen, befolgen Sie die Schritte in Anmeldedaten für die Autorisierung erstellen erhalten Sie im folgenden Abschnitt.

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

  4. Bereinigen Sie Ihr Laufwerk. Wenn Sie ein VM-Image direkt aus Ihrer VM erstellen, werden auch Daten übertragen, die Nutzerverzeichnisse und SSH-Schlüssel in die VMs ausführen. Sie müssen also Bereinigen Sie das Eingabelaufwerk, wenn Sie Ihr VM-Image erstellen.

    Gehen Sie dazu so vor:

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

    2. Scrollen Sie nach unten und entfernen Sie das Häkchen aus dem Feld Bootlaufwerk löschen, wenn 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, die zu löschen. Wählen Sie keinesfalls die Option Bootlaufwerk ebenfalls löschen aus.

    4. Anschließend müssen Sie eine neue VM-Instanz erstellen. Maximieren Sie den Bereich Verwaltung, Optionen für 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 Laufwerk behalten für Wenn Löschen der Instanz

      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, wobei Sie aber das aktualisierte Datenlaufwerk beibehalten. Jetzt können Sie anhand der folgenden Schritte ein VM-Image erstellen.

  5. Rufen Sie den Lizenznamen für Ihr VM-Produkt in Producer Portal ab. Gehen Sie dazu so vor:

    1. Öffnen 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. 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.

    2. Klicken Sie auf den Namen des Produkts.

    3. Gehen Sie zum Abschnitt Bereitstellungspaket. Notieren Sie sich unter VM-Lizenz den Namen. Sie verwenden diesen Lizenznamen im folgenden Schritt beim Erstellen in Ihr Bild einfügen.

  6. Erstellen Sie ein lizenziertes Image, indem Sie Folgendes ausführen: gcloud-Befehl:

    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 der CPU. Architekturen, die es unterstützt, in dem Format who-vmOS-image-architecture-date, wobei architecture durch entweder Arm oder x86_64, je nach CPU-Architektur des Images 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 den Cloud Marketplace. Ihnen muss Folgendes gewährt worden sein: Compute Storage-Administrator Rolle (roles/compute.storageAdmin) für dieses Projekt.

    • 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 die für Entwicklung und Tests für Cloud Marketplace erstellt wurden. Du musst Sie müssen den Compute Image-Nutzer Rolle (roles/compute.imageUser) für dieses Projekt.

    • 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-Images verwenden, müssen Sie Ihr Image öffentlich zugänglich zu machen, damit Ihre Kunden es auf ihren Compute Engine-Instanzen. Um das Image zu veröffentlichen, verwenden Sie den Google Cloud Console oder die Google Cloud CLI:

Console

  1. Gehen Sie in Ihrem öffentlichen Projekt unter "Compute Engine" zur Seite "Images".

    Zur Seite "Images"

  2. Wählen Sie Ihr Image aus, wie unten gezeigt:

  3. Wenn rechts oben kein Infofenster angezeigt wird, klicken Sie auf Infofeld anzeigen.

  4. Geben Sie im Infofenster im Feld Mitglieder hinzufügen allAuthenticatedUsers ein und wählen Sie im Menü Rolle auswählen die Option Compute Image-Nutzer.

  5. 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 Ihr Bereitstellungspaket mithilfe der Methode Open-Source-Tool mpdev, Dies empfehlen wir für die meisten Anwendungsfälle. Mit mpdev können Sie automatisch mehrere sichere, zufällige Passwörter enthalten.

Schritte zum Erstellen von Anmeldedaten für die Autorisierung finden Sie unter Bereitstellungspaket erstellen

Nach der Bereitstellung Ihres Produkts können Sie die Werte aller Passwörter abrufen, die Führen Sie den folgenden Befehl in Ihrer VM-Instanz aus:

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