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.
Şunlar için geçerlidir: ✔️ Linux VM'leri ✔️ Esnek ölçek kümeleri
Komut Çalıştır özelliği, Azure Linux VM'sinde kabuk betiklerini çalıştırmak için sanal makine (VM) aracısını kullanır. Bu betikleri genel makine veya uygulama yönetimi için kullanabilirsiniz. Vm erişimi ve ağ sorunlarını hızla tanılamanıza ve düzeltmenize ve VM'yi yeniden iyi bir duruma döndürmenize yardımcı olabilir.
Fayda -ları
Sanal makinelerinize birden çok yolla erişebilirsiniz. Komutunu Çalıştır, SANAL makine aracısını kullanarak sanal makinelerinizde betikleri uzaktan çalıştırabilir. Komutunu Azure portalı, REST API veya Linux VM'leri için Azure CLI aracılığıyla kullanırsınız.
Bu özellik, bir sanal makine içinde betik çalıştırmak istediğiniz tüm senaryolarda kullanışlıdır. Ağ veya yönetici kullanıcı yapılandırması nedeniyle RDP veya SSH bağlantı noktası açık olmayan bir sanal makinede sorun gidermenin ve düzeltmenin tek yollarından biridir.
Önkoşullar
Linux Dağıtımı Desteklenir
| Publisher | Dağıtım | x64 | ARM64 |
|---|---|---|---|
| Alma Linux Topluluğu | Alma Linux | 8.x+, 9.x+ | 8.x+, 9.x+ |
| Credativ | Debian | 10+ | 11.x+ |
| Kinvolk | Flatcar Linux | 3374.2.x+ | 3374.2.x+ |
| Microsoft | Azure Linux | 2.x | 2.x |
| openSUSE Projesi | openSUSE | 12.3+ | Desteklenmiyor |
| Oracle | Oracle Linux | 6.4+, 7.x+, 8.x+ | Desteklenmiyor |
| Red Hat | Red Hat Enterprise Linux | 6.7+, 7.x+, 8.x+, 9.x+, 10.x+ | 8.6+, 9.0+, 10.x+ |
| CIQ | Rocky Linux | 9.x+ | 9.x+ |
| SUSE | SLES | 12.x+, 15.x+ | 15.x SP4+ |
| Kurallı | Ubuntu (LTS sürümleri) | 18.04+, 20.04+, 22.04+, 24.04+ | 20.04+, 22.04+, 24.04+ |
Restrictions
Çalıştır Komutunu kullanırken aşağıdaki kısıtlamalar geçerlidir:
- Çıktı son 4.096 bayt ile sınırlıdır.
- Betiği çalıştırmak için en düşük süre yaklaşık 20 saniyedir.
- Varsayılan olarak Linux'ta yükseltilmiş kullanıcı olarak çalıştırılan betikler.
- Aynı anda bir betik çalıştırabilirsiniz.
- Bilgi isteyen betikler (etkileşimli mod) desteklenmez.
- Çalışan bir betiği iptal edebilirsiniz.
- Betiğin çalıştırabileceği en uzun süre 90 dakikadır. Bundan sonra betik zaman aşımına uğradı.
- Betiğin sonuçlarını döndürmek için VM'den giden bağlantı gereklidir.
Uyarı
Düzgün çalışmak için Çalıştır Komutu, Azure genel IP adreslerine bağlantı (bağlantı noktası 443) gerektirir. Uzantının bu uç noktalara erişimi yoksa betikler başarıyla çalıştırılabilir ancak sonuçları döndürmez. Sanal makinedeki trafiği engelliyorsanız, etiketini kullanarak Azure genel IP adreslerine giden trafiğe izin vermek için AzureCloud kullanabilirsiniz.
Kullanılabilir komutlar
Bu tabloda Linux VM'leri için kullanılabilen komutların listesi gösterilir. İstediğiniz özel betiği çalıştırmak için RunShellScript komutunu kullanabilirsiniz. Bir komutu çalıştırmak için Azure CLI veya PowerShell kullanırken, veya --command-id parametresi için -CommandId sağladığınız değer aşağıdaki listelenen değerlerden biri olmalıdır. Kullanılabilir bir komut olmayan bir değer belirttiğinizde şu hatayı alırsınız:
The entity was not found in this Azure location
| İsim | Açıklama | Daha Fazla Bilgi |
|---|---|---|
| RunShellScript | Linux kabuk betiği çalıştırır. | |
| ifconfig | Tüm ağ arabirimlerinin yapılandırmasını alır. | readme |
Azure Komut Satırı Arayüzü (Azure CLI)
Aşağıdaki örnekte az vm run-command komutu kullanılarak Azure Linux VM'sinde kabuk betiği çalıştırılır.
az vm run-command invoke -g myResourceGroup -n myVm --command-id RunShellScript --scripts "apt-get update && apt-get install -y nginx"
Uyarı
Komutları farklı bir kullanıcı olarak çalıştırmak için bir kullanıcı hesabı belirtmek için girin sudo -u .
Azure portalı
Azure portalında bir VM'ye gidin ve soldaki menüde İşlemler'in altında Çalıştır komutunu seçin. VM'de çalıştırılacak kullanılabilir komutların listesini görürsünüz.
Çalıştırılacak komutu seçin. Bazı komutların isteğe bağlı veya gerekli giriş parametreleri olabilir. Bu komutlar için parametreler, giriş değerlerini sağlamanız için metin alanları olarak sunulur. Her komut için Betiği görüntüle'yi genişleterek çalıştırılan betiği görüntüleyebilirsiniz. RunShellScript , kendi özel betiğinizi sağlamanıza olanak sağladığından diğer komutlardan farklıdır.
Uyarı
Yerleşik komutlar düzenlenemez.
Komutu seçtikten sonra çalıştır'ı seçerek betiği çalıştırın. Betik tamamlandıktan sonra çıktıyı ve çıkış penceresindeki hataları döndürür. Aşağıdaki ekran görüntüsünde ifconfig komutunu çalıştırmaya yönelik örnek bir çıkış gösterilmektedir.
PowerShell
Aşağıdaki örnek, Azure VM'de PowerShell betiği çalıştırmak için Invoke-AzVMRunCommand cmdlet'ini kullanır. cmdlet'i, parametresinde başvuruda bulunulduğu betiğin -ScriptPath cmdlet'in çalıştırıldığı yere yerel olmasını bekler.
Invoke-AzVMRunCommand -ResourceGroupName '<myResourceGroup>' -Name '<myVMName>' -CommandId 'RunShellScript' -ScriptPath '<pathToScript>' -Parameter @{"arg1" = "var1";"arg2" = "var2"}
Komutunu Çalıştır'a erişimi sınırlama
Çalıştırma komutlarının listelenmesi veya bir komutun ayrıntılarının gösterilmesi için Abonelik düzeyinde izin gerekir Microsoft.Compute/locations/runCommands/read . Yerleşik Okuyucu rolü ve üst düzeyler bu izne sahiptir.
Komut çalıştırmak için izin gerekir Microsoft.Compute/virtualMachines/runCommands/write .
Sanal Makine Katılımcısı rolü ve üst düzeyler bu izne sahiptir.
Komut Çalıştır'ı kullanmak için yerleşik rollerden birini kullanabilir veya özel bir rol oluşturabilirsiniz.
Eylem Çalıştırma Komutu Linux sorunlarını giderme
Linux ortamları için eylem çalıştırma komutunun sorunlarını giderirken, diğer ayrıntılar için genellikle aşağıdaki dizinde bulunan işleyici günlük dosyasına bakın: /var/log/azure/run-command/handler.log
Bilinen sorunlar
Linux eylem çalıştırma komut günlükleri, Windows günlüklerini çalıştırma eylemiyle karşılaştırıldığında birkaç önemli farka sahiptir:
- Sıra numarası günlüğün her satırı 'seq=#' olarak bildirilir
- Bunu içeren
Awaiting completion...bir satır olmayacaktır çünkü bu işlemde yalnızca Windows çalıştır komutu olacaktır. - Satır
Command existed with code: #aynı zamanda yalnızca eylem çalıştırma komutu Windows günlüğünde de bulunur.
Eylem Çalıştırma Komutunu Kaldırma
Eylem çalıştırma komutu Linux uzantısını kaldırmanız gerekiyorsa Azure PowerShell ve CLI için aşağıdaki adımlara bakın:
Aşağıdaki kaldırma örneklerinde rgname ve vmname değerini ilgili kaynak grubu adınız ve sanal makine adınızla değiştirin.
Invoke-AzVMRunCommand -ResourceGroupName 'rgname' -VMName 'vmname' -CommandId 'RemoveRunCommandLinuxExtension'
az vm run-command invoke --command-id RemoveRunCommandLinuxExtension --name vmname -g rgname
Uyarı
Çalıştırma Komutunu yeniden uyguladığınızda uzantı otomatik olarak yüklenir. Uzantıyla ilgili sorunları gidermek için uzantı kaldırma komutunu kullanabilirsiniz.
Sonraki Adımlar
Sanal makinenizde betikleri ve komutları uzaktan çalıştırmanın diğer yolları hakkında bilgi edinmek için bkz. Linux VM'nizde betik çalıştırma.