Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Este script demonstra alguns dos comandos disponíveis na CLI do Azure para criar e gerir um pool de nós de computação do Linux no Batch do Azure.
Se não tiver uma conta do Azure, crie uma conta gratuita antes de começar.
Pré-requisitos
Use o ambiente Bash no Azure Cloud Shell. Para obter mais informações, consulte Introdução ao Azure Cloud Shell.
Se preferir executar comandos de referência da CLI localmente, instale a CLI do Azure. Se estiver a utilizar o Windows ou macOS, considere executar a CLI do Azure num contentor Docker. Para obter mais informações, consulte Como executar a CLI do Azure em um contêiner do Docker.
Se estiver a utilizar uma instalação local, inicie sessão no CLI do Azure ao utilizar o comando az login. Para concluir o processo de autenticação, siga os passos apresentados no seu terminal. Para outras opções de entrada, consulte Autenticar no Azure usando a CLI do Azure.
Quando solicitado, instale a extensão da CLI do Azure na primeira utilização. Para obter mais informações sobre extensões, consulte Usar e gerenciar extensões com a CLI do Azure.
Execute o comando az version para localizar a versão e as bibliotecas dependentes instaladas. Para atualizar para a versão mais recente, execute o comando az upgrade.
Script de exemplo
Iniciar o Azure Cloud Shell
O Azure Cloud Shell é um shell interativo gratuito que pode utilizar para executar os passos neste artigo. Tem as ferramentas comuns do Azure pré-instaladas e configuradas para utilização com a sua conta.
Para abrir o Cloud Shell, basta selecionar Experimentar no canto superior direito de um bloco de código. Também pode iniciar o Cloud Shell num separador do browser separado ao aceder a https://shell.azure.com.
Quando o Cloud Shell abrir, verifique se Bash está selecionado para o seu ambiente. As sessões subsequentes usarão a CLI do Azure em um ambiente Bash, selecione Copiar para copiar os blocos de código, cole-o no Cloud Shell e pressione Enter para executá-lo.
Iniciar sessão no Azure
Cloud Shell é autenticado automaticamente na conta inicial com a qual fez o login. Use o script a seguir para entrar usando uma assinatura diferente, substituindo subscriptionId pela sua ID de assinatura do Azure.
Se não tiver uma conta do Azure, crie uma conta gratuita antes de começar.
subscription="subscriptionId" # Set Azure subscription ID here
az account set -s $subscription # ...or use 'az login'
Para obter mais informações, consulte definir assinatura ativa ou fazer login interativamente.
Para criar um pool Linux no Azure Batch
# Create and manage a Linux pool in Azure Batch
# Variable block
let "randomIdentifier=$RANDOM*$RANDOM"
location="East US"
[[ "$RESOURCE_GROUP" == '' ]] && resourceGroup="msdocs-batch-rg-$randomIdentifier" || resourceGroup="${RESOURCE_GROUP}"
tag="manage-pool-linux"
batchAccount="msdocsbatch$randomIdentifier"
# Create a resource group.
echo "Creating $resourceGroup in "$location"..."
az group create --name $resourceGroup --location "$location" --tag $tag
# Create a Batch account.
echo "Creating $batchAccount"
az batch account create --resource-group $resourceGroup --name $batchAccount --location "$location"
# Authenticate Batch account CLI session.
az batch account login --resource-group $resourceGroup --name $batchAccount --shared-key-auth
# Retrieve a list of available images and node agent SKUs.
az batch pool supported-images list --query "[?contains(imageReference.offer,'ubuntuserver') && imageReference.publisher == 'canonical'].{Offer:imageReference.offer, Publisher:imageReference.publisher, Sku:imageReference.sku, nodeAgentSkuId:nodeAgentSkuId}[-1]" --output tsv
# Create a new Linux pool with a virtual machine configuration. The image reference
# and node agent SKUs ID can be selected from the ouptputs of the above list command.
# The image reference is in the format: {publisher}:{offer}:{sku}:{version} where {version} is
# optional and defaults to 'latest'."
az batch pool create --id mypool-linux --vm-size Standard_A1 --image canonical:ubuntuserver:18_04-lts-gen2 --node-agent-sku-id "batch.node.ubuntu 18.04"
# Resize the pool to start some VMs.
az batch pool resize --pool-id mypool-linux --target-dedicated 5
# Check the status of the pool to see when it has finished resizing.
az batch pool show --pool-id mypool-linux
# List the compute nodes running in a pool.
az batch node list --pool-id mypool-linux
# returns [] if no compute nodes are running
Para reinicializar um nó em lote
Se um nó específico no pool estiver a ter problemas, ele poderá ser reiniciado ou reimaginado. O ID do nó pode ser recuperado com o comando "list" acima mencionado. Um identificador de nó típico está no formato tvm-xxxxxxxxxx_1-<timestamp>.
az batch node reboot \
--pool-id mypool-linux \
--node-id tvm-123_1-20170316t000000z
Para excluir um nó de lote
Um ou mais nós de computação podem ser excluídos do pool e qualquer trabalho já atribuído a ele pode ser realocado para outro nó.
az batch node delete \
--pool-id mypool-linux \
--node-list tvm-123_1-20170316t000000z tvm-123_2-20170316t000000z \
--node-deallocation-option requeue
Limpar recursos
Use o comando a seguir para remover o grupo de recursos e todos os recursos associados a ele usando o comando az group delete - a menos que você tenha uma necessidade contínua desses recursos. Alguns desses recursos podem demorar um pouco para criar, bem como para excluir.
az group delete --name $resourceGroup
Referência de exemplo
Este script utiliza os seguintes comandos. Cada comando na tabela liga à documentação específica do comando.
| Comando | Notas |
|---|---|
| az group create (comando para criar um grupo no Microsoft Azure) | Cria um grupo de recursos no qual todos os recursos são armazenados. |
| az batch account create (comando para criar uma conta batch no Azure) | Cria a conta Batch. |
| Para aceder à conta de batch, utilize o comando az batch account login. | Autentica na conta do Batch especificada para mais interações com a CLI. |
| az batch pool node-agent-skus list (listar skus de agentes de nó do batch pool) | Lista os SKUs do agente de nó e as informações da imagem disponíveis. |
| az batch pool criar | Cria um conjunto de nós de computação. |
| Redimensionamento do pool de lotes AZ | Redimensiona o número de VMs em execução no conjunto especificado. |
| AZ Batch Pool Show | Apresenta as propriedades de um pool. |
| Lista de nós de lote AZ | Lista todos os nós de computação no conjunto especificado. |
| az batch node reboot (reiniciar nó do lote az) | Reinicia o nó de computação especificado. |
| AZ Batch Node Delete | Elimina os nós listados da pool especificada. |
| az group delete - comando para eliminar um grupo. | Elimina um grupo de recursos, incluindo todos os recursos aninhados. |
Próximos passos
Para obter mais informações sobre a CLI do Azure, veja Documentação da CLI do Azure.