Auf dieser Seite wird beschrieben, wie Sie die nichtflüchtigen Speicher anpassen, die zum Booten der einzelnen VM-Instanzen verwendet werden, auf denen ein Job ausgeführt wird.
Sie können insbesondere die Größe, den Typ und/oder das Betriebssystem-Image der VM für ein Bootlaufwerk anpassen. Wenn Sie nur das VM-Betriebssystem-Image anpassen möchten, lesen Sie stattdessen VM-Betriebssystem-Image für einen Job angeben.
Weitere Informationen zu Bootlaufwerken und dazu, wann Sie Bootlaufwerke konfigurieren sollten, finden Sie unter Übersicht über VM-Betriebssystemumgebungen.
Hinweise
- Wenn Sie Batch noch nicht verwendet haben, lesen Sie den Abschnitt Erste Schritte mit Batch und aktivieren Sie Batch, indem Sie die Voraussetzungen für Projekte und Nutzer erfüllen.
-
Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Erstellen eines Jobs benötigen:
-
Batch-Job-Editor (
roles/batch.jobsEditor
) für das Projekt -
Dienstkontonutzer (
roles/iam.serviceAccountUser
) für das Dienstkonto des Jobs, das standardmäßig das Compute Engine-Standarddienstkonto ist
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.
-
Batch-Job-Editor (
Job erstellen und ausführen, der ein benutzerdefiniertes Bootlaufwerk verwendet
Sie können ein benutzerdefiniertes Bootlaufwerk angeben, wenn Sie einen Job erstellen. Wählen Sie dazu eine der folgenden Methoden aus:
Verwenden Sie eine Compute Engine-Instanzvorlage, in der ein bereits vorhandener benutzerdefinierter Bootlaufwerk angegeben ist. Wenn Sie beim Erstellen dieses Jobs eine VM-Instanzvorlage oder ein vorhandenes benutzerdefiniertes Bootlaufwerk verwenden möchten, führen Sie die folgenden Schritte aus:
Erstellen oder identifizieren Sie ein benutzerdefiniertes Bootlaufwerk.
Informationen zu den Anforderungen an Bootlaufwerke für Batch finden Sie in diesem Dokument und in der Übersicht über VM-Betriebssystemumgebungen. Eine Anleitung zum Erstellen eines Bootlaufwerks finden Sie in der Compute Engine-Dokumentation unter Angepasstes Bootlaufwerk erstellen.
Erstellen oder identifizieren Sie eine VM-Instanzvorlage, die dieses benutzerdefinierte Bootlaufwerk enthält.
Eine Anleitung zum Erstellen einer VM-Instanzvorlage finden Sie in der Compute Engine-Dokumentation unter Instanzvorlagen erstellen.
Erstellen Sie einen Job, der diese VM-Instanzvorlage enthält, und führen Sie ihn aus.
Eine Anleitung zum Erstellen und Ausführen des Jobs finden Sie unter Jobressourcen mit einer VM-Instanzvorlage definieren.
Verwenden Sie das Feld „Bootlaufwerk“, um ein neues benutzerdefiniertes Bootlaufwerk anzugeben. Wie in der folgenden Anleitung beschrieben, können Sie ein neues benutzerdefiniertes Bootlaufwerk definieren, indem Sie das Feld „Bootlaufwerk“ (
bootDisk
) verwenden, wenn Sie einen Job mit der gcloud CLI oder der Batch API erstellen und ausführen.Sie können das Bootlaufwerk anpassen, indem Sie die Unterfelder VM-Betriebssystem-Image (
image
), Typ des nichtflüchtigen Speichers (type
) und/oder Größe (sizeGb
) konfigurieren. Batch legt einen Standardwert für alle diese untergeordneten Felder fest, die Sie weglassen.
gcloud
Erstellen Sie eine JSON-Datei, in der die Konfigurationsdetails Ihres Jobs angegeben sind. Wenn Sie ein neues benutzerdefiniertes Bootlaufwerk für die VMs des Jobs angeben möchten, fügen Sie das Feld
bootDisk
und die Unterfelder hinzu.Wenn Sie beispielsweise einen einfachen Script-Job erstellen möchten, der einen neuen benutzerdefinierten Boot-Datenträger 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", "type": "BOOT_DISK_TYPE", "sizeGb": BOOT_DISK_SIZE } } } ] }, "logsPolicy": { "destination": "CLOUD_LOGGING" } }
Ersetzen Sie Folgendes:
VM_OS_IMAGE_URI
: ein relativer Ressourcenname des VM-Betriebssystem-Images. Verwenden Sie eine der folgenden Optionen:Batch-Betriebssystempräfix angeben 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, z. B.batch-debian
für das Batch-Debian-Betriebssystem.Image-Familie angeben 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-Bilderbatch-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 sehen möchten, rufen Sie eine Liste der VM-Betriebssystem-Images auf.
Image-Version angeben: 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-Bilderbatch-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 sehen möchten, rufen Sie eine Liste der VM-Betriebssystem-Images auf.
BOOT_DISK_TYPE
: Der Laufwerkstyp des Bootlaufwerks, entwederpd-standard
,pd-balanced
,pd-ssd
oderpd-extreme
. Der Standardlaufwerkstyp für Bootlaufwerke istpd-balanced
.BOOT_DISK_SIZE
: die Größe des neuen nichtflüchtigen Bootlaufwerks in GB. Dieser Wert muss alle Anforderungen an die Größe des Bootlaufwerks erfüllen.
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
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 Betriebssystem-Image der VM für den Job angeben möchten, fügen Sie das Feld bootDisk
und die zugehörigen Unterfelder ein.
Wenn Sie beispielsweise einen einfachen Script-Job erstellen möchten, der eine neue benutzerdefinierte Bootdisk verwendet, stellen 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",
"type": "BOOT_DISK_TYPE",
"sizeGb": BOOT_DISK_SIZE
}
}
}
]
},
"logsPolicy": {
"destination": "CLOUD_LOGGING"
}
}
Ersetzen Sie Folgendes:
VM_OS_IMAGE_URI
: ein relativer Ressourcenname des VM-Betriebssystem-Images. Verwenden Sie eine der folgenden Optionen:Batch-Betriebssystempräfix angeben 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, z. B.batch-debian
für das Batch-Debian-Betriebssystem.Image-Familie angeben 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-Bilderbatch-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 sehen möchten, rufen Sie eine Liste der VM-Betriebssystem-Images auf.
Image-Version angeben: 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-Bilderbatch-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 sehen möchten, rufen Sie eine Liste der VM-Betriebssystem-Images auf.
BOOT_DISK_TYPE
: Der Laufwerkstyp des Bootlaufwerks, entwederpd-standard
,pd-balanced
,pd-ssd
oderpd-extreme
. Der Standardlaufwerkstyp für Bootlaufwerke istpd-balanced
.BOOT_DISK_SIZE
: die Größe des neuen nichtflüchtigen Bootlaufwerks in GB. Dieser Wert muss alle Anforderungen an die Größe des Bootlaufwerks erfüllen.
Nächste Schritte
- Wenn Probleme beim Erstellen oder Ausführen eines Jobs auftreten, finden Sie weitere Informationen unter Fehlerbehebung.
- Weitere Informationen zu Bootlaufwerken und VM-Betriebssystem-Images
- Weitere Informationen zum Erstellen von Jobs
- Jobs und Aufgaben ansehen