Inicio rápido: Uso de la CLI de Azure para crear una cuenta de Batch y ejecutar un trabajo
Article
En este inicio rápido se muestra cómo empezar a trabajar con Azure Batch mediante comandos y scripts de la CLI de Azure para crear y administrar recursos de Batch. Cree una cuenta de Batch que tenga un grupo de máquinas virtuales o nodos de ejecución. A continuación, creará y ejecutará un trabajo con tareas que se ejecutan en los nodos del grupo.
Tras completar este inicio rápido, comprenderá los conceptos clave del servicio Batch y estará listo para usar dicho servicio con cargas de trabajo más realistas y a mayor escala.
Puede ejecutar los comandos de la CLI de Azure en este inicio rápido de forma interactiva en Azure Cloud Shell. Para ejecutar los comandos en Cloud Shell, seleccione Abrir CloudShell en la esquina superior derecha de un bloque de código. Seleccione Copiar para copiar el código y péguelo en Cloud Shell para ejecutarlo. También podrá ejecutar Cloud Shell desde Azure Portal. Cloud Shell siempre usa la versión más reciente de la CLI de Azure.
De forma alternativa, puede instalar la CLI de Azure localmente para ejecutar los comandos. Los pasos de este artículo requieren la CLI de Azure, versión 2.0.20 o posterior. Ejecute az version para ver la versión instalada y las bibliotecas dependientes, y ejecute az upgrade para actualizar. Si usa una instalación local, inicie sesión en Azure mediante el comando az login.
Nota
En algunas regiones y tipos de suscripción, las restricciones de cuota pueden provocar un error en la creación de cuentas o nodos de Batch o que no se completen. En esta situación, puede solicitar un aumento de cuota sin cargo alguno. Para más información, consulte Límites y cuotas del servicio Batch.
Crear un grupo de recursos
Ejecute el siguiente comando az group create para crear un grupo de recursos de Azure denominado qsBatch en la región de Azure eastus2. El grupo de recursos es un contenedor lógico que contiene los recursos de Azure para este inicio rápido.
Azure CLI
az group create \
--name qsBatch \
--location eastus2
Crear una cuenta de almacenamiento
Puede utilizar el comando az storage account create para crear una cuenta de Azure Storage para vincularse a la cuenta de Batch. Aunque este inicio rápido no usa la cuenta de almacenamiento, la mayoría de las cargas de trabajo de Batch del mundo real usan una cuenta de almacenamiento vinculada para implementar aplicaciones y almacenar datos de entrada y salida.
Ejecute el siguiente comando para crear una cuenta de almacenamiento de SKU de Standard_LRS denominada mybatchstorage en el grupo de recursos:
Ejecute el siguiente comando az batch account create para crear una cuenta de Batch denominada mybatchaccount en el grupo de recursos y vincularla con la mybatchstorage cuenta de almacenamiento.
Inicie sesión en la nueva cuenta de Batch mediante la ejecución del comando az batch account login. Una vez autenticada la cuenta con Batch, los comandos az batch posteriores de esta sesión usan este contexto de cuenta.
Ejecute el comando az batch pool create para crear un grupo de nodos de ejecución de Linux en la cuenta de Batch. En el ejemplo siguiente se crea un grupo denominado myPool de dos nodos Standard_A1_v2 que ejecutan Ubuntu 20.04 LTS. El tamaño del nodo ofrece un buen equilibrio entre rendimiento y costo para este ejemplo de inicio rápido.
Azure CLI
az batch pool create \
--id myPool \
--image canonical:0001-com-ubuntu-server-focal:20_04-lts \
--node-agent-sku-id"batch.node.ubuntu 20.04" \
--target-dedicated-nodes2 \
--vm-size Standard_A1_v2
Batch crea el grupo inmediatamente, pero tarda unos minutos en asignar e iniciar los nodos de ejecución. Para ver el estado del grupo, use el comando az batch pool show. Este comando muestra todas las propiedades del grupo y puede consultar propiedades concretas. El comando siguiente consulta el estado de asignación del grupo:
Azure CLI
az batch pool show --pool-id myPool \
--query"allocationState"
Mientras Batch asigna e inicia los nodos, el grupo está en estado resizing. Puede crear un trabajo y tareas mientras el estado del grupo aún es resizing. El grupo está listo para ejecutar tareas cuando el estado de asignación es steady y todos los nodos están en ejecución.
Creación de un trabajo
Use el comando az batch job create para crear un trabajo de Batch que se ejecute en el grupo. Un trabajo de Batch es un grupo lógico de una o varias tareas. El trabajo incluye configuraciones comunes a las tareas, como el grupo en el que se ejecuta. En el ejemplo siguiente se crea un trabajo llamado myJob en myPool que inicialmente no tiene ninguna tarea.
Azure CLI
az batch job create \
--id myJob \
--pool-id myPool
Creación de tareas de trabajo
Batch proporciona varias formas de implementar aplicaciones y scripts en nodos de proceso. Use el comando az batch task create para crear tareas que se ejecutarán en el trabajo. Cada tarea tiene una línea de comandos que especifica una aplicación o script.
El siguiente script de Bash crea cuatro tareas paralelas idénticas llamadas myTask1 a través de myTask4. La línea de comandos de la tarea muestra las variables de entorno de Batch en el nodo de ejecución y, a continuación, espera 90 segundos.
Azure CLI
for i in {1..4}
do
az batch task create \
--task-id myTask$i \
--job-id myJob \
--command-line"/bin/bash -c 'printenv | grep AZ_BATCH; sleep 90s'"
done
La salida del comando muestra la configuración de cada tarea. Batch distribuye las tareas a los nodos de proceso.
Visualización del estado de la tarea
Después de crear la tarea, Batch pone en cola la tarea para ejecutarla en el grupo. Una vez que un nodo está disponible, la tarea se ejecuta en el nodo.
Use el comando az batch task show para ver el estado de las tareas de Batch. El siguiente ejemplo muestra detalles sobre el estado de myTask1:
Azure CLI
az batch task show \
--job-id myJob \
--task-id myTask1
La salida del comando incluye muchos detalles. Por ejemplo, un valor exitCode de 0, indica que la línea de comandos de la tarea se completó correctamente. El nodeId muestra el nombre del nodo de grupo que ejecutó la tarea.
Visualización de la salida de la tarea
Use el comando az batch task file list para enumerar los archivos creados en un nodo. El siguiente comando enumera los archivos myTask1 creados:
Azure CLI
az batch task file list \
--job-id myJob \
--task-id myTask1 \
--output table
Los resultados son similares a la salida siguiente:
El comando az batch task file download descarga los archivos de salida en un directorio local. Ejecute el ejemplo siguiente para descargar el archivo stdout.txt:
Puede ver el contenido del archivo de salida estándar en un editor de texto. En el ejemplo siguiente se muestra un archivo stdout.txt típico. La salida estándar de esta tarea muestra las variables de entorno de Azure Batch que se establecen en el nodo. Puede hacer referencia a estas variables de entorno en las líneas de comandos de la tarea de trabajo Batch y en las aplicaciones y scripts que ejecutan las líneas de comandos.
Si desea continuar con los ejemplos y tutoriales de Batch, puede usar la cuenta de Batch y la cuenta de almacenamiento vinculada que se ha creado en este inicio rápido. No se realizan cargos por la cuenta de Batch en sí.
Los grupos y nodos incurren en cargos mientras se ejecutan los nodos, incluso si no ejecutan trabajos. Cuando deje de necesitar alguno de los grupos, use el comando az batch pool delete para eliminarlo. Al eliminar un grupo, se eliminan todas las tareas de salida sobre los nodos y los propios nodos.
Azure CLI
az batch pool delete --pool-id myPool
Cuando ya no necesite ninguno de los recursos que creó para esta guía de inicio rápido, puede usar el comando az group delete para eliminar el grupo de recursos y todos sus recursos. Para eliminar el grupo de recursos y la cuenta de almacenamiento, la cuenta de Batch, los grupos de nodos y todos los recursos relacionados, ejecute el siguiente comando:
Azure CLI
az group delete --name qsBatch
Pasos siguientes
En este inicio rápido, ha creado una cuenta y un grupo de Batch, ha creado y ejecutado un trabajo y tareas de Batch, y ha visto la salida de la tarea de los nodos. Ahora que conoce los conceptos clave del servicio Batch, ya esta listo para usar Batch con cargas de trabajo más realistas y a mayor escala. Para más información acerca de Azure Batch, continúe con los tutoriales de Azure Batch.
Obtenga información sobre las funcionalidades de Azure Batch diseñadas para ayudarle a ejecutar de forma eficaz aplicaciones informáticas paralelas y de alto rendimiento a gran escala en la nube.