Öğretici: Azure CLI ile Sanal Makine Ölçek Kümesi oluşturma ve yönetme
Sanal Makine Ölçek Kümesi, bir sanal makine kümesi dağıtmanıza ve yönetmenize olanak tanır. Sanal Makine Ölçek Kümesinin yaşam döngüsü boyunca bir veya daha fazla yönetim görevi çalıştırmanız gerekebilir. Bu öğreticide şunların nasıl yapıldığını öğrenirsiniz:
- Kaynak grubu oluşturma
- Sanal Makine Ölçek Kümesi oluşturma
- Ölçek genişletme ve daraltma
- VM örneklerini durdurma, başlatma ve yeniden başlatma
Azure aboneliğiniz yoksa başlamadan önce birücretsiz Azure hesabı oluşturun.
Önkoşullar
Azure Cloud Shell'de Bash ortamını kullanın. Daha fazla bilgi için bkz . Azure Cloud Shell'de Bash için hızlı başlangıç.
CLI başvuru komutlarını yerel olarak çalıştırmayı tercih ediyorsanız Azure CLI'yı yükleyin . Windows veya macOS üzerinde çalışıyorsanız Azure CLI’yi bir Docker kapsayıcısında çalıştırmayı değerlendirin. Daha fazla bilgi için bkz . Docker kapsayıcısında Azure CLI'yi çalıştırma.
Yerel yükleme kullanıyorsanız az login komutunu kullanarak Azure CLI ile oturum açın. Kimlik doğrulama işlemini tamamlamak için terminalinizde görüntülenen adımları izleyin. Diğer oturum açma seçenekleri için bkz . Azure CLI ile oturum açma.
İstendiğinde, ilk kullanımda Azure CLI uzantısını yükleyin. Uzantılar hakkında daha fazla bilgi için bkz. Azure CLI ile uzantıları kullanma.
Yüklü sürümü ve bağımlı kitaplıkları bulmak için az version komutunu çalıştırın. En son sürüme yükseltmek için az upgrade komutunu çalıştırın.
Bu makale, Azure CLI'nın 2.0.29 veya sonraki bir sürümünü gerektirir. Azure Cloud Shell kullanılıyorsa en son sürüm zaten yüklüdür.
Kaynak grubu oluşturma
Azure kaynak grubu, Azure kaynaklarının dağıtıldığı ve yönetildiği bir mantıksal kapsayıcıdır. Sanal Makine Ölçek Kümesi'ne başlamadan önce bir kaynak grubu oluşturulmalıdır. az group create komutuyla bir kaynak grubu oluşturun. Bu örnekte, eastus bölgesinde myResourceGroup adlı bir kaynak grubu oluşturulur.
az group create --name myResourceGroup --location eastus
Bu öğreticide bir ölçek kümesi oluşturduğunuzda veya değiştirdiğinizde kaynak grubu adı belirtilir.
Ölçek kümesi oluşturma
Önemli
Kasım 2023'den itibaren, düzenleme modu belirtilmezse PowerShell ve Azure CLI kullanılarak oluşturulan VM ölçek kümeleri varsayılan olarak Esnek Düzenleme Modu olarak ayarlanır. Bu değişiklik ve gerçekleştirmeniz gereken eylemler hakkında daha fazla bilgi için BKZ. VMSS PowerShell/CLI Müşterileri için Yeni Değişiklik - Microsoft Community Hub
az vmss create komutuyla bir Sanal Makine Ölçek Kümesi oluşturursunuz . Aşağıdaki örnek myScaleSet adlı bir ölçek kümesi oluşturur ve yoksa SSH anahtarları oluşturur:
az vmss create \
--resource-group myResourceGroup \
--name myScaleSet \
--orchestration-mode flexible \
--image <SKU image> \
--admin-username azureuser \
--generate-ssh-keys
Tüm ölçek kümesi kaynaklarının ve sanal makine örneklerinin oluşturulup yapılandırılması birkaç dakika sürer. Her bir sanal makine örneklerine trafiği dağıtmak için bir yük dengeleyici de oluşturulur.
Ölçek kümenizdeki VM örnekleri hakkındaki bilgileri görüntüleme
Ölçek kümesindeki VM örneklerinin listesini görüntülemek için az vm list komutunu aşağıdaki gibi kullanın:
az vm list --resource-group myResourceGroup --output table
Aşağıdaki örnek çıktı, ölçek kümesindeki iki sanal makine örneğini göstermektedir:
Name ResourceGroup Location Zones
------------------- --------------- ---------- -------
myScaleSet_instance1 myResourceGroup eastus
myScaleSet_instance2 myResourceGroup eastus
Belirli bir VM örneği hakkında ek bilgi görmek için az vm show komutunu kullanın ve VM adını belirtin.
az vm show --resource-group myResourceGroup --name myScaleSet_instance1
{
"hardwareProfile": {
"vmSize": "Standard_DS1_v2",
},
"id": "/subscriptions/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myScaleSet_instance1",
"location": "eastus",
"name": "myScaleSet_instance1",
"networkProfile": {
"networkInterfaces": [
{
"deleteOption": "Delete",
"id": "/subscriptions/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/mysca2215Nic-0396c71c",
"primary": true,
"resourceGroup": "myResourceGroup"
}
]
},
"osProfile": {
"adminUsername": "azureuser",
"allowExtensionOperations": true,
"computerName": "myScaleSN30BP1",
"linuxConfiguration": {
"disablePasswordAuthentication": true,
"enableVmAgentPlatformUpdates": false,
"patchSettings": {
"assessmentMode": "ImageDefault",
"patchMode": "ImageDefault"
},
"provisionVmAgent": true,
"ssh": {
"publicKeys": [
{
"keyData": "ssh-rsa",
"path": "/home/azureuser/.ssh/authorized_keys"
}
]
}
},
"requireGuestProvisionSignal": true,
"secrets": [],
},
"provisioningState": "Succeeded",
"resourceGroup": "myResourceGroup",
"storageProfile": {
"dataDisks": [],
"imageReference": {
"exactVersion": "XXXXX",
"offer": "myOffer",
"publisher": "myPublisher",
"sku": "mySKU",
"version": "latest"
},
"osDisk": {
"caching": "ReadWrite",
"createOption": "FromImage",
"deleteOption": "Delete",
"diskSizeGb": 30,
"managedDisk": {
"id": "/subscriptions/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myScaleSet_instance1_disk1",
"resourceGroup": "myResourceGroup",
"storageAccountType": "Premium_LRS"
},
"name": "myScaleSet_instance1_disk1",
"osType": "Linux",
}
},
"tags": {},
"timeCreated": "2022-11-16T20:32:15.024581+00:00",
"type": "Microsoft.Compute/virtualMachines",
"virtualMachineScaleSet": {
"id": "/subscriptions/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myScaleSet",
"resourceGroup": "myResourceGroup"
},
}
Belirli bir sanal makine örneği boyutu ile ölçek kümesi oluşturma
Öğreticinin başında bir ölçek kümesi oluşturduğunuzda, sanal makine örnekleri için varsayılan bir Standard_D1_v2 sanal makine SKU’su sağlanmıştır. az vm list-sizes içindeki çıktıyı temel alarak farklı bir sanal makine örneği belirtebilirsiniz. Aşağıdaki örnek, Standard_F1 bir sanal makine örneği boyutu belirtmek için --vm-sku
parametresiyle bir ölçek kümesi oluşturur. Tüm ölçek kümesi kaynaklarının ve sanal makine örneklerinin oluşturulup yapılandırılması birkaç dakika süreceğinden, aşağıdaki ölçek kümesini dağıtmanız gerekmez:
az vmss create \
--resource-group myResourceGroup \
--name myScaleSet \
--orchestration-mode flexible \
--image <SKU image> \
--vm-sku Standard_F1 \
--admin-user azureuser \
--generate-ssh-keys
Ölçek kümesinin kapasitesini değiştirme
Öğreticinin başında bir ölçek kümesi oluşturduğunuzda varsayılan olarak iki sanal makine örneği dağıtılmıştı. Bir ölçek kümesiyle oluşturulan örnek sayısını değiştirmek için az vmss create ile --instance-count
parametresini belirtebilirsiniz. Mevcut ölçek kümenizdeki sanal makine örneği sayısını artırmak veya azaltmak için kapasiteyi el ile değiştirebilirsiniz. Ölçek kümesi, gerektiği sayıda sanal makine örneği oluşturur veya kaldırır ve sonra trafiği dağıtmak için yük dengeleyiciyi yapılandırır.
Ölçek kümesindeki sanal makine örneği sayısını elle artırmak veya azaltmak için az vmss scale komutunu kullanın. Aşağıdaki örnek, ölçek kümenizdeki sanal makine sayısını 3 olarak ayarlar:
az vmss scale \
--resource-group myResourceGroup \
--name myScaleSet \
--new-capacity 3
Ölçek kümenizin kapasitesini güncelleştirmek birkaç dakika sürer. Ölçek kümesinde bulunan örnek sayısını görmek için ilişkili kaynak grubunda az vm list ve query komutunu kullanın.
az vm list --resource-group myResourceGroup --output table
Name ResourceGroup Location Zones
------------------- --------------- ---------- -------
myScaleSet_instance1 myResourceGroup eastus
myScaleSet_instance2 myResourceGroup eastus
myScaleSet_instance3 myResourceGroup eastus
Bir ölçek kümesindeki sanal makine örneklerini durdurma ve serbest bırakma
Ölçek kümesindeki tüm VM örneklerini durdurmak için az vmss stop komutunu kullanın.
az vmss stop \
--resource-group myResourceGroup \
--name myScaleSet
Ölçek kümesindeki tek tek VM örneklerini durdurmak için az vm stop komutunu kullanın ve örnek adını belirtin.
az vm stop \
--resource-group myResourceGroup \
--name myScaleSet_instance1
Durdurulan sanal makine örnekleri ayrılmış şekilde kalır ve işlem ücretleri uygulanmaya devam eder. Bunun yerine VM örneklerinin serbest bırakılmasını ve yalnızca depolama ücretlerine tabi olmasını istiyorsanız az vm deallocate komutunu kullanın ve serbest bırakmak istediğiniz örnek adlarını belirtin.
az vm deallocate \
--resource-group myResourceGroup \
--name myScaleSet_instance1
Ölçek kümesindeki sanal makine örneklerini başlatma
Ölçek kümesindeki tüm VM örneklerini başlatmak için az vmss start komutunu kullanın.
az vmss start \
--resource-group myResourceGroup \
--name myScaleSet
Ölçek kümesinde tek tek VM örneklerini başlatmak için az vm start komutunu kullanın ve örnek adını belirtin.
az vm start \
--resource-group myResourceGroup \
--name myScaleSet_instance1
Ölçek kümesindeki sanal makine örneklerini yeniden başlatma
Ölçek kümesindeki tüm VM örneklerini yeniden başlatmak için az vmss restart komutunu kullanın.
az vmss restart \
--resource-group myResourceGroup \
--name myScaleSet
Ölçek kümesindeki tek tek VM örneklerini yeniden başlatmak için az vm restart komutunu kullanın ve örnek adını belirtin.
az vm restart \
--resource-group myResourceGroup \
--name myScaleSet_instance1
Kaynakları temizleme
Bir kaynak grubunu sildiğinizde, o kaynak grubunun içindeki sanal makine örnekleri, sanal ağ ve diskler gibi tüm kaynaklar da silinir. --no-wait
parametresi işlemin tamamlanmasını beklemeden denetimi komut istemine döndürür. parametresi, --yes
ek bir istem olmadan kaynakları silmek istediğinizi onaylar.
az group delete --name myResourceGroup --no-wait --yes
Sonraki adımlar
Bu öğreticide, Azure CLI ile bazı temel ölçek kümesi oluşturma ve yönetme görevlerinin nasıl gerçekleştirileceğini öğrendiniz:
- Kaynak grubu oluşturma
- Ölçek kümesi oluşturma
- Belirli VM boyutlarını görüntüleme ve kullanma
- Ölçek kümesini el ile ölçeklendirme
- Ölçek kümenizi durdurma, başlatma ve yeniden başlatma gibi yaygın ölçek kümesi yönetim görevlerini gerçekleştirme
Ölçek kümesi örneklerinize bağlanmayı öğrenmek için sonraki öğreticiye ilerleyin.