Job erstellen und ausführen, der benutzerdefinierte Bootlaufwerke verwendet

Auf dieser Seite wird beschrieben, wie Sie die nichtflüchtigen Speicher, die zum Booten verwendet werden, anpassen können. VM-Instanz, auf der ein Job ausgeführt wird.

Insbesondere können Sie Größe, Typ und/oder VM-Betriebssystem-Image für ein Bootlaufwerk Wenn Sie nur das VM-Betriebssystem-Image anpassen möchten, gehen Sie so vor: Siehe VM-Betriebssystem-Image für einen Job angeben .

Weitere Informationen zu Bootlaufwerken und zum Konfigurieren von Bootlaufwerken finden Sie unter VM-Betriebssystem-Umgebung – Übersicht

Hinweise

Job erstellen und ausführen, der ein benutzerdefiniertes Bootlaufwerk verwendet

Wählen Sie ein benutzerdefiniertes Bootlaufwerk aus, wenn Sie einen Job erstellen der folgenden Methoden verwenden:

  • Verwenden Sie eine Compute Engine-Instanzvorlage, die ein bereits vorhandenes benutzerdefiniertes Bootlaufwerk angibt. Wenn Sie beim Erstellen dieses Jobs eine VM-Instanzvorlage oder einen bereits vorhandene benutzerdefinierte Bootlaufwerke erstellen, führen Sie die folgenden Schritte aus:

    1. Erstellen oder identifizieren Sie ein benutzerdefiniertes Bootlaufwerk.

      Informationen zu den Anforderungen an das Bootlaufwerk für Batch finden Sie in diesem Dokument und siehe VM-Betriebssystem-Umgebung – Übersicht. Anweisungen zum Erstellen eines Bootlaufwerks finden Sie unter Benutzerdefiniertes Bootlaufwerk erstellen in der Compute Engine-Dokumentation.

    2. Erstellen oder identifizieren Sie eine VM-Instanzvorlage, die dieses benutzerdefinierte Bootlaufwerk enthält.

      Eine Anleitung zum Erstellen einer VM-Instanzvorlage finden Sie unter Instanzvorlagen erstellen in der Compute Engine-Dokumentation.

    3. Erstellen Sie einen Job, der diese VM-Instanzvorlage enthält, und führen Sie ihn aus.

      Anweisungen zum Erstellen und Ausführen des Jobs finden Sie unter Jobressourcen mithilfe einer VM-Instanzvorlage definieren

  • Geben Sie im Feld für das Bootlaufwerk ein neues benutzerdefiniertes Bootlaufwerk an. Wie in der folgenden Anleitung erläutert, können Sie Definieren Sie ein neues benutzerdefiniertes Bootlaufwerk Bootlaufwerk (bootDisk) wenn Sie einen Job mit der Methode gcloud CLI oder Batch API verwenden.

    Insbesondere können Sie das Bootlaufwerk anpassen, indem Sie die Unterfelder des VM-Betriebssystem-Images (image), des nichtflüchtigen Speichertyps (type) und/oder der Größe (sizeGb). Batch legt einen Standardwert für jedes dieser Unterfelder fest, auslassen.

