Início Rápido: usar a CLI do Azure para criar uma conta do Lote e executar um trabalho
Artigo
Este início rápido mostra como começar a usar o Lote do Azure usando comandos e scripts da CLI do Azure para criar e gerenciar recursos do Lote. Você cria uma conta do Lote que tenha um pool de máquinas virtuais ou nós de computação. Em seguida, você cria e executa um trabalho com tarefas executadas nos nós do pool.
Depois de concluir este guia de início rápido, você entenderá os principais conceitos do serviço Lote e estará pronto para experimentá-lo com cargas de trabalho mais realistas em maior escala.
As etapas desse início rápido executam os comandos da CLI do Azure interativamente no Azure Cloud Shell. Para executar os comandos no Cloud Shell, selecione Abrir o CloudShell no canto superior direito de um bloco de código. Selecione Copiar para copiar o código e colá-lo no Cloud Shell para executá-lo. Você também pode executar o Cloud Shell no portal do Azure. O Azure Cloud Shell sempre usa a última versão da CLI do Azure.
Você também pode instalar a CLI do Azure localmente para executar os comandos. As etapas desse artigo exigem a CLI do Azure versão 2.0.20 ou posterior. Execute az version para localizar a versão instalada e as bibliotecas dependentes e execute az upgrade para atualizar. Se você usar uma instalação local, acesse o Azure usando o comando az login.
Observação
Para algumas regiões e tipos de assinatura, as restrições de cota podem fazer com que a criação da conta ou do nó do Lote falhe ou não seja concluída. Nessa situação, você pode solicitar um aumento de cota sem custo. Para saber mais, confira Limites e cotas do serviço de Lote.
Criar um grupo de recursos
Execute o comando az group create a seguir para criar um grupo de recursos do Azure chamado qsBatch na região eastus2 do Azure. O grupo de recursos é um contêiner lógico que contém os recursos do Azure para este início rápido.
az group create \
--name qsBatch \
--location eastus2
Criar uma conta de armazenamento
Use o comando az storage account create para criar uma conta de Armazenamento do Azure para vincular à sua conta do Lote. Embora este início rápido não use a conta de armazenamento, a maioria das cargas de trabalho do Lote num cenário de vida real usa uma conta de armazenamento vinculada para implantar aplicativos e armazenar dados de entrada e saída.
Execute o seguinte comando para criar uma conta de armazenamento de SKU Standard_LRS chamada mybatchstorage em seu grupo de recursos:
Execute o comando az batch account create a seguir para criar uma conta do Lote chamada mybatchaccount em seu grupo de recursos e vinculá-la à conta de armazenamento mybatchstorage.
Entre na nova conta do Lote executando o comando az batch account login . Depois de autenticar sua conta com o Lote, os comandos az batch subsequentes nesta sessão usam esse contexto de conta.
Execute o comando az batch pool create para criar um pool de nós de computação do Linux em sua conta do Lote. O exemplo a seguir cria um pool chamado myPool com duas VMs de tamanho Standard_A1_v2 executando o sistema operacional Ubuntu 20.04 LTS. O tamanho de nó sugerido oferece um bom equilíbrio entre desempenho e custo para este exemplo de início rápido.
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-nodes 2 \
--vm-size Standard_A1_v2
O Lote cria o pool imediatamente, mas leva alguns minutos para alocar e iniciar os nós de computação. Para ver o status do pool, execute o comando az batch pool show. Este comando mostra todas as propriedades do pool, e você pode consultar propriedades específicas. A comando a seguir faz uma consulta sobre o estado de alocação do pool:
az batch pool show --pool-id myPool \
--query "allocationState"
Enquanto o Lote aloca e inicia os nós, o pool está no estado resizing. Você pode criar um trabalho e tarefas enquanto o estado do pool for ainda de resizing. O pool está pronto para executar tarefas quando o estado de alocação é steady e todos os nós estão sendo executados.
Criar um trabalho
Use o comando az batch job create para criar um trabalho do Lote para ser executado no seu pool. Um Trabalho em lotes é um grupo lógico de uma ou mais tarefas. O trabalho inclui configurações comuns às tarefas, como o pool onde elas devem ser executadas. O exemplo a seguir cria um trabalho chamado myJob em myPool que inicialmente não tem tarefas.
az batch job create \
--id myJob \
--pool-id myPool
Criar tarefas de trabalho
O Lote fornece várias maneiras para implantar aplicativos e scripts em nós de computação. Use o comando az batch task create para criar algumas tarefas e executar o trabalho. Cada tarefa tem uma linha de comando que especifica um aplicativo ou script.
O script Bash a seguir cria quatro tarefas paralelas idênticas chamadas myTask1 até myTask4. Cada tarefa executa uma linha de comando para exibir as variáveis de ambiente do Lote em um nó de computação e, em seguida, aguarda 90 segundos.
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
A saída do comando mostra as configurações para cada uma das tarefas. O Lote distribui as tarefas para os nós de computação.
Exibir status da tarefa
Depois de criar uma tarefa, o Lote a enfileira para ser executada no pool. Depois que um nó estiver disponível, a tarefa será executada no nó.
Use o comando az batch task show para exibir o status das tarefas do Lote. A imagem de exemplo a seguir mostra detalhes sobre o status da myTask1:
az batch task show \
--job-id myJob \
--task-id myTask1
A saída do comando inclui muitos detalhes. Por exemplo, um exitCode de 0 indica que a linha de comando da tarefa foi concluída com êxito. O nodeId mostra o nome do nó do pool que executou a tarefa.
Exibir saída da tarefa
Use o comando az batch task file list para listar os arquivos que uma tarefa criou em um nó. O comando abaixo lista os arquivos criados por myTask1:
az batch task file list \
--job-id myJob \
--task-id myTask1 \
--output table
Você pode exibir o conteúdo de um arquivo de saída padrão em um editor de texto. O exemplo a seguir mostra um arquivo stdout.txt típico. A saída padrão dessa tarefa mostra as variáveis de ambiente do Lote do Azure definidas no nó. Você pode consultar essas variáveis de ambiente em suas linhas de comando da tarefa de um trabalho do Lote e, nos aplicativos e scripts, as linhas de comando são executadas.
Se você quiser continuar com os exemplos e tutoriais do Lote, você pode continuar a usar a conta do Lote e a conta de armazenamento vinculada criada neste guia de início rápido. Não há nenhuma cobrança pela conta do Lote em si.
Pools e nós incorrem em custos enquanto os nós estão em execução, mesmo que não estejam executando trabalhos. Quando você não precisar mais um pool, exclua-o com o comando az batch pool delete. Excluir um pool exclui todas as saídas de tarefa nos nós e os nós em si.
az batch pool delete --pool-id myPool
Quando você não precisar mais de nenhum dos recursos criados para este início rápido, poderá usar o comando az group delete para excluir o grupo de recursos e todos os seus recursos. Para excluir o grupo de recursos e a conta de armazenamento, a conta do Lote, os pools de nós e todos os recursos relacionados, execute o seguinte comando:
az group delete --name qsBatch
Próximas etapas
Neste início rápido, você criou uma conta e um pool do Lote, criou e executou um trabalho e tarefas do Lote e exibiu a saída da tarefa dos nós. Agora que você conhece os conceitos principais do serviço do Lote, está pronto para usá-lo com cargas de trabalho mais realistas em maior escala. Para saber mais sobre o Lote do Azure, prossiga para os tutoriais do Lote do Azure.
Saiba mais sobre os recursos do Lote do Azure projetados para ajudar você a executar com eficiência aplicativos de computação de alto desempenho, em larga escala e paralelos na nuvem.