Hızlı Başlangıç: ARM şablonuyla Linux Sanal Makine Ölçek Kümesi oluşturma

Şunlar için geçerlidir: ✔️ Linux 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 Resource Manager şablonu (ARM şablonu) ile örnek bir uygulama dağıtacaksınız.

Azure Resource Manager şablonu, projenizin altyapısını ve yapılandırmasını tanımlayan bir JavaScript Nesne Gösterimi (JSON) dosyasıdır. Bu şablonda, bildirim temelli sözdizimi kullanılır. Dağıtımı oluşturmak için programlama komutlarının sırasını yazmadan hedeflenen dağıtımınızı açıklarsınız.

ARM şablonları, ilgili kaynak gruplarını dağıtmanıza olanak sağlar. Tek bir şablonda Sanal Makine Ölçek Kümesi oluşturabilir, uygulamaları yükleyebilir ve otomatik ölçeklendirme kurallarını yapılandırabilirsiniz. Değişkenleri ve parametreleri kullanarak bu şablonu var olan ölçek kümelerini güncelleştirme veya yenilerini oluşturma amacıyla tekrar kullanabilirsiniz. Şablonları Azure portalı, Azure CLI veya Azure PowerShell aracılığıyla ya da sürekli tümleştirme/sürekli teslim (CI/CD) işlem hatlarından dağıtabilirsiniz.

Ortamınız önkoşulları karşılıyorsa ve ARM şablonlarını kullanma hakkında bilginiz varsa, Azure’a dağıtma düğmesini seçin. Şablon Azure portalda açılır.

Resource Manager şablonunu Azure'a dağıtma düğmesi.

Önkoşullar

Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.

Şablonu gözden geçirme

Bu hızlı başlangıçta kullanılan şablon Azure Hızlı Başlangıç Şablonlarından alınmıştır.

Bu kaynaklar şablonda tanımlanır:

Ölçek kümesi tanımlama

Şablonla ölçek kümesi oluşturmak için gerekli kaynakları tanımlamanız gerekir. Sanal Makine Ölçek Kümesi kaynak türünün temel bölümleri şunlardır:

Özellik Özellik açıklaması Örnek şablon değeri
Tür Oluşturulacak Azure kaynağı türü Microsoft.Compute/virtualMachineScaleSets
Adı Ölçek kümesi adı myScaleSet
konum Ölçek kümesinin oluşturulacağı konum Doğu ABD
sku.name Her bir ölçek kümesi örneği için VM boyutu Standard_A1
sku.capacity Başlangıçta oluşturulacak VM örneği sayısı 2
upgradePolicy.mode Değişiklik yapıldığında kullanılacak VM örneği yükseltme modu Otomatik
imageReference VM örnekleri için kullanılacak platform veya özel görüntü Canonical Ubuntu Server 16.04-LTS
osProfile.computerNamePrefix Her bir VM örneği için ad ön eki myvmss
osProfile.adminUsername Her bir VM örneği için kullanıcı adı azureuser
osProfile.adminPassword Her bir VM örneği için parola P@ssw0rd!

Ölçek kümesi şablonunu özelleştirmek için VM boyutunu veya ilk kapasiteyi değiştirebilirsiniz. Başka bir seçenek de farklı bir platform veya özel görüntü kullanmaktır.

Örnek uygulama ekleme

Ölçek kümenizi test etmek için temel web uygulaması yükleyin. Bir ölçek kümesini dağıttığınızda VM uzantıları uygulama yükleme gibi dağıtım sonrası yapılandırma ve otomasyon görevlerini gerçekleştirebilir. Betikler Azure depolama veya GitHub konumlarından indirilebilir ya da Azure portalına uzantı çalışma zamanında iletilebilir. Ölçek kümenize uzantı uygulamak için önceki kaynak örneğine extensionProfile bölümünü eklemeniz gerekir. Uzantı profili temelde aşağıdaki özellikleri tanımlar:

  • Uzantı türü
  • Uzantı yayımcısı
  • Uzantı sürümü
  • Yapılandırma veya yükleme betiklerinin konumu
  • VM örneklerinde yürütülecek komutlar

Şablon, Özel Betik Uzantısı'nı kullanarak Bottle, python web çerçevesi ve basit bir HTTP sunucusu yükler.

İki betik fileUris - installserver.sh ve workserver.py içinde tanımlanmıştır. Bu dosyalar GitHub'dan indirilir, ardından uygulamayı yüklemek ve yapılandırmak için commandToExecute çalıştırılır bash installserver.sh .

Şablonu dağıtma

Aşağıdaki Azure'a Dağıt düğmesini seçerek şablonu dağıtabilirsiniz. Bu düğme Azure portalını açar, şablonun tamamını yükler ve ölçek kümesi adı, örnek sayısı ve yönetici kimlik bilgileri gibi birkaç parametreyi sorar.

Resource Manager şablonunu Azure'a dağıtma düğmesi.

Azure CLI kullanarak resource manager şablonu da dağıtabilirsiniz:

# Create a resource group
az group create --name myResourceGroup --location EastUS

# Deploy template into resource group
az deployment group create \
    --resource-group myResourceGroup \
    --template-uri https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/application-workloads/python/vmss-bottle-autoscale/azuredeploy.json

VM örnekleri için ölçek kümesi adı, örnek sayısı ve yönetici kimlik bilgileri istemlerini yanıtlayın. Ölçek kümesinin ve yardımcı kaynakların oluşturulması birkaç dakika sürer.

Dağıtımı doğrulama

Ölçek kümenizi çalışır halde görmek için bir web tarayıcısında örnek web uygulamasına erişin. Aşağıdaki adımları uygulayarak az network public-ip list ile yük dengeleyicisinin genel IP adresini alın:

az network public-ip list \
    --resource-group myResourceGroup \
    --query [*].ipAddress -o tsv

Yük dengeleyicinin genel IP adresini bir web tarayıcısına şu biçimde girin: http://publicIpAddress:9000/do_work. 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, ARM şablonuyla bir Linux ölçek kümesi oluşturdunuz ve VM örneklerine temel bir Python web sunucusu yüklemek için Özel Betik Uzantısı'nı kullandınız. Daha fazla bilgi edinmek için Azure Sanal Makine Ölçek Kümeleri oluşturma ve yönetme öğreticisine geçin.