En esta página, se describe cómo personalizar los discos persistentes que se usan para iniciar cada uno de máquina virtual (VM) en la que se ejecuta un trabajo.
En concreto, puedes personalizar el tamaño, el tipo o el Imagen del sistema operativo (SO) de la VM para un disco de arranque Si solo quieres personalizar la imagen de SO de la VM, consulta Especifica la imagen de SO de la VM para un trabajo en su lugar.
Para obtener más información sobre los discos de arranque y cuándo configurarlos, consulta Descripción general del entorno del SO de la VM.
Antes de comenzar
- Si nunca usaste Batch, consulta Cómo comenzar a usar Batch y habilita Batch completando los requisitos previos para proyectos y usuarios.
-
A fin de obtener los permisos que necesitas para crear un trabajo, solicita a tu administrador que te otorgue el los siguientes roles de IAM:
-
Editor de trabajos por lotes (
roles/batch.jobsEditor
) en el proyecto -
Usuario de la cuenta de servicio (
roles/iam.serviceAccountUser
) en la cuenta de servicio del trabajo, que de forma predeterminada es la cuenta de servicio predeterminada de Compute Engine
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
También puedes obtener los permisos necesarios mediante roles personalizados o cualquier otro rol predefinido.
-
Editor de trabajos por lotes (
Crea y ejecuta una tarea que use un disco de arranque personalizado
Para especificar un disco de arranque personalizado cuando crees un trabajo, selecciona uno de los siguientes métodos:
Usar una plantilla de instancias de Compute Engine que especifique un disco de arranque personalizado preexistente Si deseas usar una plantilla de instancia de VM mientras creas este trabajo o usar un disco de arranque personalizado preexistente, completa los siguientes pasos:
Crea o identifica un disco de arranque personalizado.
Si quieres conocer los requisitos del disco de arranque para Batch, consulta este documento. y consulta la Descripción general del entorno del SO de la VM. Si necesitas instrucciones para crear un disco de arranque, consulta Crea un disco de arranque personalizado en la documentación de Compute Engine.
Crea o identifica una plantilla de instancias de VM que incluya este disco de arranque personalizado.
Si necesitas instrucciones para crear una plantilla de instancias de VM, consulta Crea plantillas de instancias en la documentación de Compute Engine.
Crea y ejecuta un trabajo que incluya esta plantilla de instancias de VM.
Para obtener instrucciones sobre cómo crear y ejecutar el trabajo, consulta Define recursos de trabajo mediante una plantilla de instancias de VM.
Usa el campo de disco de arranque para especificar un disco de arranque personalizado nuevo. Como se explica en las siguientes instrucciones, puedes definir un nuevo disco de arranque personalizado con el campo de disco de arranque (
bootDisk
) cuando creas y ejecutas un trabajo con el gcloud CLI o la API de Batch.Específicamente, puedes personalizar el disco de arranque mediante la configuración del Imagen de SO de VM (
image
), tipo de disco persistente (type
) o subcampos de tamaño (sizeGb
). El procesamiento por lotes establece un valor predeterminado para cualquiera de estos subcampos que decidas omitir.
gcloud
Crea un archivo JSON que especifique los detalles de configuración de tu trabajo. Si quieres especificar un nuevo disco de arranque personalizado para las VMs del trabajo, incluye el archivo Campo y subcampos de
bootDisk
.Por ejemplo, para crear un trabajo de secuencia de comandos básico que usa un nuevo arranque personalizado disco, crea un archivo JSON con el siguiente contenido:
{ "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" } }
Reemplaza lo siguiente:
VM_OS_IMAGE_URI
: Un nombre de recurso relativo de la imagen del SO de la VM. Usa una de las siguientes opciones:Especifica un prefijo de SO de Batch. Para usar la última de un SO de Batch específico, usa el con el siguiente formato:
BATCH_OS_PREFIX
Reemplaza
BATCH_OS_PREFIX
por uno de los Prefijos de imagen de SO de VM por lotes para ejemplo,batch-debian
es el prefijo para el SO Batch Debian.Especifica una familia de imágenes. Para usar la última imagen de un familia de imágenes específica, usa el siguiente formato:
projects/IMAGE_PROJECT_ID/global/images/family/IMAGE_FAMILY
Reemplaza lo siguiente:
IMAGE_PROJECT_ID
: el ID del proyecto del proyecto que contiene la imagen. Por ejemplo, para todos Imágenes por lotes, especificabatch-custom-image
.IMAGE_FAMILY
: Es la familia de imágenes, que incluye una o más imágenes específicas y representa el tipo y versión principal del SO. Por ejemplo, para ver todas las familias de imagen de SO de la VM de Batch, consulta una lista de imágenes de SO de la VM.
Especifica una versión de la imagen. Para usar una versión específica del SO de una VM utiliza el siguiente formato:
projects/IMAGE_PROJECT_ID/global/images/IMAGE_NAME
Reemplaza lo siguiente:
IMAGE_PROJECT_ID
: el ID del proyecto del proyecto que contiene la imagen. Por ejemplo, para todos Imágenes por lotes, especificabatch-custom-image
.IMAGE_NAME
: Es el nombre de la imagen, que representa una versión específica de una imagen de SO de VM. Por ejemplo, para ver todas las versiones de imagen de SO de la VM Batch, consulta una lista de imágenes de SO de la VM.
BOOT_DISK_TYPE
: el Tipo de disco del disco de arranque, ya seapd-standard
,pd-balanced
pd-ssd
opd-extreme
. El tipo de disco predeterminado para los discos de arranque espd-balanced
.BOOT_DISK_SIZE
: Es el tamaño de la un nuevo disco de arranque persistente en GB. Este valor debe cumplir con todos los requisitos de tamaño del disco de arranque.
Para crear el trabajo, ejecuta el siguiente comando: Comando
gcloud batch jobs submit
:gcloud batch jobs submit JOB_NAME \ --location LOCATION \ --config JSON_CONFIGURATION_FILE
Reemplaza lo siguiente:
JOB_NAME
: Es el nombre de este trabajo.LOCATION
: el location para este trabajo.JSON_CONFIGURATION_FILE
: Es la ruta de acceso a la Archivo JSON con los detalles de configuración del trabajo.
API
Para crear un trabajo con la API de Batch, usa el
Método jobs.create
y especifica los detalles de configuración de tu trabajo.
Para especificar la imagen de SO de la VM para el trabajo, incluye la
Campo y subcampos de bootDisk
.
Por ejemplo, para crear un trabajo de secuencia de comandos básico que usa un nuevo arranque personalizado
disco, realiza la siguiente solicitud POST
:
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"
}
}
Reemplaza lo siguiente:
VM_OS_IMAGE_URI
: Un nombre de recurso relativo de la imagen del SO de la VM. Usa una de las siguientes opciones:Especifica un prefijo de SO de Batch. Para usar la última de un SO de Batch específico, usa el con el siguiente formato:
BATCH_OS_PREFIX
Reemplaza
BATCH_OS_PREFIX
por uno de los Prefijos de imagen de SO de VM por lotes para ejemplo,batch-debian
es el prefijo para el SO Batch Debian.Especifica una familia de imágenes. Para usar la imagen más reciente de un de imágenes, usa el siguiente formato:
projects/IMAGE_PROJECT_ID/global/images/family/IMAGE_FAMILY
Reemplaza lo siguiente:
IMAGE_PROJECT_ID
: el ID del proyecto del proyecto que contiene la imagen. Por ejemplo, para todos Imágenes por lotes, especificabatch-custom-image
.IMAGE_FAMILY
: Es la familia de imágenes, que incluye una o más imágenes específicas y representa el tipo y versión principal del SO. Por ejemplo, para ver todas las familias de imágenes de SO de VM desde Batch, consulta una lista de imágenes de SO de VM.
Especifica una versión de la imagen. Para usar una versión específica del SO de una VM utiliza el siguiente formato:
projects/IMAGE_PROJECT_ID/global/images/IMAGE_NAME
Reemplaza lo siguiente:
IMAGE_PROJECT_ID
: el ID del proyecto del proyecto que contiene la imagen. Por ejemplo, para todos Imágenes por lotes, especificabatch-custom-image
.IMAGE_NAME
: Es el nombre de la imagen, que representa una versión específica de una imagen de SO de VM. Por ejemplo, para ver todas las versiones de la imagen del SO de la VM desde Batch, consulta una lista de imágenes del SO de la VM.
BOOT_DISK_TYPE
: el Tipo de disco del disco de arranque, ya seapd-standard
,pd-balanced
pd-ssd
opd-extreme
. El tipo de disco predeterminado para los discos de arranque espd-balanced
.BOOT_DISK_SIZE
: Es el tamaño del nuevo disco de arranque persistente en GB. Este valor debe cumplir con todos los requisitos de tamaño del disco de arranque.
¿Qué sigue?
- Si tienes problemas para crear o ejecutar un trabajo, consulta Solución de problemas.
- Obtén más información sobre los discos de arranque y las imágenes del SO de la VM.
- Obtén más información sobre cómo crear un trabajo.
- Obtén más información sobre cómo ver trabajos y tareas.