VM-Betriebssystem-Image 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 Attribute der Bootlaufwerke des Jobs anpassen möchten, lesen Sie stattdessen Job erstellen und ausführen, der benutzerdefinierte Bootlaufwerke verwendet.

Weitere Informationen zu VM-Betriebssystem-Images und dazu, welche VM-Betriebssystem-Images Sie verwenden können, finden Sie unter Übersicht über VM-Betriebssystem-Umgebungen.

Hinweise

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 mithilfe einer VM-Instanzvorlage definieren.
  • Verwenden Sie das Feld für das VM-Betriebssystem-Image. Wie in der folgenden Anleitung erläutert, können Sie das VM-Betriebssystem-Image über die gcloud CLI oder die Batch API im Feld image angeben.

gcloud

  1. Erstellen Sie eine JSON-Datei, in der die Konfigurationsdetails des Jobs angegeben sind. Fügen Sie das Feld image ein, um das VM-Betriebssystem-Image für den Job anzugeben.

    Wenn Sie beispielsweise einen einfachen Skriptjob 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 BatchOS-Präfix an. Verwenden Sie das folgende Format, um das neueste Image eines bestimmten Batch-Betriebssystems zu nutzen:

      BATCH_OS_PREFIX
      

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

    • Geben Sie eine Image-Familie an. Verwenden Sie das folgende Format, um das neueste Image aus einer bestimmten Image-Familie zu verwenden:

      projects/IMAGE_PROJECT_ID/global/images/family/IMAGE_FAMILY
      

      Ersetzen Sie Folgendes:

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

      projects/IMAGE_PROJECT_ID/global/images/IMAGE_NAME
      

      Ersetzen Sie Folgendes:

      • IMAGE_PROJECT_ID ist die Projekt-ID des Projekts, das das Image enthält. Geben Sie beispielsweise für alle Batch-Images batch-custom-image an.
      • IMAGE_NAME: der Image-Name, der eine bestimmte Version eines VM-Betriebssystem-Images darstellt. Wenn Sie beispielsweise alle VM-Betriebssystem-Image-Versionen aus Batch aufrufen 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: der Standort für diesen Job
    • JSON_CONFIGURATION_FILE: der Pfad zur JSON-Datei mit den Konfigurationsdetails des Jobs.

API

Verwenden Sie zum Erstellen eines Jobs mit der Batch API die Methode jobs.create und geben Sie die Konfigurationsdetails des Jobs an. Fügen Sie das Feld image ein, um das VM-Betriebssystem-Image für den Job anzugeben. Wenn Sie beispielsweise einen einfachen Skriptjob erstellen möchten, der ein bestimmtes VM-Betriebssystem-Image verwendet, senden Sie die 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: der Standort für diesen Job.
  • JOB_NAME: der Name für diesen Job.
  • VM_OS_IMAGE_URI ist ein relativer Ressourcenname des VM-Betriebssystem-Images. Verwenden Sie eine der folgenden Optionen:

    • Geben Sie ein BatchOS-Präfix an. Verwenden Sie das folgende Format, um das neueste Image eines bestimmten Batch-Betriebssystems zu nutzen:
    BATCH_OS_PREFIX
    

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

    • Geben Sie eine Image-Familie an. Verwenden Sie das folgende Format, um das neueste Image aus einer bestimmten Image-Familie zu verwenden:

      projects/IMAGE_PROJECT_ID/global/images/family/IMAGE_FAMILY
      

      Ersetzen Sie Folgendes:

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

      projects/IMAGE_PROJECT_ID/global/images/IMAGE_NAME
      

      Ersetzen Sie Folgendes:

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

Nächste Schritte