CLI örneği: Azure Batch'te Windows havuzu oluşturma ve yönetme

Bu betik, Azure Batch'te Bir Windows işlem düğümü havuzu oluşturmak ve yönetmek için Azure CLI'da kullanılabilen bazı komutları gösterir. Windows havuzu, Cloud Services yapılandırması veya Sanal Makine yapılandırmasıyla iki şekilde yapılandırılabilir. Bu örnekte, Cloud Services yapılandırmasıyla bir Windows havuzunun nasıl oluşturulacağı gösterilmektedir.

Azure hesabınız yoksa, başlamadan önce ücretsiz hesap oluşturun.

Önkoşullar

Örnek senaryo

Azure Cloud Shell'i başlatma

Azure Cloud Shell, bu makaledeki adımları çalıştırmak için kullanabileceğiniz ücretsiz bir etkileşimli shell'dir. Sık kullanılan Azure araçları önceden yüklenmiş ve hesabınızla kullanılacak şekilde yapılandırılmıştır.

Cloud Shell'i açmak için, bir kod bloğunun sağ üst köşesindeki Deneyin seçeneğini seçin. Cloud Shell'i ayrı bir tarayıcı sekmesinde başlatmak için https://shell.azure.com adresine gidebilirsiniz.

Cloud Shell açıldığında ortamınız için Bash'in seçili olduğunu doğrulayın. Gelecek oturumlar, Azure CLI'yi bir Bash ortamında kullanacaktır. Kod bloklarını kopyalamak için Kopyala seçeneğine tıklayın, Cloud Shell'e yapıştırın ve çalıştırmak için Enter tuşuna basın.

Azure'a Giriş Yap

Cloud Shell'de oturum açılan ilk hesapta otomatik olarak kimlik doğrulaması yapılır. Farklı bir abonelik kullanarak oturum açmak için aşağıdaki betiği kullanın ve subscriptionId kısmını Azure abonelik kimliğinizle değiştirin.

Azure hesabınız yoksa, başlamadan önce ücretsiz hesap oluşturun.

subscription="subscriptionId" # Set Azure subscription ID here

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

Daha fazla bilgi için etkin abonelik ayarlama veya etkileşimli oturum açma konularına bakın.

Script'i çalıştırın

# Create and manage a Windows 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-windows"
storageAccount="msdocsstorage$randomIdentifier"
batchAccount="msdocsbatch$randomIdentifier"

# Create a resource group.
echo "Creating $resourceGroup in "$location"..."
az group create --name $resourceGroup --location "$location" --tag $tag

# Create a general-purpose storage account in your resource group.
echo "Creating $storageAccount"
az storage account create --resource-group $resourceGroup --name $storageAccount --location "$location" --sku Standard_LRS

# Create a Batch account.
echo "Creating $batchAccount"
az batch account create --name $batchAccount --storage-account $storageAccount --resource-group $resourceGroup --location "$location"

# Authenticate Batch account CLI session.
az batch account login --resource-group $resourceGroup --name $batchAccount --shared-key-auth

# Create a new Windows cloud service platform pool with 3 Standard A1 VMs.
# The pool has a start task that runs a basic shell command. Typically a 
# start task copies application files to the pool nodes.
az batch pool create --id mypool-windows --os-family 4 --target-dedicated 3 --vm-size small --start-task-command-line "cmd /c dir /s" --start-task-wait-for-success 
    
# --application-package-references myapp    
# You can specify an application package reference when the pool is created or you can add it later.
# https://docs.microsoft.com/azure/batch/batch-application-packages.

# Add some metadata to the pool.
az batch pool set --pool-id mypool-windows --metadata IsWindows=true VMSize=StandardA1

# Change the pool to enable automatic scaling of compute nodes.
# This autoscale formula specifies that the number of nodes should be adjusted according
# to the number of active tasks, up to a maximum of 10 compute nodes.
az batch pool autoscale enable --pool-id mypool-windows --auto-scale-formula '$averageActiveTaskCount = avg($ActiveTasks.GetSample(TimeInterval_Minute * 15));$TargetDedicated = min(10, $averageActiveTaskCount);'

# Monitor the resizing of the pool.
az batch pool show --pool-id mypool-windows

# Disable autoscaling when we no longer require the pool to automatically scale.
az batch pool autoscale disable --pool-id mypool-windows

Kaynakları temizle

Bu kaynaklara sürekli ihtiyaç duymadığınız sürece az group delete komutunu kullanarak kaynak grubunu ve onunla ilişkili tüm kaynakları kaldırmak için aşağıdaki komutu kullanın. Bu kaynaklardan bazılarının oluşturulması ve silinmesi biraz zaman alabilir.

az group delete --name $resourceGroup

Örnek referans

Bu komut dosyası, aşağıdaki komutları kullanır. Tablodaki her bir komut, komuta özgü belgelere bağlantılar sunar.

Komut Notlar
az group create komutu bir grup oluşturmak için kullanılır. Tüm kaynakların depolandığı bir kaynak grubu oluşturur.
az batch account create komutunu kullanın Batch hesabını oluşturur.
az batch account login (Azure Batch hesabına giriş komutu) Daha fazla CLI etkileşimi için belirtilen Batch hesabına karşı kimlik doğrulaması yapar.
az batch pool create komutu, bir toplu iş grubu oluşturur. İşlem düğümleri havuzu oluşturur.
az batch pool set Bir havuzun özelliklerini güncelleştirir.
az toplu havuz otomatik ölçeklendirme etkinleştir Havuz üzerinde otomatik ölçeklendirmeyi etkinleştirir ve bir formül uygular.
az batch pool show - (havuz detaylarını göster) Havuzun özelliklerini görüntüler.
az batch havuzu otomatik ölçeklendirmeyi kapat Havuzda otomatik ölçeklendirmeyi devre dışı bırakır.
az grubunu sil Bir kaynak grubunu, içindeki tüm yerleşik kaynaklarla birlikte siler.

Sonraki Adımlar

Azure CLI hakkında daha fazla bilgi için Azure CLI belgelerine bakın.