Aracılığıyla paylaş


Öğ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:

  • Bir kaynak grubu oluşturun
  • Sanal Makine Ölçek Kümesi Oluştur
  • Ölçek artırımı ve azaltımı
  • VM örneklerini durdurma, başlatma ve yeniden başlatma

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

Önkoşullar

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.

Bir kaynak grubu oluşturun

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 oluşturulmadan ö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 öğretici boyunca 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 VMSS PowerShell/CLI Müşterileri için Kritik Değişiklik - Microsoft Community Hub'a gidin.

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 VM örneklerinin oluşturulması ve yapılandırılması birkaç dakika sürer. Trafiği tek tek VM örneklerine 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ümesinde iki VM örneğini gösterir:

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 VM örneği boyutuyla ölçek kümesi oluşturma

Eğitimin başlangıcında bir ölçek kümesi oluşturduğunuzda, VM örnekleri için varsayılan Standard_D1_v2 VM SKU'su sağlanmıştır. az vm list-sizes çıkışına göre farklı bir VM örneği boyutu belirtebilirsiniz. Aşağıdaki örnek, --vm-sku vm örneği boyutunu belirtmek için parametresiyle bir ölçek kümesi oluşturur. Tüm ölçek kümesi kaynaklarının ve VM örneklerinin oluşturulması ve yapılandırılması birkaç dakika sürdüğünden 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 VM örneği dağıtıldı. Ölçek kümesiyle oluşturulan örneklerin --instance-count sayısını değiştirmek için az vmss create parametresini belirtebilirsiniz. Mevcut ölçek kümenizdeki VM örneği sayısını artırmak veya azaltmak için kapasiteyi el ile değiştirebilirsiniz. Ölçek kümesi gerekli sayıda VM örneği oluşturur veya kaldırır, ardından yük dengeleyiciyi trafiği dağıtacak şekilde yapılandırılır.

Ölçek kümesindeki VM örneği sayısını el ile artırmak veya azaltmak için az vmss scale komutunu kullanın. Aşağıdaki örnek, ölçek kümenizdeki VM örneklerinin 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

Ölçek kümesindeki VM ö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

Durdurulmuş VM örnekleri ayrılmış olarak kalır ve hesaplama ücretleri tahsil edilmeye 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ümesinde VM ö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 VM ö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ı temizle

Bir kaynak grubunu sildiğinizde vm örnekleri, sanal ağ ve diskler gibi içinde bulunan 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önetim görevlerini gerçekleştirmeyi öğrendiniz:

  • Bir kaynak grubu oluşturun
  • Ö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 derse geçin.