Azure'da sanal makineler ve ölçek kümeleri için Otomatik Uzantı Yükseltmesi

Otomatik Uzantı Yükseltme, Azure Sanal Makineler ve Azure Sanal Makine Ölçek Kümeleri için kullanılabilir. Bir sanal makinede (VM) veya ölçek kümesinde Otomatik Uzantı Yükseltme etkinleştirildiğinde, Azure yeni uzantı sürümlerini otomatik olarak izler, yeni sürümün kalitesini ve güvenliğini değerlendirir, sürümü kullanıma sunma için onaylar ve ardından uzantıyı kullanarak tüm VM'leri otomatik olarak yükselter. Azure, hatalı sürümün kesintiye neden olmasını önlemek ve uygulamalar için yüksek kullanılabilirlik sağlamak için Güvenli Dağıtım Uygulamaları'nı (SDP) izleyerek tüm VM'leri aşamalı olarak yükseltmektedir. Bu aşamalı dağıtımın tamamlanması değerlendirme için gereken zamana, yükseltmenin önem derecesine ve yükseltilmesi gereken VM'lerin ölçeğine göre 1-2 ay sürebilir.

Otomatik Uzantı Yükseltme aşağıdaki özelliklere sahiptir:

  • Azure VM'leri, sanal makine ölçek kümeleri ve Arc VM'leri desteklenir.
  • Yükseltmeler, aşağıdaki (Güvenli Dağıtım Uygulamaları)[/azure/well-architected/operational-excellence/safe-deployments] (SDP) sonrasındaki kullanılabilirlik öncelikli dağıtım modelinde uygulanır.
  • Bir sanal makine ölçek kümesi için varsayılan olarak ölçek kümesi VM'lerinin en fazla 20% tek bir toplu işlemle yükseltilir. Bu toplu iş boyutu , VMSS Sıralı Yükseltme İlkesi tanımlanarak değiştirilebilir.
  • Azure VM'leri ve Arc VM'leri için vm'lerin en fazla 20% tek bir toplu işlemle yükseltilir. Bu işlem grubu boyutu değiştirilemez.
  • Tüm başarısız yükseltmeler, VM'yi sağlıklı duruma döndürmek için otomatik olarak geri alınır.
  • Tüm yükseltmeler yeniden başlatılmaz. Bu nedenle yükseltmeden sonra VM'nin yeniden başlatılması gerekmez.
  • Tüm VM boyutları desteklenir.
  • Hem Windows hem de Linux uzantıları uyumludur.
  • Otomatik yükseltmeler varsayılan olarak başlangıç API'si sürümüyle 2025-04-01etkinleştirilir.
  • Desteklenen her uzantı ayrı ayrı kaydedilir. Hangi uzantıların otomatik olarak yükseltileceğini seçebilirsiniz.
  • Tüm genel, bağımsız ve hava boşluklu bulut bölgeleri desteklenir.

Otomatik Uzantı Yükseltme nasıl çalışır?

Uzantı yükseltme işlemi vm'de var olan uzantıyı kaldırır ve uzantıyı yeni sürümle yeniden yükler.

  1. Uzantı yayımcısı aynı uzantının yeni bir sürümünü yayımladığında, Azure yeni sürümü algılar ve bir kalite değerlendirme işlemi başlatır. Bu işlem, hata olmadan güvenlik, kalite ve güvenli yükseltmeler için sürümü doğrular. Sürüm, değerlendirmeyi geçtikten sonra piyasaya sunulmak üzere onaylanır.
  2. Azure bir bölge veya bölgeyle başlar (Piyasaya çıkarma kanarya bölgesinden başlar) ve tamamen yükseltildikten sonra bir sonraki bölgeye veya bölgeye geçer.
  3. tr-TR: Bir bölge/bölge içinde Azure, VM'leri daha küçük gruplara ayırır (varsayılan veya sıralı yükseltme ilkelerine göre) ve bir seferde bir partiyi yükseltir. Önceki toplu iş başarıyla yükseltildikten sonra Azure bir sonraki toplu işe geçer.
  4. Azure, hataları algılamak amacıyla yükseltmeden sonra, VM ve Uygulama durumu izleme için Uygulama durumu uzantısını kullanarak izler. Yükseltmeden sonra beş dakika içinde VM iyi durumda değilse yükseltme geri alınır ve uzantının önceki sürümü yüklenir. Yükseltme, müşteri müdahalesine gerek kalmadan bir süre sonra otomatik olarak yeniden deneniyor.

Kullanılabilirlik merkezli Yükseltmeler

