Uygulamanızı Sanal Makine Ölçek Kümeleri'da dağıtma

Not

Bu belge, Tekdüzen Düzenleme modunda çalışan Sanal Makine Ölçek Kümeleri kapsar. Yeni iş yükleri için Esnek Düzenleme'nin kullanılmasını öneririz. Daha fazla bilgi için bkz. Azure'da Sanal Makine Ölçek Kümeleri için düzenleme modları.

Bir ölçek kümesindeki sanal makine (VM) örneklerinde uygulamaları çalıştırmak için önce uygulama bileşenlerini ve gerekli dosyaları yüklemeniz gerekir. Bu makalede, ölçek kümesindeki örnekler için özel bir VM görüntüsü oluşturmanın veya mevcut VM örneklerinde yükleme betiklerini otomatik olarak çalıştırmanın yolları tanıtılır. Ayrıca bir ölçek kümesi genelinde uygulama veya işletim sistemi güncelleştirmelerini yönetmeyi de öğrenirsiniz.

Özel VM görüntüsü oluşturma

Ölçek kümenizdeki örnekleri oluşturmak için Azure platformu görüntülerinden birini kullandığınızda, ek yazılım yüklenmez veya yapılandırılmaz. Bu bileşenlerin yüklenmesini otomatikleştirebilirsiniz ancak bu, ölçek kümelerinize VM örnekleri sağlamak için gereken süreyi de ekler. VM örneklerine birçok yapılandırma değişikliği uygularsanız, bu yapılandırma betikleri ve görevleriyle ilgili yönetim yükü vardır.

Yapılandırma yönetimini ve vm sağlama süresini azaltmak için, ölçek kümesinde bir örnek sağlanır sağlanmaz uygulamanızı çalıştırmaya hazır özel bir VM görüntüsü oluşturabilirsiniz. Ölçek kümesiyle özel vm görüntüsü oluşturma ve kullanma hakkında daha fazla bilgi için aşağıdaki öğreticilere bakın:

Özel Betik Uzantısı ile uygulama yükleme

Özel Betik Uzantısı, Azure VM’lerinde betik indirir ve yürütü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. Betikler Azure depolama veya GitHub konumlarından indirilebilir ya da Azure portalına uzantı çalışma zamanında iletilebilir. Özel Betik Uzantısı ile uygulama yükleme hakkında daha fazla bilgi için aşağıdaki öğreticilere bakın:

PowerShell DSC ile Windows VM'ye uygulama yükleme

PowerShell İstenen Durum Yapılandırması (DSC), hedef makinelerin yapılandırmasını tanımlayan bir yönetim platformudur. DSC yapılandırmaları bir makineye ne yükleneceğini ve konağın nasıl yapılandırılacağını tanımlar. Yerel Configuration Manager (LCM) altyapısı, gönderilen yapılandırmaları temel alarak istenen eylemleri işleyen her hedef düğümde çalışır.

PowerShell DSC uzantısı, PowerShell ile bir ölçek kümesindeki VM örneklerini özelleştirmenize olanak tanır. Aşağıdaki örnek:

DSC uzantısı, myResourceGroup adlı kaynak grubundaki myScaleSet VM örneklerine uygulanır. Kendi adlarınızı aşağıdaki gibi girin:

# Define the script for your Desired Configuration to download and run
$dscConfig = @{
  "wmfVersion" = "latest";
  "configuration" = @{
    "url" = "https://github.com/Azure-Samples/compute-automation-configurations/raw/master/dsc.zip";
    "script" = "configure-http.ps1";
    "function" = "WebsiteTest";
  };
}

# Get information about the scale set
$vmss = Get-AzVmss `
                -ResourceGroupName "myResourceGroup" `
                -VMScaleSetName "myScaleSet"

# Add the Desired State Configuration extension to install IIS and configure basic website
$vmss = Add-AzVmssExtension `
    -VirtualMachineScaleSet $vmss `
    -Publisher Microsoft.Powershell `
    -Type DSC `
    -TypeHandlerVersion 2.24 `
    -Name "DSC" `
    -Setting $dscConfig

