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.
Ö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:
- Microsoft.Network/virtualNetworks
- Microsoft.Network/publicIPAddresses
- Microsoft.Network/loadBalancers
- Microsoft.Compute/virtualMachineScaleSets
- Microsoft.Insights/autoscaleSettings
Ö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.
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:
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.