Platform tarafından düzenlemeli yükseltmeler 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.

Yükseltmeden geçen bir grup VM için Azure platformu, yükseltmeleri bölgeler arasında, bir bölge içinde ve bir küme içinde düzenler.

Bölgeler arasında

  • Yükseltme, Azure genelinde dağıtımların başarısızlığını önlemek için Azure genelinde aşamalı olarak gerçekleştirilir.
  • Bir aşama bir veya daha fazla bölgeye sahip olabilir ve yükseltme, yalnızca önceki aşamada uygun VM'lerin yükseltilmesi başarıyla tamamlandığında aşamalar arasında ileri geçer.
  • Coğrafi olarak eşleştirilmiş bölgeler eşzamanlı olarak yükseltilmiyor ve aynı bölgesel aşamada olamaz.
  • Yükseltmenin başarısı, yükseltme sonrasında bir VM'nin sistem durumu izlenerek ölçülür. VM sistem durumu, VM için platform sistem durumu göstergeleri aracılığıyla izlenir (VM sistem durumu ve Uygulama Durumu Uzantısı tarafından bildirilen Uygulama Durumu)

Bir bölge içinde

  • Farklı kullanılabilirlik alanlarındaki VM'ler aynı yükseltmeyle eşzamanlı olarak yükseltilmez.
  • Kullanılabilirlik kümesinin parçası olmayan tek VM'ler, abonelikteki tüm VM'lerde eşzamanlı yükseltmelerden kaçınmak için en iyi çaba temelinde toplu olarak çalıştırılır.

Küme içinde

  • Ortak kullanılabilirlik kümesindeki veya ölçek kümesindeki tüm VM'ler eşzamanlı olarak yükseltilmez.
  • Ortak kullanılabilirlik kümesindeki VM'ler güncelleştirme etki alanı sınırları içinde yükseltilir. Birden çok güncelleştirme etki alanı genelindeki VM'ler eşzamanlı olarak yükseltilmez.
  • Ortak bir sanal makine ölçek kümesindeki VM'ler toplu olarak gruplandırılır ve güncelleştirme etki alanı sınırları içinde yükseltilir. Ölçek kümesinde tanımlanan yükseltme ilkeleri, yükseltme sırasında kabul edilir. Her grup sıralı yükseltme stratejisi kullanılarak yükseltilir.

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ükseltilecek VM örneklerinin partisini tanımlar. Bir toplu yükseltme, toplam VM sayısının en fazla %20'sini kapsayabilir ve toplu iş boyutu en az bir VM olmalıdır. Orkestratör, iş kümesi belirlenirken yükseltme ilkesinin ve kullanılabilirlik alanlarının tanımını göz önünde bulundurur.
  • 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 beş dakikaya kadar (veya tanımlanan sistem durumu yoklaması yapılandırması) 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.

Ölçek kümesindeki tüm örnekler yükseltilene kadar bu işlem 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, planlı veya plansız diğer bakım etkinlikleri ölçek kümesi VM'lerinizin durumunu etkileyebilir. Bu gibi durumlarda, ölçek kümesinin örneklerinin %20'den fazlası sağlıksız hale gelirse, ölçek kümesi yükseltmesi mevcut partinin sonunda durur.

Desteklenen uzantılar

Uzantılarınızın otomatik yükseltme için desteklenip desteklenmediğini denetlemek için Azure Portal - Uzantı dikey penceresinde Otomatik Yükseltme durumunu görüntüleyin.

Uzantının Azure portalında otomatik yükseltme için desteklenip desteklenmediğini gösteren ekran görüntüsü.

Otomatik yükseltmeler için desteklenen popüler uzantılar aşağıdadır (ve daha fazlası düzenli aralıklarla eklenir):

