Aracılığıyla paylaş


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.

  • , , VersionVMNameArchiveStorageAccountName, ve Locationgibi ResourceGroupNameç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:

  1. Vm'ye gidin.

  2. Ayarlar'ın altında Uzantılar + Uygulamalar'ı seçin.

  3. Uzantılar'ın altında + Ekle'yi seçin.

  4. PowerShell İstenen Durum Yapılandırması'nın ardından İleri'yi seçin.

  5. 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ğerini configuration.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=value2kullanarak 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.

  6. 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.