Hızlı Başlangıç: Azure CLI ile Sanal Makine Ölçek Kümesi Oluşturma

Şunlar için geçerlidir: ✔️ Linux VM'leri ✔️ Windows VM'leri ✔️ Tekdüzen ölçek kümeleri

Not

Aşağıdaki makale Tekdüzen Sanal Makine Ölçek Kümeleri içindir. Yeni iş yükleri için Esnek Sanal Makine Ölçek Kümeleri kullanmanızı öneririz. Esnek Sanal Makine Ölçek Kümeleri genel bakış bilgilerimizde bu yeni düzenleme modu hakkında daha fazla bilgi edinin.

Sanal Makine Ölçek Kümesi, bir dizi otomatik ölçeklendirme sanal makinesini dağıtmanıza ve yönetmenize olanak tanır. Ölçek kümesi içindeki sanal makine sayısını el ile ölçeklendirebilir veya CPU, bellek talebi ya da ağ trafiği gibi kaynak kullanımını temel alan otomatik ölçeklendirme kuralları tanımlayabilirsiniz. Azure Load Balancer daha sonra ölçek kümesindeki sanal makine örneklerine trafiği dağıtır. Bu hızlı başlangıçta bir Sanal Makine Ölçek Kümesi oluşturacak ve Azure CLI ile örnek bir uygulama dağıtacaksınız.

Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir Azure hesabı 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.

Ölçek kümesi oluşturma

Ölçek kümesi oluşturabilmek için az group create ile bir kaynak grubu oluşturun. Aşağıdaki örnek eastus konumunda myResourceGroup adlı bir kaynak grubu oluşturur:

az group create --name myResourceGroup --location eastus

Şimdi az vmss create ile bir Sanal Makine Ölçek Kümesi oluşturun. Aşağıdaki örnek, değişiklikler uygulandıkça otomatik güncelleştirilecek şekilde ayarlanan myScaleSet adlı bir ölçek kümesi oluşturur ve ~/.ssh/id_rsa içinde yoksa SSH anahtarları oluşturur. Sanal makine örneklerinde oturum açmanız gerekirse bu SSH anahtarları kullanılır. Mevcut bir SSH anahtarı kümesini kullanmak için, --ssh-key-value parametresini kullanın ve anahtarlarınızın konumunu belirtin.

az vmss create \
  --resource-group myResourceGroup \
  --name myScaleSet \
  --image UbuntuLTS \
  --upgrade-policy-mode automatic \
  --admin-username azureuser \
  --generate-ssh-keys

Tüm ölçek kümesi kaynaklarının ve VM'lerin oluşturulup yapılandırılması birkaç dakika sürer.

Örnek uygulama dağıtma

Ölçek kümenizi test etmek için temel web uygulaması yükleyin. Sanal makine örneklerine uygulama yükleyen bir betik indirip çalıştırmak için Azure Özel Betik Uzantısı kullanılır. Bu uzantı dağıtım sonrası yapılandırma, yazılım yükleme veya diğer yapılandırma/yönetim görevleri için kullanışlıdır. Daha fazla bilgi için bkz. Özel Betik Uzantısı'na genel bakış.

Temel bir NGINX web sunucusu yüklemek için Özel Betik Uzantısı kullanın. az vmss extension set ile NGINX yükleyen Özel Betik Uzantısı'nı aşağıdaki şekilde uygulayın:

az vmss extension set \
  --publisher Microsoft.Azure.Extensions \
  --version 2.0 \
  --name CustomScript \
  --resource-group myResourceGroup \
  --vmss-name myScaleSet \
  --settings '{"fileUris":["https://raw.githubusercontent.com/Azure-Samples/compute-automation-configurations/master/automate_nginx.sh"],"commandToExecute":"./automate_nginx.sh"}'

Uygulamaya giden trafiğe izin verme

Ölçek kümesi oluşturulduğunda otomatik olarak bir Azure yük dengeleyici dağıtılmıştır. Yük dengeleyici, ölçek kümesindeki sanal makine örneklerine trafiği dağıtır. Trafiğin örnek web uygulamasına ulaşmasına izin vermek için az network lb rule create ile bir yük dengeleyici kuralı oluşturun. Aşağıdaki örnek myLoadBalancerRuleWeb adlı bir kural oluşturur:

az network lb rule create \
  --resource-group myResourceGroup \
  --name myLoadBalancerRuleWeb \
  --lb-name myScaleSetLB \
  --backend-pool-name myScaleSetLBBEPool \
  --backend-port 80 \
  --frontend-ip-name loadBalancerFrontEnd \
  --frontend-port 80 \
  --protocol tcp

Ölçek kümenizi test etme

Ölçek kümenizi çalışır halde görmek için bir web tarayıcısında örnek web uygulamasına erişin. az network public-ip show komutuyla yük dengeleyicinizin genel IP adresini alın. Aşağıdaki örnek ölçek kümesinin bir parçası olarak oluşturulan myScaleSetLBPublicIP için IP adresini alır:

az network public-ip show \
  --resource-group myResourceGroup \
  --name myScaleSetLBPublicIP \
  --query '[ipAddress]' \
  --output tsv

Yük dengeleyicinin genel IP adresini bir web tarayıcısına girin. Aşağıdaki örnekte gösterildiği gibi yük dengeleyici trafiği VM örneklerinizden birine dağıtır:

NGINX varsayılan web sayfası

Kaynakları temizleme

Artık gerekli değilse, aşağıdaki gibi az group delete komutunu kullanarak kaynak grubunu, ölçek kümesini tüm ilgili kaynakları kaldırabilirsiniz. --no-wait parametresi işlemin tamamlanmasını beklemeden denetimi komut istemine döndürür. --yes parametresi kaynakları ek bir komut istemi olmadan silmek istediğinizi onaylar.

az group delete --name myResourceGroup --yes --no-wait

Sonraki adımlar

Bu hızlı başlangıçta basit bir ölçek kümesi oluşturdunuz ve Özel Betik Uzantısı'nı kullanarak VM örneklerine temel bir NGINX web sunucusu yüklediniz. Daha fazla bilgi edinmek için Azure Sanal Makine Ölçek Kümeleri oluşturma ve yönetme öğreticisine geçin.