Publisher Type
Microsoft.Azure.Automation.HybridWorker HybridWorkerForLinux
Microsoft.Azure.Automation.HybridWorker HybridWorkerForWindows
Microsoft.Azure.AzureDefenderForSQL AdvancedThreatProtection.Windows
Microsoft.Azure.AzureDefenderForSQL VulnerabilityAssessment.Windows
Microsoft.Azure.AzureDefenderForServers MDE.Linux
Microsoft.Azure.AzureDefenderForServers MDE.Windows
Microsoft.Azure.ChangeTrackingAndInventory ChangeTracking-Linux
Microsoft.Azure.ChangeTrackingAndInventory ChangeTracking-Windows
Microsoft.Azure.Diagnostics LinuxDiagnostic
Microsoft.Azure.Extensions.Edp LinuxHibernateTestExtension
Microsoft.Azure.Extensions.Edp WindowsHibernateTestExtension
Microsoft.Azure.FleetDiagnostics FleetDiagnosticsForWindows
Microsoft.Azure.Geneva GenevaMonitoring
Microsoft.Azure.KeyVault KeyVaultForLinux
Microsoft.Azure.KeyVault KeyVaultForWindows
Microsoft.Azure.Labservices Agent.Linux
Microsoft.Azure.Labservices Agent.Windows
Microsoft.Azure.Monitor AzureMonitorLinuxAgent
Microsoft.Azure.Monitor AzureMonitorWindowsAgent
Microsoft.Azure.Monitoring.DependencyAgent.EDP DependencyAgentLinux
Microsoft.Azure.Monitoring.DependencyAgent.EDP DependencyAgentWindows
Microsoft.Azure.Monitoring.DependencyAgent DependencyAgentLinux
Microsoft.Azure.Monitoring.DependencyAgent DependencyAgentWindows
Microsoft.Azure.NetworkWatcher NetworkWatcherAgentLinux
Microsoft.Azure.NetworkWatcher NetworkWatcherAgentWindows
Microsoft.Azure.Networking.DNS DNSClientCache
Microsoft.Azure.SCOMMI GatewayServer
Microsoft.Azure.SCOMMI WindowsAgent
Microsoft.Azure.Security IaaSAntimalware
Microsoft.Azure.Security.AntimalwareSignature AntimalwareConfiguration
Microsoft.Azure.Security.Dsms DSMSForWindows
Microsoft.Azure.Security.LinuxAttestation GuestAttestation
Microsoft.Azure.Security.Monitoring AzureSecurityLinuxAgent
Microsoft.Azure.Security.Monitoring AzureSecurityWindowsAgent
Microsoft.Azure.Security.WindowsAttestation GuestAttestation
Microsoft.Azure.Security.WindowsCodeIntegrity CodeIntegrityAgent
Microsoft.Azure.ServiceFabric ServiceFabricNode
Microsoft.Azure.ServiceFabric ServiceFabricLinuxNode
Microsoft.Azure.Watson WatsonLinuxAgent
Microsoft.Azure.Workloads MonitoringExtensionLinux
Microsoft.Azure.Workloads MonitoringExtensionWindows
Microsoft.CPlat.Core LinuxHibernateExtension
Microsoft.CPlat.Core WindowsHibernateExtension
Microsoft.CPlat.ProxyAgent ProxyAgentLinux
Microsoft.CPlat.ProxyAgent ProxyAgentWindows
Microsoft.EnterpriseCloud.Monitoring MicrosoftMonitoringAgent
Microsoft.EnterpriseCloud.Monitoring OmsAgentForLinux
Microsoft.GuestConfiguration ConfigurationForLinux
Microsoft.GuestConfiguration ConfigurationForWindows
Microsoft.ManagedServices ApplicationHealthLinux
Microsoft.ManagedServices ApplicationHealthWindows
Microsoft.OSTCExtensions DSCForLinux
Microsoft.Sentinel.AzureMonitorAgentExtensions MicrosoftDnsAgent
Microsoft.SqlServer.Management SqlIaaSAgent
Microsoft.SqlServer.Management SqlIaaSAgentLinux

Otomatik Uzantı Yükseltmeyi Etkinleştir

Bir uzantı için Otomatik Uzantı Yükseltme'yi etkinleştirmek için özelliğin enableAutomaticUpgrade olarak ayarlandığından true ve her uzantı tanımına ayrı ayrı eklendiğinden emin olmanız gerekir.

Azure portal’ı kullanma

Azure portalında Uzantı bölmesini kullanarak mevcut VM'lerde ve sanal makine ölçek kümelerinde uzantıların otomatik olarak yükseltilebilmesini sağlayın.

  1. Sanal Makineler veya Sanal Makineler Ölçek Kümeleri bölmesine gidin ve kaynak adını seçin.

  2. Ayarlar'ın altında, kaynakta yüklü olan tüm uzantıları gösteren Uzantılar + uygulamalar bölmesine gidin. Otomatik yükseltme durumu sütunu, uzantının otomatik yükseltmesinin etkinleştirilip etkinleştirilmediğini, devre dışı bırakılıp bırakılmadığını veya desteklenmediğini gösterir.

  3. Uzantı adını seçerek Uzantı ayrıntıları bölmesini açın.

    Azure portalında Uzantılar bölmesini gösteren ekran görüntüsü.

  4. Uzantının otomatik yükseltmesini etkinleştirmek için Otomatik yükseltmeyi etkinleştir'i seçin. Gerekirse otomatik yükseltmeyi devre dışı bırakmak için bu düğmeyi kullanın.

    Azure portalında otomatik yükseltmeyi etkinleştir'i gösteren ekran görüntüsü.

