Sdílet prostřednictvím


Příklad CLI: Vytvoření a správa Linuxového poolu v Azure Batch

Tento skript demonstruje některé z příkazů dostupných v Azure CLI pro vytvoření a správu fondu výpočetních uzlů Linuxu v Azure Batch.

Pokud nemáte účet Azure, vytvořte si bezplatný účet před tím, než začnete.

Požadavky

Ukázkový scénář

Spustit Azure Cloud Shell

Azure Cloud Shell je bezplatná interaktivní shell, kterou můžete použít k provádění kroků v tomto článku. Má předinstalované a nakonfigurované běžné nástroje Azure pro použití s vaším účtem.

Chcete-li otevřít Cloud Shell, jednoduše zvolte Vyzkoušet z pravého horního rohu kódového bloku. Také můžete spustit Cloud Shell na samostatné kartě prohlížeče tím, že přejdete na https://shell.azure.com.

Až se otevře Cloud Shell, ověřte, že je pro vaše prostředí vybrán Bash. Následující sezení budou používat Azure CLI v prostředí Bash. Vyberte Kopírovat pro zkopírování bloků kódu, vložte je do Cloud Shell a stiskněte Enter pro spuštění.

Přihlásit se do Azure

Cloud Shell je automaticky ověřeno pod počátečním přihlášeným účtem. Pomocí následujícího skriptu se přihlaste pomocí jiného předplatného a nahraďte id předplatného Azure.

Pokud nemáte účet Azure, vytvořte si bezplatný účet před tím, než začnete.

subscription="subscriptionId" # Set Azure subscription ID here

az account set -s $subscription # ...or use 'az login'

Pro více informací si přečtěte nastavení aktivního předplatného nebo přihlášení interaktivně.

Vytvoření fondu Linuxu ve službě 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

Restartování dávkového uzlu

Pokud má konkrétní uzel v poolu problémy, můžete ho restartovat nebo přeinstalovat. ID uzlu lze načíst pomocí příkazu list výše. Typické ID uzlu je ve formátu tvm-xxxxxxxxxx_1-<timestamp>.

az batch node reboot \
    --pool-id mypool-linux \
    --node-id tvm-123_1-20170316t000000z

Chcete-li odstranit dávkový uzel

Jeden nebo více výpočetních uzlů je možné z fondu odstranit a veškerou práci, která už je k němu přiřazená, se dá znovu přidělit jinému uzlu.

az batch node delete \
    --pool-id mypool-linux \
    --node-list tvm-123_1-20170316t000000z tvm-123_2-20170316t000000z \
    --node-deallocation-option requeue

Vyčistěte zdroje

Pomocí následujícího příkazu odeberte skupinu prostředků a všechny prostředky přidružené k ní pomocí příkazu az group delete – pokud tyto prostředky nepotřebujete. Některé z těchto zdrojů mohou trvat déle, než budou vytvořeny, stejně jako než budou smazány.

az group delete --name $resourceGroup

Referenční ukázka

Tento skript používá následující příkazy. Každý příkaz v tabulce odkazuje na příslušnou část dokumentace.

Příkaz Poznámky
Příkaz az group create slouží k vytvoření skupiny v Azure. Vytváří skupinu prostředků, ve které jsou uloženy všechny prostředky.
az batch account create Vytvoří účet Batch.
az batch account login (přihlášení k dávkovému účtu AZ) Ověřuje proti specifikovanému Batch účtu pro další interakci pomocí CLI.
az batch pool node-agent-skus list Uvádí dostupné varianty agentů uzlů (SKU) a informace o obrázcích.
az batch pool create - příkaz k vytvoření množiny dávek Vytvoří fond výpočetních uzlů.
az změna velikosti dávkového fondu Upraví velikost počtu spuštěných virtuálních počítačů ve specifikovaném fondu.
az batch pool show Zobrazuje vlastnosti fondu.
az batch node list Uvádí všechny výpočetní uzly ve specifikovaném poolu.
az batch node reboot Restartuje zadaný výpočetní uzel.
az batch node delete – příkaz pro odstranění uzlu vsázky Odstraní uvedené uzly ze specifikovaného fondu.
az group delete (smazat skupinu) Odstraní skupinu zdrojů včetně všech vnořených zdrojů.

Další kroky

Další informace o Azure CLI najdete v dokumentaci k Azure CLI.