Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Azure sanal makine (VM) uzantıları, Azure VM'lerinde dağıtım sonrası yapılandırma ve otomasyon görevleri sağlayan küçük uygulamalardır. Örneğin, bir sanal makine yazılım yüklemesi, virüsten koruma veya VM'nin içinde betik çalıştırma özelliği gerektiriyorsa, VM uzantısını kullanabilirsiniz.
Azure CLI, PowerShell, Azure Resource Manager (ARM) şablonlarını ve Azure portalını kullanarak Azure VM uzantılarını çalıştırabilirsiniz. Uzantıları yeni bir VM dağıtımıyla paketleyebilir veya mevcut herhangi bir sistemde çalıştırabilirsiniz.
Bu makalede, önkoşullar ve uzantıları algılama, yönetme ve kaldırma yönergeleri de dahil olmak üzere Azure VM uzantılarına genel bir bakış sağlanır. Birçok VM uzantısı kullanılabilir olduğundan bu makalede genelleştirilmiş bilgiler sağlanır. Her uzantının potansiyel olarak benzersiz bir yapılandırması ve kendi belgeleri vardır.
Uyarı
Daha hızlı tanılama için VM yardımını deneyin. Windows için VM yardımını veya Linux için VM yardımını çalıştırmanızı öneririz. Bu betik tabanlı tanılama araçları, Azure VM Konuk Aracısı'nı ve genel VM durumunu etkileyen yaygın sorunları belirlemenize yardımcı olur.
Sanal makinelerle ilgili performans sorunları yaşıyorsanız desteğe başvurmadan önce bu araçları çalıştırın.
Kullanım senaryoları ve örnekler
Her Azure VM uzantısının belirli bir kullanım örneği vardır. Aşağıda bazı örnekler verilmiştir:
Azure İzleyici aracısını ve VM görüşlerini kullanarak VM izlemeyi yapılandırın.
Chef kullanarak bir Azure VM yapılandırın.
Datadog uzantısını kullanarak Azure altyapınızın izlenmesini yapılandırın.
İşleme özgü uzantılara ek olarak, hem Windows hem de Linux sanal makineleri için Özel Betik Uzantısı kullanılabilir. Windows için Özel Betik Uzantısı, herhangi bir PowerShell betiğinin bir VM üzerinde çalışmasına izin verir. Özel betikler, yerel Azure araçlarının sağlayabileceklerinin ötesinde yapılandırma gerektiren Azure dağıtımları tasarlamak için kullanışlıdır.
Önkoşullar
Azure VM uzantılarıyla çalışmak için aşağıdaki önkoşulları gözden geçirin.
Azure VM Aracısı
VM'de uzantıları işlemek için Windows için Azure Sanal Makine Aracısı'nın yüklü olması gerekir. Bu aracı, Azure VM Aracısı veya Windows Konuk Aracısı olarak da adlandırılır. Uzantıları yüklemeye hazırlanırken, bazı uzantıların kaynaklara veya bağımlılıklara erişim gibi tek tek önkoşulları olduğunu unutmayın.
Azure VM Aracısı, bir Azure VM ile Azure doku denetleyicisi arasındaki etkileşimleri yönetir. Aracı, VM uzantılarını çalıştırma da dahil olmak üzere Azure VM'lerini dağıtmanın ve yönetmenin birçok işlevsel özelliğinden sorumludur.
Azure VM Aracısı, Azure Market görüntülerine önceden yüklenmiştir. Aracı, desteklenen işletim sistemlerine el ile de yüklenebilir.
Aracı birden çok işletim sisteminde çalışır. Ancak uzantılar çerçevesi, uzantıların kullandığı işletim sistemleri için bir sınıra sahiptir. Bazı uzantılar tüm işletim sistemlerinde desteklenmez ve hata kodu 51 ("Desteklenmeyen işletim sistemi") gösterebilir. Desteklenebilirlik için tek tek uzantı belgelerine bakın.
Ağ erişimi
Uzantı paketleri Azure Depolama uzantısı deposundan indirilir. Uzantı durumu karşıya yüklemeler Azure Depolama'ya gönderilir.
Azure VM Aracısı'nın desteklenen bir sürümünü kullanıyorsanız, VM bölgesinde Azure Depolama'ya erişime izin vermeniz gerekmez. VM Aracısı'nı kullanarak iletişimi, HostGAPlugin özelliği aracılığıyla özel IP adresi 168.63.129.16 üzerindeki ayrıcalıklı kanal üzerinden aracı iletişimleri için Azure fabric denetleyicisine yönlendirebilirsiniz. VM Aracısı'nın desteklenmeyen bir sürümündeyseniz, vm'den o bölgedeki Azure Depolama'ya giden erişime izin vermeniz gerekir.
Önemli
Konuk güvenlik duvarını kullanarak veya ara sunucu aracılığıyla 168.63.129.16 IP adresine erişimi engellerseniz uzantılar başarısız olur. VM Aracısı'nın desteklenen bir sürümünü kullansanız veya giden erişimi yapılandırsanız bile hata oluşur. 80 ve 32526 bağlantı noktaları gereklidir.
Aracılar yalnızca uzantı paketlerini ve rapor durumunu indirmek için kullanılabilir. Örneğin, uzantı yüklemesinde GitHub'dan (Özel Betik Uzantısı) bir betik indirilmesi gerekiyorsa veya Azure Depolama'ya (Azure Backup) erişim gerekiyorsa, diğer güvenlik duvarı veya ağ güvenlik grubu (NSG) bağlantı noktalarını açmanız gerekir. Farklı uzantıların farklı gereksinimleri vardır çünkü bunlar kendi haklarında uygulamalardır. Azure Depolama'ya veya Microsoft Entra Id'ye erişim gerektiren uzantılar için Azure NSG hizmet etiketlerini kullanarak erişime izin vekleyebilirsiniz.
Azure VM Aracısı, aracı trafiği isteklerinin yeniden yönlendirilmesini sağlamak için ara sunucu desteği sağlamaz. VM Aracısı, 168.63.129.16 IP adresi üzerinden İnternet'te veya konakta bulunan kaynaklara erişmek için özel proxy'nize (varsa) dayanır.
VM uzantılarını bulma
Birçok VM uzantısı Azure VM'leri ile kullanılabilir. Tam listeyi görmek için PowerShell cmdlet'ini Get-AzVMExtensionImage kullanın.
Aşağıdaki komut, Batı ABD bölgesi konumundaki tüm kullanılabilir VM uzantılarını listeler:
Get-AzVmImagePublisher -Location "West US" |
Get-AzVMExtensionImageType |
Get-AzVMExtensionImage | Select Type, Version
Bu komut aşağıdaki örneğe benzer bir çıkış sağlar:
Type Version
---- -------
AcronisBackup 1.0.33
AcronisBackup 1.0.51
AcronisBackupLinux 1.0.33
AlertLogicLM 1.3.0.1
AlertLogicLM 1.3.0.0
AlertLogicLM 1.4.0.1
VM uzantılarını çalıştırma
Azure VM uzantıları mevcut VM'lerde çalışır. Bu, yapılandırma değişiklikleri yapmanız veya zaten dağıtılmış bir VM'de bağlantıyı kurtarmanız gerektiğinde kullanışlıdır. VM uzantıları ARM şablonu dağıtımlarıyla birlikte de paketlenebilir. ARM şablonlarıyla uzantıları kullanarak Azure VM'lerini dağıtım sonrası müdahale olmadan dağıtabilir ve yapılandırabilirsiniz.
Mevcut bir VM'de uzantı çalıştırmak için aşağıdaki yöntemleri kullanabilirsiniz.
Uyarı
Aşağıdaki örneklerden bazıları komutlarda parametre değerlerini kullanır "<placeholder>" . Her komutu çalıştırmadan önce, tüm "<placeholder>" değerleri yapılandırmanız için belirli değerlerle değiştirdiğinizden emin olun.
PowerShell
Tek tek uzantıları çalıştırmak için çeşitli PowerShell komutları vardır. Listeyi görmek için Get-Command komutunu kullanın ve Uzantıya filtreleyin:
Get-Command Set-Az*Extension* -Module Az.Compute
Bu komut aşağıdaki örneğe benzer bir çıkış sağlar:
CommandType Name Version Source
----------- ---- ------- ------
Cmdlet Set-AzVMAccessExtension 4.5.0 Az.Compute
Cmdlet Set-AzVMADDomainExtension 4.5.0 Az.Compute
Cmdlet Set-AzVMAEMExtension 4.5.0 Az.Compute
Cmdlet Set-AzVMBackupExtension 4.5.0 Az.Compute
Cmdlet Set-AzVMBginfoExtension 4.5.0 Az.Compute
Cmdlet Set-AzVMChefExtension 4.5.0 Az.Compute
Cmdlet Set-AzVMCustomScriptExtension 4.5.0 Az.Compute
Cmdlet Set-AzVMDiagnosticsExtension 4.5.0 Az.Compute
Cmdlet Set-AzVMDiskEncryptionExtension 4.5.0 Az.Compute
Cmdlet Set-AzVMDscExtension 4.5.0 Az.Compute
Cmdlet Set-AzVMExtension 4.5.0 Az.Compute
Cmdlet Set-AzVMSqlServerExtension 4.5.0 Az.Compute
Cmdlet Set-AzVmssDiskEncryptionExtension 4.5.0 Az.Compute
Aşağıdaki örnekte, GitHub deposundan hedef sanal makineye bir betik indirmek ve ardından betiği çalıştırmak için Özel Betik Uzantısı kullanılmaktadır.
Set-AzVMCustomScriptExtension -ResourceGroupName "<myResourceGroup>" `
-VMName "<myVM>" -Name "<myCustomScript>" `
-FileUri "https://raw.githubusercontent.com/neilpeterson/nepeters-azure-templates/master/windows-custom-script-simple/support-scripts/Create-File.ps1" `
-Run "Create-File.ps1" -Location "<myVMregion>"
Aşağıdaki örnekte, Bir Windows VM'sinin yönetim parolasını geçici bir parolaya sıfırlamak için VMAccess uzantısı kullanılır. Bu kodu çalıştırdıktan sonra, ilk oturum açma sırasında parolayı sıfırlamanız gerekir.
$cred=Get-Credential
Set-AzVMAccessExtension -ResourceGroupName "myResourceGroup" -VMName "myVM" -Name "myVMAccess" `
-Location "myVMregion" -UserName $cred.GetNetworkCredential().Username `
-Password $cred.GetNetworkCredential().Password -typeHandlerVersion "2.0"
Herhangi bir VM uzantısını başlatmak için Set-AzVMExtension komutunu kullanabilirsiniz.
Azure portalı
Azure portalı aracılığıyla mevcut bir VM'ye VM uzantıları uygulayabilirsiniz. Portalda VM'yi seçin, Uzantılar + Uygulamalar'ı ve ardından + Ekle'yi seçin. Kullanılabilir uzantılar listesinden istediğiniz uzantıyı seçin ve sihirbazdaki yönergeleri izleyin.
Aşağıdaki örnekte Azure portalından Microsoft Kötü Amaçlı Yazılımdan Koruma uzantısının yüklenmesi gösterilmektedir:
Azure Resource Manager şablonları
BIR ARM şablonuna VM uzantıları ekleyebilir ve bunları şablonun dağıtımıyla çalıştırabilirsiniz. Bir uzantıyı şablonla dağıttığınızda, tam olarak yapılandırılmış Azure dağıtımları oluşturabilirsiniz.
Aşağıdaki JSON örneği, bir dizi yük dengeli VM ve Azure SQL veritabanı dağıtan ve ardından her vm'ye bir .NET Core uygulaması yükleyen bir ARM şablonundan alınıyor. Yazılım yüklemesini VM uzantısı üstlenir.
{
"apiVersion": "2015-06-15",
"type": "extensions",
"name": "config-app",
"location": "[resourceGroup().location]",
"dependsOn": [
"[concat('Microsoft.Compute/virtualMachines/', variables('vmName'),copyindex())]",
"[variables('musicstoresqlName')]"
],
"tags": {
"displayName": "config-app"
},
"properties": {
"publisher": "Microsoft.Compute",
"type": "CustomScriptExtension",
"typeHandlerVersion": "1.9",
"autoUpgradeMinorVersion": true,
"settings": {
"fileUris": [
"https://raw.githubusercontent.com/Microsoft/dotnet-core-sample-templates/master/dotnet-core-music-windows/scripts/configure-music-app.ps1"
]
},
"protectedSettings": {
"commandToExecute": "[concat('powershell -ExecutionPolicy Unrestricted -File configure-music-app.ps1 -user ',parameters('adminUsername'),' -password ',parameters('adminPassword'),' -sqlserver ',variables('musicstoresqlName'),'.database.windows.net')]"
}
}
}
ARM şablonları oluşturma hakkında daha fazla bilgi için bkz. ARM şablonundaki sanal makineler.
VM uzantısı verilerinin güvenliğini sağlamaya yardımcı olun
Bir VM uzantısını çalıştırdığınızda kimlik bilgileri, depolama hesabı adları ve erişim anahtarları gibi hassas bilgileri eklemeniz gerekebilir. Birçok VM uzantısı, verileri şifreleyen ve yalnızca hedef VM'nin içinde şifresini çözen korumalı bir yapılandırma içerir. Her uzantının belirli bir korumalı yapılandırma şeması vardır ve her şema uzantıya özgü belgelerde ayrıntılı olarak açıklanmıştır.
Aşağıdaki JSON örneği, Windows için Özel Betik Uzantısı örneğini gösterir. Çalıştırılacak komut bir kimlik bilgileri kümesi içerir. Bu örnekte, çalıştırılacak komut şifrelenmez.
{
"apiVersion": "2015-06-15",
"type": "extensions",
"name": "config-app",
"location": "[resourceGroup().location]",
"dependsOn": [
"[concat('Microsoft.Compute/virtualMachines/', variables('vmName'),copyindex())]",
"[variables('musicstoresqlName')]"
],
"tags": {
"displayName": "config-app"
},
"properties": {
"publisher": "Microsoft.Compute",
"type": "CustomScriptExtension",
"typeHandlerVersion": "1.9",
"autoUpgradeMinorVersion": true,
"settings": {
"fileUris": [
"https://raw.githubusercontent.com/Microsoft/dotnet-core-sample-templates/master/dotnet-core-music-windows/scripts/configure-music-app.ps1"
],
"commandToExecute": "[concat('powershell -ExecutionPolicy Unrestricted -File configure-music-app.ps1 -user ',parameters('adminUsername'),' -password ',parameters('adminPassword'),' -sqlserver ',variables('musicstoresqlName'),'.database.windows.net')]"
}
}
}
Özelliği commandToExecute özelliğinden protected yapılandırmasına taşımak, aşağıdaki örnekte gösterildiği gibi yürütme dizesini güvence altına alır.
{
"apiVersion": "2015-06-15",
"type": "extensions",
"name": "config-app",
"location": "[resourceGroup().location]",
"dependsOn": [
"[concat('Microsoft.Compute/virtualMachines/', variables('vmName'),copyindex())]",
"[variables('musicstoresqlName')]"
],
"tags": {
"displayName": "config-app"
},
"properties": {
"publisher": "Microsoft.Compute",
"type": "CustomScriptExtension",
"typeHandlerVersion": "1.9",
"autoUpgradeMinorVersion": true,
"settings": {
"fileUris": [
"https://raw.githubusercontent.com/Microsoft/dotnet-core-sample-templates/master/dotnet-core-music-windows/scripts/configure-music-app.ps1"
]
},
"protectedSettings": {
"commandToExecute": "[concat('powershell -ExecutionPolicy Unrestricted -File configure-music-app.ps1 -user ',parameters('adminUsername'),' -password ',parameters('adminPassword'),' -sqlserver ',variables('musicstoresqlName'),'.database.windows.net')]"
}
}
}
Bir Azure altyapı hizmeti (IaaS) VM'sinde uzantıları kullanıyorsanız, sertifikalar konsolunda Windows Azure CRP Sertifika Oluşturucu konusunu içeren sertifikaları görebilirsiniz. Klasik RedDog Ön Uç (RDFE) VM'sinde, bu sertifikalar Uzantılar için Windows Azure Hizmet Yönetimi konu adına sahiptir.
Bu sertifikalar, uzantıların kullandığı korumalı ayarların (parola ve diğer kimlik bilgileri) aktarımı sırasında VM ile konağı arasındaki iletişimin güvenliğini sağlar. Azure doku denetleyicisi sertifikaları oluşturur ve Azure VM Aracısı'na geçirir. VM'yi her gün durdurup başlatırsanız, doku denetleyicisi yeni bir sertifika oluşturabilir. Sertifika, bilgisayarın kişisel sertifika deposunda depolanır. Bu sertifikalar silinebilir. Azure VM Aracısı gerekirse sertifikaları yeniden oluşturur.
Aracılar ve uzantılar nasıl güncelleştirilir?
Aracılar ve uzantılar aynı otomatik güncelleştirme mekanizmasını paylaşır.
Bir güncelleştirme kullanılabilir olduğunda ve otomatik güncelleştirmeler etkinleştirildiğinde, güncelleştirme yalnızca bir uzantı veya başka bir VM modeli değiştikten sonra VM'ye yüklenir. Değişiklikler şunları içerebilir:
- Veri diskleri
- Extensions
- Uzantı Etiketleri
- Önyükleme teşhis kapsayıcısı
- Konuk işletim sistemi gizli bilgileri
- VM boyutu
- Ağ profili
Yayımcılar güncelleştirmeleri çeşitli zamanlarda bölgeler için kullanılabilir hale getirir. Farklı sürümlerde farklı bölgelerdeki VM'leriniz olabilir.
Uyarı
Bazı güncelleştirmeler ek güvenlik duvarı kuralları gerektirebilir. Daha fazla bilgi için bkz. Ağ erişimi.
VM'ye dağıtılan uzantıları listeleme
Bir VM'ye dağıtılan uzantıları listelemek için aşağıdaki komutu kullanabilirsiniz:
$vm = Get-AzVM -ResourceGroupName "<myResourceGroup>" -VMName "<myVM>"
$vm.Extensions | select Publisher, VirtualMachineExtensionType, TypeHandlerVersion
Bu komut aşağıdaki örneğe benzer bir çıktı oluşturur:
Publisher VirtualMachineExtensionType TypeHandlerVersion
--------- --------------------------- ------------------
Microsoft.Compute CustomScriptExtension 1.9
Aracı güncelleştirmeleri
Azure VM Aracısı yalnızca uzantı işleme kodunu içerir. Windows yapılandırma kodu ayrıdır. Azure VM Aracısı'nı kaldırabilirsiniz. Azure VM Aracısı'nın otomatik güncelleştirmesini devre dışı bırakamazsınız.
Uzantı işleme kodu aşağıdaki görevlerden sorumludur:
- Azure dokusuyla iletişim kurun.
- Yüklemeler, raporlama durumu, tek tek uzantıları güncelleştirme ve uzantıları kaldırma gibi VM uzantısı işlemlerini işleyin. Güncelleştirmeler, uzantı işleme kodunda güvenlik düzeltmeleri, hata düzeltmeleri ve geliştirmeler içerir.
Hangi sürümü çalıştırdığınızı denetlemek için bkz. Azure VM Aracısı'nı algılama.
Uzantı güncelleştirmeleri
Bir uzantı güncelleştirmesi kullanılabilir olduğunda ve otomatik güncelleştirmeler etkinleştirildiğinde, bir VM modeli değişirse Azure VM Aracısı uzantıyı indirir ve yükselter.
Otomatik uzantı güncelleştirmeleri küçük veya acil düzeltmedir. Uzantıyı sağlarken küçük güncelleştirmeleri kabul edebilir veya geri çevirebilirsiniz. Aşağıdaki örnekte, bir ARM şablonundaki küçük sürümleri "autoUpgradeMinorVersion": true, parametresini kullanarak otomatik olarak nasıl yükselteceğiniz gösterilmektedir.
"properties": {
"publisher": "Microsoft.Compute",
"type": "CustomScriptExtension",
"typeHandlerVersion": "1.9",
"autoUpgradeMinorVersion": true,
"settings": {
"fileUris": [
"https://raw.githubusercontent.com/Microsoft/dotnet-core-sample-templates/master/dotnet-core-music-windows/scripts/configure-music-app.ps1"
]
},
En son ikincil sürüm hata düzeltmelerini almak için uzantı dağıtımlarınızda her zaman otomatik güncelleştirmeyi seçmenizi kesinlikle öneririz. Güvenlik veya önemli hata düzeltmeleri taşıyan düzeltme güncelleştirmelerini geri çeviremezsiniz.
Otomatik güncelleştirmeleri devre dışı bırakırsanız veya ana sürümü yükseltmeniz gerekiyorsa Set-AzVMExtension komutunu kullanın ve hedef sürümü belirtin.
Uzantı Sürümünü Denetle
Uyarı
Model ve Örnek Görünümü karşılaştırması
Azure'da model görünümü bir uzantı (yayımcı, tür ve istenen sürüm) için tanımladığınız yapılandırmayı yakalarken , örnek görünümü her VM veya ölçek kümesi örneğinde çalıştırılan canlı durumu ve gerçek işleyici sürümünü gösterir; gerçekte yüklü olanı doğrularken örnek görünümünü gerçeklerin kaynağı olarak kullanın.
Tek bir VM'i denetleme
Azure CLI
az vm get-instance-view -g <rg> -n <vm> \
--query "extensions[].{name:name,type:type,version:typeHandlerVersion,status:statuses[0].displayStatus}" \
-o table
Gerçekte yüklü işleyici sürümünü ve durumunu göstermek için VM'nin örnek görünümünü okur.
PowerShell
Get-AzVM -ResourceGroupName <rg> -Name <vmName> -Status |
Select-Object -ExpandProperty Extensions
Her uzantı için TypeHandlerVersion ve Statuses inceleyerek çalışan sürümü ve durumunu doğrulayın.
Ölçek kümelerini denetleme (Tekdüzen veya Esnek)
Azure CLI
# Scale set summary (health)
az vmss get-instance-view -g <rg> -n <vmss>
# Per-instance extension versions
az vmss list-instances -g <rg> -n <vmss> --expand instanceView \
--query "[].{instanceId:instanceId, extVers:instanceView.extensions[].typeHandlerVersion}"
# Specific instance
az vmss vm get-instance-view -g <rg> -n <vmss> --instance-id <id>
Gerçek işleyici sürümlerini doğrulamak için ölçek kümesi veya örnek başına düzeyinde örnek görünümünü kullanın.
PowerShell
Get-AzVmssVM -ResourceGroupName <rg> -VMScaleSetName <vmss> -InstanceView
Uzantı sürümleri ve durumları da dahil olmak üzere örnek başına çalışma zamanı durumunu döndürür.
Uzantı güncelleştirmelerini tanımlama
Uzantı güncelleştirmelerini tanımlamanın birkaç yolu vardır.
Uzantının vm üzerinde autoUpgradeMinorVersion ile ayarlandığını belirleme
Uzantının parametresiyle autoUpgradeMinorVersion sağlanmış olup olmadığını belirlemek için VM modelini görüntüleyebilirsiniz. VM modelini denetlemek için Get-AzVm komutunu kullanın ve kaynak grubunu ve VM adını aşağıdaki gibi sağlayın:
$vm = Get-AzVm -ResourceGroupName "myResourceGroup" -VMName "myVM"
$vm.Extensions
Aşağıdaki örnek çıktı, autoUpgradeMinorVersion parametresinin true olarak ayarlandığını gösterir.
ForceUpdateTag :
Publisher : Microsoft.Compute
VirtualMachineExtensionType : CustomScriptExtension
TypeHandlerVersion : 1.9
AutoUpgradeMinorVersion : True
autoUpgradeMinorVersion olayının ne zaman gerçekleştiğini belirleme
Uzantıya yönelik bir güncelleştirmenin ne zaman gerçekleştiğini görmek için C:\WindowsAzure\Logs\WaAppAgent.log konumundaki VM'deki aracı günlüklerini gözden geçirebilirsiniz.
Aşağıdaki örnekte, Microsoft.Compute.CustomScriptExtension sürümü yüklü olan VM ve 1.9 sürümü için mevcut olan bir düzeltme gösterilmektedir.
[INFO] Getting plugin locations for plugin 'Microsoft.Compute.CustomScriptExtension'. Current Version: '1.8', Requested Version: '1.9'
[INFO] Auto-Upgrade mode. Highest public version for plugin 'Microsoft.Compute.CustomScriptExtension' with requested version: '1.9', is: '1.9'
Aracı izinleri
Görevlerini gerçekleştirmek için Azure VM Aracısı'nın Yerel Sistem olarak çalışması gerekir.
VM uzantılarıyla ilgili sorunları giderme
Her VM uzantısının belirli sorun giderme adımları olabilir. Örneğin, Özel Betik Uzantısı'nı kullandığınızda, betik yürütme ayrıntılarını uzantının çalıştırıldığı VM'de yerel olarak bulabilirsiniz.
Aşağıdaki sorun giderme eylemleri tüm VM uzantıları için geçerlidir:
Azure VM Aracı Günlüğünü denetlemek için uzantınızın C:\WindowsAzure\Logs\WaAppAgent.log içinde sağlandığı etkinliğe bakın.
C:\WindowsAzure\Logs\Plugins extensionName içinde daha fazla ayrıntı için uzantı günlüklerine<bakın>.
Hata kodları, bilinen sorunlar ve uzantıya özgü diğer bilgiler için uzantıya özgü belgelerde sorun giderme bölümlerine bakın.
Sistem günlüklerine bakın. Uzantının engellenmesine neden olabilecek, paket yöneticisine özel erişim gerektiren başka bir uygulamanın uzun süre çalışan yüklemesi gibi diğer işlemleri kontrol edin.
Vm'de, sağlama durumu başarısız olan bir uzantı varsa, diğer yeni uzantılar yüklenemez.
Uzantı hatalarının yaygın nedenleri
Uzantının başarısız olmasının bazı yaygın nedenleri şunlardır:
Uzantıların çalıştırılması 20 dakika sürer. (90 dakikalık süreye sahip olan Özel Komut Dosyası, Chef ve DSC özel durumlardır.) Dağıtımınız bu süreyi aşarsa zaman aşımına uğrar. Bu sorunun nedeni düşük kaynak VM'leri olabilir veya uzantı sağlamaya çalışırken diğer VM yapılandırmaları veya başlangıç görevleri büyük miktarda kaynak tüketiyor olabilir.
En düşük önkoşullar karşılanmaz. Bazı uzantıların HPC görüntüleri gibi VM SKU'larına bağımlılıkları vardır. Uzantılar, Azure Depolama veya genel hizmetlerle iletişim kurma gibi belirli ağ erişim gereksinimlerine sahip olabilir. Diğer örnekler paket depolarına erişim, disk alanı yetersiz veya güvenlik kısıtlamaları olabilir.
Paket yöneticisi erişimi özeldir. Bazı durumlarda, her ikisinin de paket yöneticisine özel erişime ihtiyacı olduğundan uzun süre çalışan bir VM yapılandırması ve uzantı yüklemesi çakışabilir.
Uzantı durumunu görüntüleme
Bir VM uzantısı bir VM'de çalıştırıldıktan sonra, uzantı durumunu döndürmek için Get-AzVM komutunu kullanın. Sonuç Substatuses[0] , uzantı sağlamanın başarılı olduğunu gösterir ve bu da vm'ye başarıyla dağıtıldığı anlamına gelir.
Substatuses[1] sonucunu görürseniz, uzantının VM içinde yürütülmesi başarısız oldu.
Get-AzVM -ResourceGroupName "myResourceGroup" -VMName "myVM" -Status
Çıktı aşağıdaki örneğe benzer:
Extensions[0] :
Name : CustomScriptExtension
Type : Microsoft.Compute.CustomScriptExtension
TypeHandlerVersion : 1.9
Substatuses[0] :
Code : ComponentStatus/StdOut/succeeded
Level : Info
DisplayStatus : Provisioning succeeded
Message : Windows PowerShell \nCopyright (C) Microsoft Corporation. All rights reserved.\n
Substatuses[1] :
Code : ComponentStatus/StdErr/succeeded
Level : Info
DisplayStatus : Provisioning succeeded
Message : The argument 'cseTest%20Scriptparam1.ps1' to the -File parameter does not exist. Provide the path to an existing '.ps1' file as an argument to the
-File parameter.
Statuses[0] :
Code : ProvisioningState/failed/-196608
Level : Error
DisplayStatus : Provisioning failed
Message : Finished executing command
Uzantı yürütme durumunu Azure portalında da bulabilirsiniz. VM'yi seçin, Uzantılar'ı ve ardından istediğiniz uzantıyı seçin.
VM uzantısını yeniden çalıştırma
Bazı durumlarda, bir VM uzantısını yeniden çalıştırmanız gerekebilir. Uzantıyı kaldırıp istediğiniz bir yürütme yöntemiyle yeniden çalıştırarak uzantıyı yeniden çalıştırabilirsiniz. Uzantıyı kaldırmak için Remove-AzVMExtension komutunu aşağıdaki gibi kullanın:
Remove-AzVMExtension -ResourceGroupName "myResourceGroup" -VMName "myVM" -Name "myExtensionName"
Uzantıyı Azure portalından da kaldırabilirsiniz. Bir VM seçin, Uzantılar'ı ve ardından istediğiniz uzantıyı seçin. Kaldır'ı seçin.
Ortak VM uzantısı referansı
Aşağıdaki tabloda VM uzantıları için bazı yaygın başvurular sağlanmaktadır.
| Uzantı adı | Description |
|---|---|
| Windows için Özel Betik Uzantısı | Bir Azure sanal makinesi üzerinde betikleri çalıştırmak. |
| Azure Diagnostics uzantısı | Azure Tanılama'yı yönetme. |
| VMAccess uzantısı | Kullanıcıları ve kimlik bilgilerini yönetme. |
Sonraki Adımlar
VM uzantıları hakkında daha fazla bilgi için bkz . Azure sanal makine uzantıları ve özellikleri.