Betriebssystem-Image der VM für einen Job angeben

Auf dieser Seite wird beschrieben, wie Sie das Betriebssystem-Image für die VM-Instanzen angeben, auf denen ein Job ausgeführt wird. Wenn Sie auch andere Eigenschaften der Bootlaufwerke des Jobs anpassen möchten, lesen Sie stattdessen den Hilfeartikel Job mit benutzerdefinierten Bootlaufwerken erstellen und ausführen.

Weitere Informationen zu VM-Betriebssystem-Images und zu den VM-Betriebssystem-Images, die Sie verwenden können, finden Sie unter VM-Betriebssystemumgebung – Übersicht.

Hinweise

  1. Wenn Sie Batch noch nicht verwendet haben, lesen Sie den Hilfeartikel Batch-Dateien erstellen und ausführen und aktivieren Sie Batch, indem Sie die Voraussetzungen für Projekte und Nutzer erfüllen.
  2. Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Erstellen eines Jobs benötigen:

    Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

    Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.

Job erstellen und ausführen, der ein bestimmtes VM-Betriebssystem-Image verwendet

Geben Sie das VM-Betriebssystem-Image an, wenn Sie einen Job erstellen. Wählen Sie dazu eine der folgenden Methoden aus:

  • Verwenden Sie eine Compute Engine-Instanzvorlage, die ein VM-Betriebssystem-Image angibt. Wenn Sie beim Erstellen dieses Jobs eine VM-Instanzvorlage verwenden möchten, müssen Sie das VM-Betriebssystem-Image in der VM-Instanzvorlage angeben. Eine Anleitung finden Sie unter Jobressourcen mit einer VM-Instanzvorlage definieren.
  • Verwenden Sie das Feld „VM-Betriebssystem-Image“. Wie in der folgenden Anleitung erläutert, können Sie das VM-Betriebssystem-Image mit der gcloud CLI oder der Batch API im Feld image angeben.

gcloud

  1. Erstellen Sie eine JSON-Datei mit den Konfigurationsdetails des Jobs. Wenn Sie das VM-Betriebssystem-Image für den Job angeben möchten, fügen Sie das Feld image ein.

    Wenn Sie beispielsweise einen einfachen Script-Job erstellen möchten, der ein bestimmtes VM-Betriebssystem-Image verwendet, erstellen Sie eine JSON-Datei mit folgendem Inhalt:

    {
        "taskGroups": [
            {
                "taskSpec": {
                    "runnables": [
                        {
                            "script": {
                                "text": "echo Hello world from task ${BATCH_TASK_INDEX}."
                            }
                        }
                    ]
                },
                "taskCount": 3,
                "parallelism": 1
            }
        ],
        "allocationPolicy": {
          "instances": [
            {
              "policy": {
                "bootDisk": {
                  "image": "VM_OS_IMAGE_URI"
                }
              }
            }
          ]
        },
        "logsPolicy": {
        "destination": "CLOUD_LOGGING"
      }
    }
    

    Ersetzen Sie VM_OS_IMAGE_URI durch einen relativen Ressourcennamen des VM-Betriebssystem-Images. Verwenden Sie eine der folgenden Optionen:

    • Geben Sie ein Batch-Betriebssystempräfix an. Wenn Sie das neueste Image eines bestimmten Batch-Betriebssystems verwenden möchten, verwenden Sie das folgende Format:

      BATCH_OS_PREFIX
      

      Ersetzen Sie BATCH_OS_PREFIX durch eines der Präfixe für Batch-VM-Betriebssystem-Images. batch-debian ist beispielsweise das Präfix für das Batch-Debian-Betriebssystem.

    • Geben Sie eine Image-Familie an. Wenn Sie das neueste Image aus einer bestimmten Image-Familie verwenden möchten, verwenden Sie das folgende Format:

      projects/IMAGE_PROJECT_ID/global/images/family/IMAGE_FAMILY
      

      Ersetzen Sie Folgendes:

      • IMAGE_PROJECT_ID: die Projekt-ID des Projekts, das das Image enthält. Geben Sie beispielsweise für alle Batch-Bilder batch-custom-image an.
      • IMAGE_FAMILY: die Image-Familie, die ein oder mehrere bestimmte Images enthält und den Typ und die Hauptversion des Betriebssystems darstellt. Wenn Sie beispielsweise alle VM-Betriebssystem-Image-Familien aus Batch aufrufen möchten, rufen Sie eine Liste der VM-Betriebssystem-Images auf.
    • Geben Sie eine Image-Version an. Wenn Sie eine bestimmte Version eines VM-Betriebssystem-Images verwenden möchten, verwenden Sie das folgende Format:

      projects/IMAGE_PROJECT_ID/global/images/IMAGE_NAME
      

      Ersetzen Sie Folgendes:

      • IMAGE_PROJECT_ID: die Projekt-ID des Projekts, das das Image enthält. Geben Sie beispielsweise für alle Batch-Bilder batch-custom-image an.
      • IMAGE_NAME: Der Image-Name, der eine bestimmte Version eines VM-Betriebssystem-Images darstellt. Wenn Sie beispielsweise alle Versionen von VM-Betriebssystem-Images aus Batch sehen möchten, rufen Sie eine Liste der VM-Betriebssystem-Images auf.
  2. Führen Sie den folgenden gcloud batch jobs submit-Befehl aus, um den Job zu erstellen:

    gcloud batch jobs submit JOB_NAME \
        --location LOCATION \
        --config JSON_CONFIGURATION_FILE
    

    Ersetzen Sie Folgendes:

    • JOB_NAME: Der Name für diesen Job.
    • LOCATION: den Speicherort für diese Aufgabe.
    • JSON_CONFIGURATION_FILE: der Pfad zur JSON-Datei mit den Konfigurationsdetails des Jobs.

