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