CLI-voorbeeld: een Linux-groep maken en beheren in Azure Batch
Dit script toont enkele van de opdrachten die in de Azure CLI beschikbaar zijn voor het maken en beheren van een groep Linux-rekenknooppunten in Azure Batch.
Als u geen Azure-abonnement hebt, kunt u een gratis Azure-account maken voordat u begint.
Vereisten
Gebruik de Bash-omgeving in Azure Cloud Shell. Zie quickstart voor Bash in Azure Cloud Shell voor meer informatie.
Installeer de Azure CLI, indien gewenst, om CLI-referentieopdrachten uit te voeren. Als u in Windows of macOS werkt, kunt u Azure CLI uitvoeren in een Docker-container. Zie De Azure CLI uitvoeren in een Docker-container voor meer informatie.
Als u een lokale installatie gebruikt, meldt u zich aan bij Azure CLI met behulp van de opdracht az login. Volg de stappen die worden weergegeven in de terminal, om het verificatieproces te voltooien. Raadpleeg Aanmelden bij Azure CLI voor aanvullende aanmeldingsopties.
Installeer de Azure CLI-extensie bij het eerste gebruik, wanneer u hierom wordt gevraagd. Raadpleeg Extensies gebruiken met Azure CLI voor meer informatie over extensies.
Voer az version uit om de geïnstalleerde versie en afhankelijke bibliotheken te vinden. Voer az upgrade uit om te upgraden naar de nieuwste versie.
Voorbeeldscript
Azure Cloud Shell starten
Azure Cloud Shell is een gratis interactieve shell waarmee u de stappen in dit artikel kunt uitvoeren. In deze shell zijn algemene Azure-hulpprogramma's vooraf geïnstalleerd en geconfigureerd voor gebruik met uw account.
Als u Cloud Shell wilt openen, selecteert u Proberen in de rechterbovenhoek van een codeblok. U kunt Cloud Shell ook openen in een afzonderlijk browsertabblad door naar https://shell.azure.com te gaan.
Wanneer Cloud Shell wordt geopend, controleert u of Bash is geselecteerd voor uw omgeving. Volgende sessies gebruiken Azure CLI in een Bash-omgeving, selecteer Kopiëren om de codeblokken te kopiëren, plak deze in Cloud Shell en druk op Enter om deze uit te voeren.
Aanmelden bij Azure
Cloud Shell wordt automatisch geverifieerd onder het eerste account waarmee is aangemeld. Gebruik het volgende script om u aan te melden met een ander abonnement, waarbij u <Subscription ID>
uw Azure-abonnements-id vervangt. Als u geen Azure-abonnement hebt, kunt u een gratis Azure-account maken voordat u begint.
subscription="<subscriptionId>" # add subscription here
az account set -s $subscription # ...or use 'az login'
Zie Voor meer informatie het instellen van een actief abonnement of het interactief aanmelden
Een Linux-pool maken in 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
Een batchknooppunt opnieuw opstarten
Als een bepaald knooppunt in de pool problemen ondervindt, kan het opnieuw worden opgestart of opnieuw worden gemaakt. De id van het knooppunt kan worden opgehaald met de bovenstaande lijstopdracht. Een typische knooppunt-id heeft de indeling tvm-xxxxxxxxxx_1-<timestamp>
.
az batch node reboot \
--pool-id mypool-linux \
--node-id tvm-123_1-20170316t000000z
Een batchknooppunt verwijderen
Een of meer rekenknooppunten kunnen worden verwijderd uit de pool en al toegewezen werk kan opnieuw worden toegewezen aan een ander knooppunt.
az batch node delete \
--pool-id mypool-linux \
--node-list tvm-123_1-20170316t000000z tvm-123_2-20170316t000000z \
--node-deallocation-option requeue
Resources opschonen
Gebruik de volgende opdracht om de resourcegroep en alle bijbehorende resources te verwijderen met behulp van de opdracht az group delete - tenzij u deze resources voortdurend nodig hebt. Het kan even duren voordat sommige van deze resources zijn gemaakt en dat deze kunnen worden verwijderd.
az group delete --name $resourceGroup
Voorbeeldverwijzing
In dit script worden de volgende opdrachten gebruikt. Elke opdracht in de tabel is een koppeling naar opdracht-specifieke documentatie.
Command | Aantekeningen |
---|---|
az group create | Hiermee wordt een resourcegroep gemaakt waarin alle resources worden opgeslagen. |
az batch account create | Hiermee wordt de Batch-account gemaakt. |
az batch account login | Hiermee wordt authenticatie uitgevoerd met het opgegeven Batch-account voor verdere interactie met de CLI. |
az batch pool node-agent-skus list | Hiermee maakt u een lijst met de beschikbare knooppuntagent-SKU's en Installatiekopiegegevens. |
az batch pool create | Hiermee wordt een groep rekenknooppunten gemaakt. |
az batch pool resize | Hiermee wordt het aantal actieve VM's in de opgegeven groep aangepast. |
az batch pool show | Hiermee worden de eigenschappen van een groep opgehaald. |
az batch node list | Hiermee wordt een lijst gemaakt van alle rekenknooppunten in de opgegeven groep. |
az batch node reboot | Hiermee wordt het opgegeven rekenknooppunt opnieuw opgestart. |
az batch node delete | Hiermee worden de vermelde knooppunten uit de opgegeven groep verwijderd. |
az group delete | Hiermee verwijdert u een resourcegroep met inbegrip van alle ingesloten resources. |
Volgende stappen
Raadpleeg de documentatie van Azure CLI voor meer informatie over de Azure CLI.