Azure'da VM'ler ve Ölçek Kümeleri için Otomatik Uzantı Yükseltmesi
Otomatik Uzantı Yükseltme, Azure VM'leri ve Azure Sanal Makine Ölçek Kümeleri için kullanılabilir. Vm veya ölçek kümesinde Otomatik Uzantı Yükseltme etkinleştirildiğinde, uzantı yayımcısı bu uzantı için yeni bir sürüm yayımladığında uzantı otomatik olarak yükseltilir.
Otomatik Uzantı Yükseltme aşağıdaki özelliklere sahiptir:
- Azure VM'leri ve Azure Sanal Makine Ölçek Kümeleri için desteklenir.
- Yükseltmeler, kullanılabilirlik öncelikli dağıtım modelinde uygulanır.
- Bir Sanal Makine Ölçek Kümesi için ölçek kümesi sanal makinelerinin %20'sinden fazlası tek bir toplu işlemde yükseltilmemiştir. En düşük toplu iş boyutu bir sanal makinedir.
- Tüm VM boyutları ve hem Windows hem de Linux uzantıları için çalışır.
- Otomatik yükseltmeleri istediğiniz zaman geri çevirebilirsiniz.
- Otomatik uzantı yükseltme, herhangi bir boyutta Sanal Makine Ölçek Kümeleri etkinleştirilebilir.
- Desteklenen her uzantı ayrı ayrı kaydedilir ve hangi uzantıların otomatik olarak yükseltileceğini seçebilirsiniz.
- Tüm genel bulut bölgelerinde desteklenir.
Otomatik Uzantı Yükseltme nasıl çalışır?
Uzantı yükseltme işlemi, bir VM'de var olan uzantı sürümünü, uzantı yayımcısı tarafından yayımlandığında aynı uzantının yeni bir sürümüyle değiştirir. Yeni uzantı yüklendikten sonra VM'nin sistem durumu izlenir. Yükseltme tamamlandıktan sonra 5 dakika içinde VM iyi durumda değilse uzantı sürümü önceki sürüme geri alınır.
Başarısız bir uzantı güncelleştirmesi otomatik olarak yeniden denendi. Kullanıcı müdahalesi olmadan birkaç günde bir otomatik olarak yeniden deneme yapılır.
Kullanılabilirlik öncelikli Güncelleştirmeler
Platform tarafından düzenleyen güncelleştirmeler için kullanılabilirlik öncelikli model, Azure'daki kullanılabilirlik yapılandırmalarının birden çok kullanılabilirlik düzeyine uygun olmasını sağlar.
Güncelleştirmeden geçen bir grup sanal makine için Azure platformu güncelleştirmeleri düzenler:
Bölgeler arasında:
- Güncelleştirme, Azure genelinde dağıtım hatalarını önlemek için azure genelinde aşamalı olarak taşınır.
- Bir 'aşama' bir veya daha fazla bölgeye sahip olabilir ve bir güncelleştirme yalnızca önceki aşamadaki uygun VM'ler başarıyla güncelleştirildiyse aşamalar arasında hareket eder.
- Coğrafi olarak eşleştirilmiş bölgeler eşzamanlı olarak güncelleştirilmez ve aynı bölgesel aşamada olamaz.
- Güncelleştirmenin başarısı, güncelleştirme sonrasında vm'nin sistem durumu izlenerek ölçülür. VM sistem durumu, VM'nin platform sistem durumu göstergeleri aracılığıyla izlenir. Sanal Makine Ölçek Kümeleri için vm sistem durumu, ölçek kümesine uygulandıysa uygulama durumu yoklamaları veya Uygulama Durumu uzantısı aracılığıyla izlenir.
Bir bölge içinde:
- Farklı Kullanılabilirlik Alanları vm'ler aynı güncelleştirmeyle eşzamanlı olarak güncelleştirilmez.
- Kullanılabilirlik kümesinin parçası olmayan tek vm'ler, abonelikteki tüm VM'lerde eşzamanlı güncelleştirmelerden kaçınmak için en iyi çaba temelinde toplu olarak çalıştırılır.
Bir 'küme' içinde:
- Ortak kullanılabilirlik kümesindeki veya ölçek kümesindeki tüm VM'ler eşzamanlı olarak güncelleştirilmez.
- Ortak bir kullanılabilirlik kümesindeki VM'ler Güncelleştirme Etki Alanı sınırları içinde güncelleştirilir ve birden çok Güncelleştirme Etki Alanındaki VM'ler eşzamanlı olarak güncelleştirilmez.
- Ortak bir sanal makine ölçek kümesindeki VM'ler toplu olarak gruplandırılır ve Etki Alanı Güncelleştirme sınırları içinde güncelleştirilir. Ölçek kümesinde tanımlanan yükseltme ilkeleri güncelleştirme sırasında kabul edilir. Yükseltme ilkesi El ile olarak ayarlanırsa, otomatik uzantı yükseltmesi etkinleştirildiğinde bile VM'ler güncelleştirilmez.
Sanal Makine Ölçek Kümeleri için yükseltme işlemi
Yükseltme işlemi başlamadan önce düzenleyici, ölçek kümesinin tamamında vm'lerin %20'sinden fazlasının iyi durumda olmamasını sağlar (herhangi bir nedenle).
Yükseltme düzenleyici, yükseltecek VM örneklerinin toplu işlemini tanımlar. Bir yükseltme toplu işleminin toplam VM sayısının en fazla %20'sine sahip olması, bir sanal makinenin en düşük toplu iş boyutuna tabi olabilir. Toplu işlemi tanımlarken Yükseltme İlkesi ve Kullanılabilirlik Alanları tanımı dikkate alınır.
Yükseltmeden sonra, vm sistem durumu bir sonraki toplu işe geçmeden önce her zaman izlenir. Yapılandırılmış uygulama durumu yoklamalarına veya Uygulama Durumu uzantısına sahip ölçek kümeleri için, uygulama durumu da izlenir. Yükseltme, sonraki toplu işlemi yükseltmeden önce VM'nin iyi duruma gelmesi için 5 dakikaya kadar (veya tanımlanan sistem durumu yoklaması yapılandırmasında) bekler. Bir VM yükseltmeden sonra sistem durumunu kurtarmazsa, varsayılan olarak VM'de önceki uzantı sürümü yeniden yüklenir.
Yükseltme düzenleyicisi, yükseltmeden sonra iyi durumda olmayan VM'lerin yüzdesini de izler. Yükseltme işlemi sırasında yükseltilen örneklerin %20'den fazlası iyi durumda değilse yükseltme durdurulur.
Yukarıdaki işlem, ölçek kümesindeki tüm örnekler yükseltilene kadar devam eder.
Ölçek kümesi yükseltme düzenleyicisi, her toplu işlemi yükseltmeden önce genel ölçek kümesi durumunu denetler. Toplu yükseltme sırasında, ölçek kümesi sanal makinelerinizin durumunu etkileyebilecek başka eşzamanlı planlı veya plansız bakım etkinlikleri olabilir. Bu gibi durumlarda ölçek kümesinin örneklerinin %20'den fazlası iyi durumda değilse ölçek kümesi yükseltmesi geçerli toplu işlemin sonunda durur.
Desteklenen uzantılar
Otomatik Uzantı Yükseltmesi aşağıdaki uzantıları destekler (ve daha fazlası düzenli aralıklarla eklenir):
- Azure Otomasyonu Karma Çalışanı uzantısı - Linux ve Windows
- Bağımlılık Aracısı – Linux ve Windows
- Uygulama Durumu Uzantısı – Linux ve Windows
- Konuk Kanıtlama Uzantısı - Linux ve Windows
- Konuk Yapılandırma Uzantısı – Linux ve Windows
- Key Vault – Linux ve Windows
- Azure İzleyici Aracısı
- Linux için Log Analytics Aracısı
- Linux için Azure Tanılama uzantısı
- Service Fabric – Linux
Otomatik Uzantı Yükseltmeyi Etkinleştirme
Bir uzantı için Otomatik Uzantı Yükseltme'yi etkinleştirmek için özelliğin enableAutomaticUpgrade
her uzantı tanımına true
ayrı ayrı ayarlandığından ve eklendiğinden emin olmanız gerekir.
Sanal Makineler için REST API
Azure VM'de bir uzantı (bu örnekte Bağımlılık Aracısı uzantısı) için otomatik uzantı yükseltmesini etkinleştirmek için aşağıdaki çağrıyı kullanın:
PUT on `/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Compute/virtualMachines/<vmName>/extensions/<extensionName>?api-version=2019-12-01`
{
"name": "extensionName",
"type": "Microsoft.Compute/virtualMachines/extensions",
"location": "<location>",
"properties": {
"autoUpgradeMinorVersion": true,
"enableAutomaticUpgrade": true,
"publisher": "Microsoft.Azure.Monitoring.DependencyAgent",
"type": "DependencyAgentWindows",
"typeHandlerVersion": "9.5"
}
}
Sanal Makine Ölçek Kümeleri için REST API
Uzantıyı ölçek kümesi modeline eklemek için aşağıdaki çağrıyı kullanın:
PUT on `/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Compute/virtualMachineScaleSets/<vmssName>?api-version=2019-12-01`
{
"location": "<location>",
"properties": {
"virtualMachineProfile": {
"extensionProfile": {
"extensions": [
{
"name": "<extensionName>",
"properties": {
"autoUpgradeMinorVersion": true,
"enableAutomaticUpgrade": true,
"publisher": "Microsoft.Azure.Monitoring.DependencyAgent",
"type": "DependencyAgentWindows",
"typeHandlerVersion": "9.5"
}
}
]
}
}
}
}
Sanal Makineler için Azure PowerShell
Set-AzVMExtension cmdlet'ini kullanın:
Set-AzVMExtension -ExtensionName "Microsoft.Azure.Monitoring.DependencyAgent" `
-ResourceGroupName "myResourceGroup" `
-VMName "myVM" `
-Publisher "Microsoft.Azure.Monitoring.DependencyAgent" `
-ExtensionType "DependencyAgentWindows" `
-TypeHandlerVersion 9.5 `
-Location WestUS `
-EnableAutomaticUpgrade $true
Sanal Makine Ölçek Kümeleri için Azure PowerShell
Uzantıyı ölçek kümesi modeline eklemek için Add-AzVmssExtension cmdlet'ini kullanın:
Add-AzVmssExtension -VirtualMachineScaleSet $vmss
-Name "Microsoft.Azure.Monitoring.DependencyAgent" `
-Publisher "Microsoft.Azure.Monitoring.DependencyAgent" `
-Type "DependencyAgentWindows" `
-TypeHandlerVersion 9.5 `
-EnableAutomaticUpgrade $true
Uzantıyı ekledikten sonra Update-AzVmss kullanarak ölçek kümesini güncelleştirin.
Sanal Makineler için Azure CLI
az vm extension set cmdlet'ini kullanın:
az vm extension set \
--resource-group myResourceGroup \
--vm-name myVM \
--name DependencyAgentLinux \
--publisher Microsoft.Azure.Monitoring.DependencyAgent \
--version 9.5 \
--enable-auto-upgrade true
Sanal Makine Ölçek Kümeleri için Azure CLI
Uzantıyı ölçek kümesi modeline eklemek için az vmss extension set cmdlet'ini kullanın:
az vmss extension set \
--resource-group myResourceGroup \
--vmss-name myVMSS \
--name DependencyAgentLinux \
--publisher Microsoft.Azure.Monitoring.DependencyAgent \
--version 9.5 \
--enable-auto-upgrade true
Sanal Makineler için ARM şablonu
Aşağıdaki örnekte, Azure Resource Manager kullanılarak sanal makinede bir uzantı (bu örnekte Bağımlılık Aracısı Uzantısı) için otomatik uzantı yükseltmelerinin nasıl ayarlanacağı açıklanmaktadır
{
"type": "Microsoft.Compute/virtualMachines/extensions",
"location": "[resourceGroup().location]",
"name": "<extensionName>",
"dependsOn": [
"[concat('Microsoft.Compute/virtualMachines/', variables('vmName'))]"
],
"properties": {
"publisher": "Microsoft.Azure.Monitoring.DependencyAgent",
"type": "DependencyAgentWindows",
"typeHandlerVersion": "9.5",
"autoUpgradeMinorVersion": true,
"enableAutomaticUpgrade": true,
"settings": {
"enableAMA": "true"
}
}
}
Sanal Makine Ölçek Kümeleri için ARM şablonu
Ölçek kümesi modeli içindeki uzantıda otomatik uzantı yükseltmesini ayarlamak için aşağıdaki örneği kullanın:
{
"type": "Microsoft.Compute/virtualMachineScaleSets",
"apiVersion": "2023-09-01",
"name": "[variables('vmScaleSetName')]",
"location": "[resourceGroup().location]",
"properties": {
"virtualMachineProfile": {
"extensionProfile": {
"extensions": [{
"name": "<extensionName>",
"properties": {
"publisher": "Microsoft.Azure.Monitoring.DependencyAgent",
"type": "DependencyAgentWindows",
"typeHandlerVersion": "9.5",
"autoUpgradeMinorVersion": true,
"enableAutomaticUpgrade": true,
}
}]
}
}
}
}
Azure Portalı’nı kullanma
Mevcut Sanal Makineler ve Sanal Makine Ölçek Kümeleri uzantıların otomatik olarak yükseltilebilmesi için Azure Portal - Uzantı dikey penceresini kullanabilirsiniz.
- Sanal Makineler veya Sanal Makineler Ölçek Kümeleri dikey penceresine gidin ve adına tıklayarak kaynağı seçin.
- Kaynakta yüklü tüm uzantıları görüntülemek için Ayarlar altındaki "Extenisons + applications" dikey penceresine gidin. "Otomatik Yükseltme Durumu" sütunu uzantının otomatik yükseltmesinin etkinleştirildiğini, devre dışı bırakılıp bırakılmadığını veya desteklenmediğini belirtir.
- Uzantı adına tıklayarak Uzantı ayrıntıları dikey penceresine gidin.
- Uzantının otomatik yükseltmesini etkinleştirmek için "Otomatik yükseltmeyi etkinleştir" seçeneğine tıklayın. Bu düğme gerektiğinde otomatik yükseltmeyi devre dışı bırakmak için de kullanılabilir.
Birden çok uzantı ile uzantı yükseltmeleri
Bir VM veya Sanal Makine Ölçek Kümesinde otomatik uzantı yükseltmesi etkinleştirilmiş birden çok uzantı olabilir. Aynı VM veya ölçek kümesinde otomatik uzantı yükseltmesi etkinleştirilmeden başka uzantılar da bulunabilir.
Bir sanal makine için birden çok uzantı yükseltmesi varsa, yükseltmeler birlikte toplu işlenebilir, ancak her uzantı yükseltmesi bir sanal makineye ayrı ayrı uygulanır. Bir uzantıdaki bir hata, yükseltiliyor olabilecek diğer uzantıları etkilemez. Örneğin, bir yükseltme için iki uzantı zamanlanırsa ve ilk uzantı yükseltmesi başarısız olursa, ikinci uzantı yine yükseltilir.
Otomatik Uzantı Yükseltmeleri, bir VM veya sanal makine ölçek kümesinde uzantı sıralamasıyla yapılandırılmış birden çok uzantı olduğunda da uygulanabilir. Uzantı sıralama, VM'nin ilk kez dağıtımı için geçerlidir ve bir uzantıdaki gelecekteki uzantı yükseltmeleri bağımsız olarak uygulanır.