API

Wenn Sie einen Job mit der Batch API erstellen möchten, verwenden Sie die Methode jobs.create und geben Sie die Konfigurationsdetails des Jobs an. Wenn Sie das VM-Betriebssystem-Image für den Job angeben möchten, fügen Sie das Feld image ein. Wenn Sie beispielsweise einen einfachen Script-Job erstellen möchten, der ein bestimmtes VM-Betriebssystem-Image verwendet, stellen Sie folgende POST-Anfrage:

POST https://batch.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/jobs?job_id=JOB_NAME

{
    "taskGroups": [
        {
            "taskSpec": {
                "runnables": [
                    {
                        "script": {
                            "text": "echo Hello world from task ${BATCH_TASK_INDEX}."
                        }
                    }
                ]
            },
            "taskCount": 3,
            "parallelism": 1
        }
    ],
    "allocationPolicy": {
      "instances": [
        {
          "policy": {
            "bootDisk": {
              "image": "VM_OS_IMAGE_URI"
            }
          }
        }
      ]
    },
    "logsPolicy": {
    "destination": "CLOUD_LOGGING"
  }
}

Ersetzen Sie Folgendes:

  • PROJECT_ID: die Projekt-ID Ihres Projekts.
  • LOCATION: den Speicherort für diese Aufgabe.
  • JOB_NAME: Der Name für diesen Job.
  • VM_OS_IMAGE_URI: ein relativer Ressourcenname des VM-Betriebssystem-Images. Verwenden Sie eine der folgenden Optionen:

    • Geben Sie ein Batch-Betriebssystempräfix an. Wenn Sie das neueste Image eines bestimmten Batch-Betriebssystems verwenden möchten, verwenden Sie das folgende Format:
    BATCH_OS_PREFIX
    

    Ersetzen Sie BATCH_OS_PREFIX durch eines der Präfixe für Batch-VM-Betriebssystem-Images. batch-debian ist beispielsweise das Präfix für das Batch-Debian-Betriebssystem.

    • Geben Sie eine Image-Familie an. Wenn Sie das neueste Image aus einer bestimmten Image-Familie verwenden möchten, verwenden Sie das folgende Format:

      projects/IMAGE_PROJECT_ID/global/images/family/IMAGE_FAMILY
      

      Ersetzen Sie Folgendes:

      • IMAGE_PROJECT_ID: die Projekt-ID des Projekts, das das Image enthält. Geben Sie beispielsweise für alle Batch-Bilder batch-custom-image an.
      • IMAGE_FAMILY: die Image-Familie, die ein oder mehrere bestimmte Images enthält und den Typ und die Hauptversion des Betriebssystems darstellt. Wenn Sie beispielsweise alle VM-Betriebssystem-Image-Familien aus Batch aufrufen möchten, rufen Sie eine Liste der VM-Betriebssystem-Images auf.
    • Geben Sie eine Image-Version an. Wenn Sie eine bestimmte Version eines VM-Betriebssystem-Images verwenden möchten, verwenden Sie das folgende Format:

      projects/IMAGE_PROJECT_ID/global/images/IMAGE_NAME
      

      Ersetzen Sie Folgendes:

      • IMAGE_PROJECT_ID: die Projekt-ID des Projekts, das das Image enthält. Geben Sie beispielsweise für alle Batch-Bilder batch-custom-image an.
      • IMAGE_NAME: Der Image-Name, der eine bestimmte Version eines VM-Betriebssystem-Images darstellt. Wenn Sie beispielsweise alle Versionen von VM-Betriebssystem-Images aus Batch sehen möchten, rufen Sie eine Liste der VM-Betriebssystem-Images auf.

Nächste Schritte