Sanal makineler için

Azure VM'de bir uzantı (bu örnekte Bağımlılık Aracısı uzantısı) için Otomatik Uzantı Yükseltme'yi 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

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"
            		}
          	    }
        	    ]
    	    }
    	}
    }
}

Note

Bu işlemler, enableAutomaticUpgrade özelliğini sanal makine ölçek kümesi kaynağında true olarak ayarlar, ancak temel alınan VM'lerde ayarlanmaz.

Sanal makine ölçek kümesi upgradeProfile içinde otomatik veya sıralı yükseltme modunu tanımlıyorsa, sanal makine ölçek kümesi değişikliği otomatik olarak temel alınan her VM'ye yayılır.

Sanal makine ölçek kümesi el ile mod tanımlıyorsa, her bir örneği el ile güncelleştirmeniz ve değişikliği her bir temel VM'ye yaymanız gerekir.


Birden çok uzantı ile uzantı yükseltmeleri

Vm veya sanal makine ölçek kümesinde, Otomatik Uzantı Yükseltmesi etkinleştirilmiş birden çok uzantı olabilir. Aynı VM veya ölçek kümesi, Otomatik Uzantı Yükseltmesi etkinleştirilmeden başka uzantılara da sahip olabilir.

Bir VM için birden çok uzantı yükseltmesi varsa, yükseltmeler birlikte toplu işlenebilir, ancak her uzantı yükseltmesi bir VM'ye ayrı ayrı uygulanır. Bir uzantıdaki 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.

Ayrıca, bir VM veya sanal makine ölçek kümesinde uzantı sıralamasıyla yapılandırılmış birden çok uzantı olduğunda Otomatik Uzantı Yükseltmesi de uygulayabilirsiniz. Uzantı sıralama, VM'nin ilk kez dağıtımına yöneliktir. Bir uzantıda gelecekteki tüm uzantı yükseltmeleri bağımsız olarak uygulanır.

EnableAutomaticUpgrade ile AutoUpgradeMinorVersion arasındaki fark

  • AutoUpgradeMinorVersion:

    • Bu özellik, VM oluşturma sırasında ve vm'yi yeni bir yapılandırmayla yükseltirken kullanılır.
    • olarak trueayarlandığında, uzantının en son ikincil sürümünün VM'ye otomatik olarak yüklenmesini sağlar.
    • Bu, TypeHandlerVersion öğesini mevcut en son kararlı ikincil sürümle geçersiz kılar.
    • VM yapılandırmasını yükselttiğiniz zaman, yeni bir ikincil sürüm varsa, bu bir yapılandırma değişikliği olarak kabul edilir. Uzantı en son ikincil sürümle yeniden yüklenir.
    • Bu şekilde, yeni oluşturulan VM'ler en son stabil küçük uzantı sürümüyle güncel kalır.
    • Uzantıyı el ile belirli bir sürüme ayarlamak istiyorsanız, bu özelliği olarak falseayarlayın.
  • EnableAutomaticUpgrade:

    • Bu özellik mevcut VM'leri etkiler.
    • VM oluşturma sırasında yüklenen sürümü etkilemez.
    • VM oluşturulduktan sonra, VM uzantının en son ikincil sürümünü çalıştırmıyorsa, otomatik yükseltmeyi tetikleyebilmek için bu özelliği etkinleştirin.
    • Yükseltmeler VM'nin yeniden başlatılmasına neden olmaz ve güvenli bir şekilde dağıtılır. Yüksek hizmet kullanılabilirliği ve güvenilirliği sağlamak için başarısız yükseltmeler hemen geri alınır.
    • Mevcut VM'ler otomatik olarak en son ikincil sürüme güncelleştirerek güvenli ve güncel kalır.

Tüm VM'lerin güvenli ve güncel kalmasına yardımcı olması için her iki özelliği de etkinleştirmenizi öneririz.

Ana sürümler hataya neden olan değişiklikler içerebileceğinden, ana uzantı sürümlerine yükseltmeler hiçbir zaman iki özellik tarafından da otomatik olarak gerçekleştirilemez. El ile ana sürüme ayarlamanız TypeHandlerVersion ve mevcut vm'leri el ile en son ana sürüme yükseltmeniz gerekir.

Sonraki adım