Crea y ejecuta un trabajo que use discos de arranque personalizados

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

Crea y ejecuta un trabajo 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 quieres usar una plantilla de instancias de VM mientras creas este trabajo o usar una un disco de arranque personalizado preexistente, completa los siguientes pasos:

    1. 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.

    2. 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.

    3. 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 nuevo disco de arranque personalizado. 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 la VM (image), tipo de disco persistente (type) o subcampos de tamaño (sizeGb). Batch establece un valor predeterminado para cualquiera de estos subcampos que que elijas omitir.

gcloud

  1. 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 utiliza 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 de SO de la VM. Usa una de las siguientes opciones:

      • Especifica un prefijo de SO de Batch. Para usar la versión más reciente de un SO de Batch específico, usa el con el siguiente formato:

        BATCH_OS_PREFIX
        

        Reemplaza BATCH_OS_PREFIX por uno de los siguientes elementos: 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, especifica batch-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, especifica batch-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 sea pd-standard, pd-balanced pd-ssd o pd-extreme. El tipo de disco predeterminado para los discos de arranque es pd-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.

  2. 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 utiliza 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 de SO de la VM. Usa una de las siguientes opciones:

    • Especifica un prefijo de SO de Batch. Para usar la versión más reciente de un SO de Batch específico, usa el con el siguiente formato:

      BATCH_OS_PREFIX
      

      Reemplaza BATCH_OS_PREFIX por uno de los siguientes elementos: 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, especifica batch-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, especifica batch-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 sea pd-standard, pd-balanced pd-ssd o pd-extreme. El tipo de disco predeterminado para los discos de arranque es pd-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.

¿Qué sigue?