En esta página, se describe cómo personalizar los discos persistentes que se usan para iniciar cada instancia de máquina virtual (VM) en la que se ejecuta un trabajo.
Específicamente, puedes personalizar el tamaño, el tipo o la 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.
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 antes usaste Batch, consulta Cómo comenzar a usar Batch y habilita Batch completando los requisitos previos para proyectos y usuarios.
-
Para obtener los permisos que necesitas para crear un trabajo, pídele a tu administrador que te otorgue 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
Especifica un disco de arranque personalizado cuando crees un trabajo seleccionando uno de los siguientes métodos:
Usa una plantilla de instancias de Compute Engine que especifique un disco de inicio 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.
Para conocer los requisitos del disco 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 Crea un disco de arranque personalizado en 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 Crea plantillas de instancias en la documentación de Compute Engine.
Crea y ejecuta una tarea que incluya esta plantilla de instancia de VM.
Para obtener instrucciones sobre cómo crear y ejecutar la tarea, consulta Cómo definir recursos de tareas 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 con el campo de disco de arranque (
bootDisk
) cuando creas y ejecutas un trabajo con la gcloud CLI o la API de Batch.Específicamente, puedes personalizar el disco de arranque configurando los subcampos de la imagen del SO de la VM (
image
), el tipo de disco persistente (type
) o el 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. Para especificar un nuevo disco de inicio personalizado para las VMs del trabajo, incluye el campo y los subcampos
bootDisk
.Por ejemplo, para crear una tarea de secuencia de comandos básica que use un nuevo disco de inicio personalizado, 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 de 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 lote específico, usa el siguiente formato:
BATCH_OS_PREFIX
Reemplaza
BATCH_OS_PREFIX
por uno de los prefijos de imagen de SO de la 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
Reemplaza lo siguiente:
IMAGE_PROJECT_ID
: Es el ID del proyecto que contiene la imagen. Por ejemplo, para todas las imágenes de 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 la versión principal del SO. Por ejemplo, para ver todas las familias de imagen de SO de VM desde Batch, consulta una lista de imágenes de SO de VM.
Especifica una versión de imagen. Para usar una versión específica de una imagen del SO de una VM, usa el siguiente formato:
projects/IMAGE_PROJECT_ID/global/images/IMAGE_NAME
Reemplaza lo siguiente:
IMAGE_PROJECT_ID
: Es el ID del proyecto que contiene la imagen. Por ejemplo, para todas las imágenes de lotes, especificabatch-custom-image
.IMAGE_NAME
: El nombre de la imagen, que representa una versión específica de una imagen de SO de la VM. Por ejemplo, para ver todas las versiones de la imagen de SO de la VM desde Batch, consulta una lista de imágenes del SO de la VM.
BOOT_DISK_TYPE
: Es 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.
Para crear el trabajo, ejecuta el siguiente 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
: La ubicación de este trabajo.JSON_CONFIGURATION_FILE
: Es la ruta de acceso al archivo JSON con los detalles de configuración de la tarea.
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 la tarea, incluye el campo y los subcampos bootDisk
.
Por ejemplo, para crear un trabajo de secuencia de comandos básico que use un nuevo disco de inicio personalizado, 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 de 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 lote específico, usa el siguiente formato:
BATCH_OS_PREFIX
Reemplaza
BATCH_OS_PREFIX
por uno de los prefijos de imagen de SO de la 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
Reemplaza lo siguiente:
IMAGE_PROJECT_ID
: Es el ID del proyecto que contiene la imagen. Por ejemplo, para todas las imágenes de 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 la versión principal del SO. Por ejemplo, para ver todas las familias de imagen de SO de VM desde Batch, consulta una lista de imágenes de SO de VM.
Especifica una versión de imagen. Para usar una versión específica de una imagen del SO de la VM, usa el siguiente formato:
projects/IMAGE_PROJECT_ID/global/images/IMAGE_NAME
Reemplaza lo siguiente:
IMAGE_PROJECT_ID
: Es el ID del proyecto que contiene la imagen. Por ejemplo, para todas las imágenes de lotes, especificabatch-custom-image
.IMAGE_NAME
: El nombre de la imagen, que representa una versión específica de una imagen de SO de la VM. Por ejemplo, para ver todas las versiones de la imagen de SO de la VM desde Batch, consulta una lista de imágenes del SO de la VM.
BOOT_DISK_TYPE
: Es 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 una tarea, 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 para crear un trabajo.
- Obtén más información para ver trabajos y tareas.