Azure Desired State Configuration uzantısı işleyicisine giriş
Not
DSC Uzantısını etkinleştirmeden önce, azure makine yapılandırması adlı daha yeni bir DSC sürümünün genel kullanıma sunulduğundan emin olmak isteriz. Azure Machine Configuration hizmeti, DSC Uzantısı'nın özelliklerini ve müşteri geri bildirimlerinden sık istenen özellikleri içerir. Azure Makine Yapılandırması, Arc özellikli sunucular aracılığıyla karma makine desteği de içerir.
Azure sanal makineleri (VM) için Azure VM Uzantısı ve ilişkili uzantılar, Microsoft Azure altyapı hizmetlerinin bir parçasıdır. Azure VM uzantıları, VM işlevselliğini genişleten ve çeşitli VM yönetim işlemlerini basitleştiren yazılım bileşenleridir.
DSC uzantısı yalnızca bir yapılandırmayı VM'ye iletir. VM'de yerel olarak dışında devam eden raporlama kullanılamaz.
Kullanılabilir DSC sürümleri
DSC uzantısı, DSC platformunun 1.1 sürümünden yapılandırmaları destekler. Daha fazla bilgi için bkz . PSDesiredStateConfiguration v1.1.
Önkoşullar
Geliştirici iş istasyonu: Azure DSC uzantısıyla etkileşime geçmek için Azure portalını veya Azure PowerShell/CLI SDK'sını kullanmanız gerekir.
Konuk aracısı: DSC yapılandırması tarafından hazırlanan Azure VM,Windows Management Framework (WMF) 4.0 veya sonraki bir sürümü destekleyen bir işletim sistemi kullanmalıdır. Desteklenen işletim sistemi sürümlerinin tam listesi için bkz . Azure DSC uzantısı sürüm geçmişi.
Terimler ve kavramlar
Bu makalede, aşağıdaki kavramlar hakkında bilgi sahibi olduğunuz varsayılır:
Yapılandırma , bir DSC yapılandırma belgesine başvurur.
Node , DSC yapılandırması için bir hedef tanımlar. Bu makalede node her zaman bir Azure VM'sine başvurur.
Yapılandırma verileri, bir yapılandırma için ortam verileri içeren bir PowerShell DSC biçim dosyasında (.psd1) depolanır.
Mimari
Azure DSC uzantısı, Azure VM'lerinde çalışan DSC yapılandırmalarını teslim etmek, uygulamak ve raporlamak için Azure VM Uzantısı çerçevesini kullanır. DSC uzantısı bir yapılandırma belgesini ve bir dizi parametreyi kabul eder.
Uzantı ilk kez çağrıldığında, aşağıdaki mantığı kullanarak bir WMF sürümü yükler:
Azure VM işletim sistemi Windows Server 2016 ise hiçbir işlem yapılmaz. Windows Server 2016'da PowerShell'in en son sürümü zaten yüklüdür.
wmfVersion
Özellik belirtilirse, belirtilen sürüm VM'deki işletim sistemiyle uyumsuz olmadığı sürece WMF'nin belirtilen sürümü yüklenir.Özellik
wmfVersion
belirtilmezse WMF'nin en son geçerli sürümü yüklenir.
WMF yükleme işlemi yeniden başlatma gerektirir. Yeniden başlattıktan sonra uzantı, sağlanırsa özelliğinde modulesUrl
belirtilen .zip dosyasını indirir. Bu konum Azure Blob Depolama içindeyse, dosyaya erişmek için özelliğinde sasToken
bir SAS belirteci belirtebilirsiniz. .zip indirilip paketten çıkarıldıktan sonra, içinde configurationFunction
tanımlanan yapılandırma işlevi bir Yönetilen Nesne Biçimi (MOF) dosyası (.mof) oluşturmak için çalışır. Uzantı daha sonra oluşturulan .mof dosyasını kullanarak komutunu çalıştırır Start-DscConfiguration -Force
. Uzantı çıkışı yakalar ve Azure durum kanalına yazar.
Düğüm yapılandırması adı
parametresi için NodeConfigurationName
Yapılandırma'yı değil düğüm yapılandırmasının adını sağladığından emin olun.
Yapılandırma, düğüm yapılandırmasını (MOF dosyası) derlemek için kullanılan bir betikte tanımlanır. Düğüm yapılandırmasının adı her zaman Yapılandırma'nın ve ardından bir noktanın .
ve localhost
belirli bir bilgisayar adının adıdır.
ARM şablonu dağıtımı
DSC uzantısını dağıtmaya yönelik en yaygın yaklaşım, Azure Resource Manager şablonlarını kullanmaktır. DAHA fazla bilgi edinmek ve ARM şablonlarına DSC uzantısını dahil etme örnekleri için bkz . ARM şablonlarıyla İstenen Durum Yapılandırması uzantısı.
PowerShell cmdlet dağıtımı
DSC uzantısını yönetmeye yönelik PowerShell cmdlet'leri etkileşimli sorun giderme ve bilgi toplama senaryoları için idealdir. DSC uzantısı dağıtımlarını paketlemek, yayımlamak ve izlemek için cmdlet'leri kullanabilirsiniz.
Kullanılabilir PowerShell cmdlet'lerinden bazıları şunlardır:
Publish-AzVMDscConfiguration cmdlet'i bir yapılandırma dosyasını alır, bağımlı DSC kaynakları için tarar ve sonra bir .zip dosyası oluşturur. .zip dosyası, yapılandırmayı uygulamak için gereken yapılandırmayı ve DSC kaynaklarını içerir. Cmdlet, parametresini kullanarak
-OutputArchivePath
paketi yerel olarak da oluşturabilir. Aksi takdirde, cmdlet .zip dosyasını Blob Depolama'da yayımlar ve ardından bir SAS belirteci ile güvenliğini sağlar.Cmdlet tarafından oluşturulan PowerShell yapılandırma betiği (.ps1), arşiv klasörünün kökündeki .zip dosyasındadır. Modül klasörü, kaynaklardaki arşiv klasörüne yerleştirilir.
Set-AzVMDscExtension cmdlet'i, PowerShell DSC uzantısının gerektirdiği ayarları bir VM yapılandırma nesnesine ekler.
Get-AzVMDscExtension cmdlet'i belirli bir VM'nin DSC uzantısı durumunu alır.
Get-AzVMDscExtensionStatus cmdlet'i, DSC uzantısı işleyicisi tarafından yürütülen DSC yapılandırmasının durumunu alır. Bu eylem tek bir VM veya vm grubu üzerinde gerçekleştirilebilir.
Remove-AzVMDscExtension cmdlet'i, uzantı işleyicisini belirli bir VM'den kaldırır. Bu cmdlet'in yapılandırmayı kaldırmadığını, WMF'yi kaldırmadığını veya VM'de uygulanan ayarları değiştirmediğini unutmayın. Cmdlet yalnızca uzantı işleyicisini kaldırır.
Dikkat edilmesi gereken önemli hususlar
Azure Resource Manager cmdlet'leriyle çalışırken dikkat edilmesi gereken birkaç nokta vardır.
Azure Resource Manager cmdlet'leri zaman uyumlu.
, ,
Version
VMName
ArchiveStorageAccountName
, veLocation
gibiResourceGroupName
çeşitli parametreler gereklidir.ArchiveResourceGroupName
isteğe bağlı bir parametredir. Depolama hesabınız VM'nin oluşturulduğu kaynak grubundan farklı bir kaynak grubuna ait olduğunda bu parametreyi belirtin.AutoUpdate
Kullanılabilir olduğunda uzantı işleyicisini otomatik olarak en son sürüme güncelleştirmek için anahtarını kullanın. Bu parametre, WMF'nin yeni bir sürümü yayımlandığında VM'de yeniden başlatmalara neden olabilir.
PowerShell cmdlet'leri ile yapılandırma
Azure DSC uzantısı, dağıtım sırasında Azure VM'lerini doğrudan yapılandırmak için DSC yapılandırma belgelerini kullanabilir. Bu adım, düğümü Otomasyon veya Makine Yapılandırması'na kaydetmez. Düğümün merkezi olarak yönetilmiyor olduğunu unutmayın.
Aşağıdaki kodda basit bir örnek yapılandırma gösterilmektedir. Bu örnekle çalışmak için bu yapılandırmayı iisInstall.ps1 betik dosyası olarak yerel olarak kaydedin.
configuration IISInstall
{
node "localhost"
{
WindowsFeature IIS
{
Ensure = "Present"
Name = "Web-Server"
}
}
}
Aşağıdaki PowerShell komutları iisInstall.ps1 betiğini belirtilen VM'ye yerleştirir. Komutlar ayrıca yapılandırmayı yürütür ve durumu yeniden bildirir.
$resourceGroup = 'dscVmDemo'
$vmName = 'myVM'
$storageName = 'demostorage'
#Publish the configuration script to user storage
Publish-AzVMDscConfiguration -ConfigurationPath .\iisInstall.ps1 -ResourceGroupName $resourceGroup -StorageAccountName $storageName -force
#Set the VM to run the DSC configuration
Set-AzVMDscExtension -Version '2.76' -ResourceGroupName $resourceGroup -VMName $vmName -ArchiveStorageAccountName $storageName -ArchiveBlobName 'iisInstall.ps1.zip' -AutoUpdate -ConfigurationName 'IISInstall'
Azure CLI dağıtımı
Azure CLI, DSC uzantısını mevcut bir VM'ye dağıtmak için kullanılabilir. Aşağıdaki örneklerde, Windows'da bir VM'nin nasıl dağıtılacağı gösterilmektedir.
Windows çalıştıran bir VM için aşağıdaki komutu kullanın:
az vm extension set \
--resource-group myResourceGroup \
--vm-name myVM \
--name DSC \
--publisher Microsoft.Powershell \
--version 2.77 --protected-settings '{}' \
--settings '{}'
Azure portalı dağıtımı
Azure portalında DSC uzantısını ayarlamak için şu adımları izleyin:
Vm'ye gidin.
Ayarlar'ın altında Uzantılar + Uygulamalar'ı seçin.
Uzantılar'ın altında + Ekle'yi seçin.
PowerShell İstenen Durum Yapılandırması'nın ardından İleri'yi seçin.
DSC uzantısı için aşağıdaki parametreleri yapılandırın.
Yapılandırma Modülleri veya Betik: (Gerekli) VM'niz için Yapılandırma modüllerini veya betik dosyasını sağlayın.
Yapılandırma modülleri ve betikleri, yapılandırma betiği olan bir .ps1 dosyası veya kökte .ps1 yapılandırma betiği bulunan bir .zip dosyası gerektirir. .zip dosyası kullanıyorsanız, tüm bağımlı kaynakların .zip dosyasındaki modül klasörlerine eklenmesi gerekir. Azure PowerShell SDK'sında bulunan Publish-AzureVMDscConfiguration -OutputArchivePath cmdlet'ini kullanarak .zip dosyasını oluşturabilirsiniz. .zip dosyası kullanıcı Blob Depolamanıza yüklenir ve bir SAS belirteci ile güvenli hale getirilir.
Yapılandırmanın Modüle Uygun Adı: (Gerekli) Tek bir .ps1 betik dosyasına birden çok yapılandırma işlevi eklemek için bu ayarı belirtin. Bu ayar için yapılandırma .ps1 betik dosyasının adını ve ardından eğik çizgi
\
ve ardından yapılandırma işlevinin adını girin. Örneğin, .ps1 betik dosyasında configuration.ps1 adı varsa ve yapılandırma adı IisInstall ise, ayarın değeriniconfiguration.ps1\IisInstall
girin.Yapılandırma Bağımsız Değişkenleri: Yapılandırma işlevi bağımsız değişkenler alıyorsa, biçimini
argumentName1=value1,argumentName2=value2
kullanarak değerleri girin. Bu biçimin PowerShell cmdlet'lerinde veya ARM şablonlarında yapılandırma bağımsız değişkenlerini belirtmek için kullanılan biçimden farklı olduğuna dikkat edin.Yapılandırma Verileri PSD1 Dosyası: Yapılandırmanız .psd1 biçiminde bir yapılandırma veri dosyası gerektiriyorsa, veri dosyasını seçmek ve kullanıcı Blob Depolama alanınıza yüklemek için bu ayarı kullanın. Yapılandırma veri dosyasının güvenliği Blob Depolama'da bir SAS belirteci ile sağlanır.
WMF Sürümü: VM'nize yüklenecek Windows Yönetim Çerçevesi sürümünü belirtin. Varsayılan değer olan en son'u seçerseniz sistem WMF'nin en son sürümünü yükler. Diğer olası değerler 4.0, 5.0 ve 5.1'i içerir. Olası değerler güncelleştirmelere tabidir.
Veri Toplama: DSC uzantısının VM'niz hakkında telemetri toplamasını istiyorsanız bu ayarı etkinleştirin. Daha fazla bilgi için bkz . Azure DSC uzantısı veri toplama.
Sürüm: (Gerekli) Yüklenecek DSC uzantısının sürümünü belirtin. Sürümler hakkında bilgi için bkz . Azure DSC uzantısı sürüm geçmişi.
Otomatik Yükseltme İkincil Sürüm: Bu ayar, cmdlet'lerdeki anahtarla eşler
AutoUpdate
. Yükleme sırasında DSC uzantısının otomatik olarak en son sürüme güncelleştirilebilmesini sağlamak için bu ayarı yapılandırın. Evet , DSC uzantı işleyicisine en son kullanılabilir sürümü kullanmasını sağlar. Hayır (varsayılan), Sürüm ayarında belirttiğiniz sürümün yüklenmesini zorlar.
Parametreleri yapılandırdıktan sonra Gözden Geçir + Oluştur'u ve ardından Oluştur'u seçin.
DSC uzantı günlükleri
Azure DSC uzantısının günlüklerini altında VM'de C:\WindowsAzure\Logs\Plugins\Microsoft.Powershell.DSC\<version number>
görüntüleyebilirsiniz.
Sonraki adımlar
- PowerShell DSC hakkında daha fazla bilgi için PowerShell belge merkezine gidin.
- Azure DSC uzantısı için ARM şablonunu inceleyin.
- PowerShell DSC kullanarak yönetebileceğiniz daha fazla işlevsellik ve daha fazla DSC kaynağı için PowerShell galerisine göz atın.
- Hassas parametreleri yapılandırmalara geçirme hakkında ayrıntılı bilgi için bkz . Azure DSC uzantısı işleyicisi ile kimlik bilgilerini güvenli bir şekilde yönetme.