# Update the scale set and apply the Desired State Configuration extension to the VM instances
Update-AzVmss `
    -ResourceGroupName "myResourceGroup" `
    -Name "myScaleSet"  `
    -VirtualMachineScaleSet $vmss

Ölçek kümenizdeki yükseltme ilkesi el ileyse, VM örneklerinizi Update-AzVmssInstance ile güncelleştirin. Bu cmdlet, güncelleştirilmiş ölçek kümesi yapılandırmasını VM örneklerine uygular ve uygulamanızı yükler.

Cloud-init ile Linux VM'ye uygulama yükleme

Cloud-init, Linux VM’sini ilk kez önyüklendiğinde özelleştirmeyi sağlayan, sık kullanılan bir yaklaşımdır. cloud-init’i paket yükleme, dosyalara yazma ve kullanıcılar ile güvenliği yapılandırma işlemleri için kullanabilirsiniz. cloud-init önyükleme işlemi sırasında çalışırken, yapılandırmanıza uygulayabileceğiniz ek adım veya gerekli aracı yoktur.

Cloud-init, dağıtımlar arasında da çalışır. Örneğin, bir paket yüklemek için apt-get install veya yum install kullanmazsınız. Bunun yerine, yüklenecek paketlerin listesini tanımlayabilirsiniz. Cloud-init, seçtiğiniz dağıtım için yerel paket yönetim aracını otomatik olarak kullanır.

Örnek cloud-init.txt dosyası da dahil olmak üzere daha fazla bilgi için bkz . Azure VM'lerini özelleştirmek için cloud-init kullanma.

Ölçek kümesi oluşturmak ve cloud-init dosyası kullanmak için az vmss create komutuna parametresini ekleyin --custom-data ve cloud-init dosyasının adını belirtin. Aşağıdaki örnek, myResourceGroup'ta myScaleSet adlı bir ölçek kümesi oluşturur ve VM örneklerini cloud-init.txt adlı bir dosyayla yapılandırmaktadır. Kendi adlarınızı aşağıdaki gibi girin:

Ö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 \
  --resource-group myResourceGroup \
  --name myScaleSet \
  --image Ubuntu2204 \
  -–orchestration-mode uniform \
  --upgrade-policy-mode automatic \
  --custom-data cloud-init.txt \
  --admin-username azureuser \
  --generate-ssh-keys

İşletim sistemi güncelleştirmeleriyle uygulama yükleme

Yeni işletim sistemi sürümleri kullanılabilir olduğunda, yeni bir özel görüntü kullanabilir veya oluşturabilir ve işletim sistemi yükseltmelerini bir ölçek kümesine dağıtabilirsiniz. Her VM örneği, belirttiğiniz en son görüntüye yükseltilir. Uygulama önceden yüklenmiş, Özel Betik Uzantısı veya PowerShell DSC ile özel görüntü kullanarak yükseltmeyi gerçekleştirirken uygulamanızın otomatik olarak kullanılabilir olmasını sağlayabilirsiniz. Sürüm uyumluluğu sorunları olmadığından emin olmak için bu işlemi gerçekleştirirken uygulama bakımını planlamanız gerekebilir.

Uygulama önceden yüklenmiş olarak özel bir VM görüntüsü kullanıyorsanız, yeni görüntüleri oluşturmak ve ölçek kümesi genelinde işletim sistemi yükseltmeleri dağıtmak için uygulama güncelleştirmelerini bir dağıtım işlem hattıyla tümleştirebilirsiniz. Bu yaklaşım işlem hattının en son uygulama derlemelerini almasını, bir VM görüntüsü oluşturup doğrulamasını, ardından ölçek kümesindeki VM örneklerini yükseltmesini sağlar. Uygulama güncelleştirmelerini özel VM görüntüleri arasında derleyen ve dağıtan bir dağıtım işlem hattı çalıştırmak için bir Packer görüntüsü oluşturup Azure DevOps Services ile dağıtabilir veya Spinnaker veya Jenkins gibi başka bir platform kullanabilirsiniz.

Sonraki adımlar

Ölçek kümelerinize uygulama derleyip dağıtırken Ölçek Kümesi Tasarımına Genel Bakış'ı gözden geçirebilirsiniz. Ölçek kümenizi yönetme hakkında daha fazla bilgi için bkz . Ölçek kümenizi yönetmek için PowerShell kullanma.