gcloud

  1. Erstellen Sie eine JSON-Datei, die die Konfigurationsdetails Ihres Jobs enthält. Fügen Sie den Parameter Feld und Unterfelder bootDisk:

    Um beispielsweise einen einfachen Skriptjob zu erstellen, der einen neuen benutzerdefinierten Bootmodus verwendet, Laufwerk 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",
                  "type": "BOOT_DISK_TYPE",
                  "sizeGb": BOOT_DISK_SIZE
                }
              }
            }
          ]
        },
        "logsPolicy": {
        "destination": "CLOUD_LOGGING"
      }
    }
    

    Ersetzen Sie Folgendes:

    • VM_OS_IMAGE_URI: a relativer Ressourcenname des VM-Betriebssystem-Images. Verwenden Sie eine der folgenden Optionen:

      • Geben Sie ein Batch-Betriebssystempräfix an. So verwenden Sie die neuesten eines bestimmten Batch-Betriebssystems verwenden, folgendes Format:

        BATCH_OS_PREFIX
        

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

      • Geben Sie eine Image-Familie an. Um das neueste Image aus einem 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. Wenn beispielsweise Batch-Images, geben Sie batch-custom-image an.
        • IMAGE_FAMILY ist die Image-Familie, die enthält ein oder mehrere spezifische Bilder und stellt den Typ und Hauptversion des Betriebssystems. Um beispielsweise alle VM-Betriebssystem-Image-Familien Batch: Liste der VM-Betriebssystem-Images ansehen
      • Geben Sie eine Image-Version an. Eine bestimmte Version eines VM-Betriebssystems verwenden Image verwenden, 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. Wenn beispielsweise Batch-Images, geben Sie batch-custom-image an.
        • IMAGE_NAME ist der Image-Name, mit dem eine bestimmte Version eines VM-Betriebssystem-Images darstellt. Um beispielsweise alle VM-Betriebssystem-Image-Versionen Batch: Liste der VM-Betriebssystem-Images ansehen
    • BOOT_DISK_TYPE: die Laufwerkstyp des Bootlaufwerks, entweder pd-standard, pd-balanced, pd-ssd oder pd-extreme. Der Standard-Laufwerkstyp für Bootlaufwerke ist pd-balanced.

    • BOOT_DISK_SIZE: die Größe des das neue nichtflüchtige Bootlaufwerk in GB. Dieser Wert muss den alle Anforderungen an die Größe des Bootlaufwerks erfüllen.

  2. Führen Sie folgenden Befehl aus, um den Job zu erstellen: gcloud batch jobs submit-Befehl:

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

    Ersetzen Sie Folgendes:

    • JOB_NAME: der Name dieses Jobs.
    • LOCATION: die location für diesen Job an.
    • JSON_CONFIGURATION_FILE: der Pfad zum JSON-Datei mit den Konfigurationsdetails des Jobs.

API

Verwenden Sie zum Erstellen eines Jobs mit der Batch API die Methode jobs.create-Methode und geben Sie die Konfigurationsdetails des Jobs an. Fügen Sie den Parameter Feld und Unterfelder bootDisk: Um beispielsweise einen einfachen Skriptjob zu erstellen, der einen neuen benutzerdefinierten Bootmodus verwendet, Laufwerk folgende POST-Anfrage stellen:

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",
              "type": "BOOT_DISK_TYPE",
              "sizeGb": BOOT_DISK_SIZE
            }
          }
        }
      ]
    },
    "logsPolicy": {
    "destination": "CLOUD_LOGGING"
  }
}

Ersetzen Sie Folgendes:

  • VM_OS_IMAGE_URI: a relativer Ressourcenname des VM-Betriebssystem-Images. Verwenden Sie eine der folgenden Optionen:

    • Geben Sie ein Batch-Betriebssystempräfix an. So verwenden Sie die neuesten eines bestimmten Batch-Betriebssystems verwenden, folgendes Format:

      BATCH_OS_PREFIX
      

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

    • Geben Sie eine Image-Familie an. Um das neueste Image eines bestimmten Image-Familie verwenden, 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. Wenn beispielsweise Batch-Images, geben Sie batch-custom-image an.
      • IMAGE_FAMILY ist die Image-Familie, die enthält ein oder mehrere spezifische Bilder und stellt den Typ und Hauptversion des Betriebssystems. Um beispielsweise alle VM-Betriebssystem-Image-Familien Batch: Liste der VM-Betriebssystem-Images ansehen
    • Geben Sie eine Image-Version an. Eine bestimmte Version eines VM-Betriebssystems verwenden Image verwenden, 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. Wenn beispielsweise Batch-Images, geben Sie batch-custom-image an.
      • IMAGE_NAME ist der Image-Name, mit dem eine bestimmte Version eines VM-Betriebssystem-Images darstellt. Um beispielsweise alle VM-Betriebssystem-Image-Versionen Batch: Liste der VM-Betriebssystem-Images ansehen
  • BOOT_DISK_TYPE: die Laufwerkstyp des Bootlaufwerks, entweder pd-standard, pd-balanced, pd-ssd oder pd-extreme. Der Standard-Laufwerkstyp für Bootlaufwerke ist pd-balanced.

  • BOOT_DISK_SIZE: die Größe des das neue nichtflüchtige Bootlaufwerk in GB. Dieser Wert muss den alle Anforderungen an die Größe des Bootlaufwerks erfüllen.

Nächste Schritte