En esta página se describe cómo personalizar los discos persistentes que se usan para arrancar cada instancia de máquina virtual (VM) en la que se ejecuta un trabajo.
En concreto, puedes personalizar el tamaño, el tipo o la imagen del sistema operativo de la máquina virtual de un disco de arranque. Si solo quieres personalizar la imagen del SO de la VM, consulta Especificar la imagen del SO de la VM para un trabajo.
Para obtener más información sobre los discos de arranque y cuándo configurarlos, consulta la descripción general del entorno del SO de la VM.
Antes de empezar
- Si no has usado Batch antes, consulta el artículo Empezar a usar Batch y habilita Batch completando los requisitos previos para proyectos y usuarios.
-
Para obtener los permisos que necesitas para crear un trabajo, pide a tu administrador que te conceda los siguientes roles de gestión de identidades y accesos:
-
Editor de trabajos por lotes (
roles/batch.jobsEditor
) en el proyecto -
Usuario de 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 conceder roles, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones.
También puedes conseguir los permisos necesarios a través de roles personalizados u otros roles predefinidos.
-
Editor de trabajos por lotes (
Crear y ejecutar un trabajo que use un disco de arranque personalizado
Especifica un disco de arranque personalizado al crear un trabajo seleccionando uno de los siguientes métodos:
Usa una plantilla de instancia de Compute Engine que especifique un disco de arranque personalizado ya creado. Si quieres usar una plantilla de instancia de VM al crear este trabajo o usar un disco de arranque personalizado preexistente, sigue estos pasos:
Crea o identifica un disco de arranque personalizado.
Para consultar los requisitos de los discos de arranque de Batch, consulta este documento y la descripción general del entorno del SO de la VM. Para obtener instrucciones sobre cómo crear un disco de arranque, consulta el artículo Crear un disco de arranque personalizado de la documentación de Compute Engine.
Crea o identifica una plantilla de instancia de VM que incluya este disco de arranque personalizado.
Para obtener instrucciones sobre cómo crear una plantilla de instancia de VM, consulta el artículo Crear plantillas de instancia de la documentación de Compute Engine.
Crea y ejecuta un trabajo que incluya esta plantilla de instancia de VM.
Para obtener instrucciones sobre cómo crear y ejecutar el trabajo, consulta Definir recursos de trabajos con una plantilla de instancia 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 mediante el campo de disco de arranque (
bootDisk
) al crear y ejecutar un trabajo con la CLI de gcloud o la API Batch.En concreto, puedes personalizar el disco de arranque configurando los subcampos imagen del SO de la VM (
image
), tipo de disco persistente (type
) o tamaño (sizeGb
). Batch asigna un valor predeterminado a cualquiera de estos subcampos que decidas omitir.
gcloud
Crea un archivo JSON que especifique los detalles de configuración del trabajo. Para especificar un nuevo disco de arranque personalizado para las VMs del trabajo, incluya el campo
bootDisk
y los subcampos.Por ejemplo, para crear un trabajo de secuencia de comandos básico que utilice un disco de arranque personalizado nuevo, 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" } }
Haz los cambios siguientes:
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 por lotes. Para usar la imagen más reciente de un SO de Batch específico, usa el siguiente formato:
BATCH_OS_PREFIX
Sustituye
BATCH_OS_PREFIX
por uno de los prefijos de imagen de SO de VM por lotes. Por ejemplo,batch-debian
es el prefijo del SO Debian por lotes.Especifica una familia de imágenes. Para usar la imagen más reciente de una familia de imágenes específica, utiliza el siguiente formato:
projects/IMAGE_PROJECT_ID/global/images/family/IMAGE_FAMILY
Haz los cambios siguientes:
IMAGE_PROJECT_ID
: el ID del proyecto del proyecto que contiene la imagen. Por ejemplo, para todas las imágenes de Batch, especificabatch-custom-image
.IMAGE_FAMILY
: la familia de imágenes, que incluye una o varias imágenes específicas y representa el tipo y la versión principal del SO. Por ejemplo, para ver todas las familias de imágenes de SO de máquinas virtuales de Batch, consulta la lista de imágenes de SO de máquinas virtuales.
Especifica una versión de la imagen. Para usar una versión específica de una imagen del SO de una VM, utiliza el siguiente formato:
projects/IMAGE_PROJECT_ID/global/images/IMAGE_NAME
Haz los cambios siguientes:
IMAGE_PROJECT_ID
: el ID del proyecto del proyecto que contiene la imagen. Por ejemplo, para todas las imágenes de Batch, especificabatch-custom-image
.IMAGE_NAME
: el nombre de la imagen, que representa una versión específica de una imagen del SO de una VM. Por ejemplo, para ver todas las versiones de la imagen del SO de la máquina virtual de Batch, consulta la lista de imágenes del SO de la máquina virtual.
BOOT_DISK_TYPE
: el tipo de disco del disco de arranque, que puede serpd-standard
,pd-balanced
,pd-ssd
opd-extreme
. El tipo de disco predeterminado para los discos de arranque espd-balanced
.BOOT_DISK_SIZE
: tamaño del nuevo disco de arranque persistente en GB. Este valor debe cumplir todos los requisitos de tamaño del disco de arranque.
Para crear el trabajo, ejecuta el siguiente
gcloud batch jobs submit
comando:gcloud batch jobs submit JOB_NAME \ --location LOCATION \ --config JSON_CONFIGURATION_FILE
Haz los cambios siguientes:
JOB_NAME
: el nombre de este trabajo.LOCATION
: la ubicación de este trabajo.JSON_CONFIGURATION_FILE
: la ruta al archivo JSON con los detalles de configuración del trabajo.
API
Para crear un trabajo con la API Batch, usa el método jobs.create
y especifica los detalles de configuración del trabajo.
Para especificar la imagen del SO de la VM del trabajo, incluye el campo bootDisk
y los subcampos.
Por ejemplo, para crear un trabajo de secuencia de comandos básico que use un disco de arranque personalizado nuevo, haz 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"
}
}
Haz los cambios siguientes:
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 por lotes. Para usar la imagen más reciente de un SO de Batch específico, usa el siguiente formato:
BATCH_OS_PREFIX
Sustituye
BATCH_OS_PREFIX
por uno de los prefijos de imagen de SO de VM por lotes. Por ejemplo,batch-debian
es el prefijo del SO Debian por lotes.Especifica una familia de imágenes. Para usar la imagen más reciente de una familia de imágenes específica, usa el siguiente formato:
projects/IMAGE_PROJECT_ID/global/images/family/IMAGE_FAMILY
Haz los cambios siguientes:
IMAGE_PROJECT_ID
: el ID del proyecto del proyecto que contiene la imagen. Por ejemplo, para todas las imágenes de Batch, especificabatch-custom-image
.IMAGE_FAMILY
: la familia de imágenes, que incluye una o varias imágenes específicas y representa el tipo y la versión principal del SO. Por ejemplo, para ver todas las familias de imágenes de SO de máquinas virtuales de Batch, consulta la lista de imágenes de SO de máquinas virtuales.
Especifica una versión de la imagen. Para usar una versión específica de una imagen del SO de una VM, utiliza el siguiente formato:
projects/IMAGE_PROJECT_ID/global/images/IMAGE_NAME
Haz los cambios siguientes:
IMAGE_PROJECT_ID
: el ID del proyecto del proyecto que contiene la imagen. Por ejemplo, para todas las imágenes de Batch, especificabatch-custom-image
.IMAGE_NAME
: el nombre de la imagen, que representa una versión específica de una imagen del SO de una VM. Por ejemplo, para ver todas las versiones de la imagen del SO de la máquina virtual de Batch, consulta la lista de imágenes del SO de la máquina virtual.
BOOT_DISK_TYPE
: el tipo de disco del disco de arranque, que puede serpd-standard
,pd-balanced
,pd-ssd
opd-extreme
. El tipo de disco predeterminado para los discos de arranque espd-balanced
.BOOT_DISK_SIZE
: tamaño del nuevo disco de arranque persistente en GB. Este valor debe cumplir todos los requisitos de tamaño del disco de arranque.
Siguientes pasos
- Si tienes problemas para crear o ejecutar un trabajo, consulta la sección Solución de problemas.
- Consulta más información sobre los discos de arranque y las imágenes del SO de las VMs.
- Más información sobre cómo crear un trabajo
- Consulta cómo ver trabajos y tareas.