Share via


Azure Desired State Configuration uzantısı işleyicisine giriş

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.

Windows PowerShell için Azure İstenen Durum Yapılandırması (DSC) uzantısının birincil kullanımı vm'yi Azure Otomasyonu Durum Yapılandırması (DSC) hizmetine önyüklemektir. Bu hizmet, VM yapılandırmasının sürekli yönetimini ve Azure İzleyici gibi diğer işletim araçlarıyla tümleştirmeyi içeren avantajlar sağlar. Vm'lerinizi hizmete kaydetmek ve Azure abonelikleri arasında çalışan esnek bir çözüm elde etmek için uzantıyı kullanabilirsiniz.

DSC uzantısını Otomasyon DSC hizmetinden bağımsız olarak çalıştırabilirsiniz, ancak bu yöntem yalnızca bir yapılandırmayı VM'ye iletir. VM'de yerel olarak dışında devam eden raporlama kullanılamaz. DSC uzantısını etkinleştirmeden önce kullanılabilir DSC sürümlerini gözden geçirin ve yapılandırma gereksinimlerinizi destekleyen sürümü seçin.

Bu makalede, Otomasyon ekleme için DSC uzantısının nasıl kullanılacağı veya Azure SDK ile VM'lere yapılandırma atamak için bir araç olarak nasıl kullanılacağı açıklanmaktadır.

Kullanılabilir DSC sürümleri

İstenen Durum Yapılandırması'nın çeşitli sürümleri uygulama için kullanılabilir. DSC uzantısını etkinleştirmeden önce yapılandırma ve iş hedeflerinizi en iyi destekleyen DSC sürümünü seçin.

Sürüm Kullanılabilirlik Açıklama
2.0 Genel kullanılabilirlik İstenen Durum Yapılandırması 2.0 , Azure Otomatik Yönetim Makine Yapılandırması özelliğiyle kullanılmak üzere desteklenir. Makine yapılandırma özelliği, DSC uzantı işleyicisinin özelliklerini, Durum Yapılandırması Azure Otomasyonu ve müşteri geri bildirimlerinden en sık istenen özellikleri birleştirir. Makine yapılandırması, Arc özellikli sunucular aracılığıyla karma makine desteği de içerir.
1.1 Genel kullanılabilirlik Uygulamanız Azure Otomatik Yönetim makine yapılandırma özelliğini kullanmıyorsa İstenen Durum Yapılandırması 1.1'i seçmeniz gerekir. Daha fazla bilgi için bkz . PSDesiredStateConfiguration v1.1.
3.0 Genel önizleme İstenen Durum Yapılandırması 3.0 genel beta sürümünde kullanılabilir. Bu sürüm yalnızca Azure makine yapılandırmasıyla veya İstenen Durum Yapılandırması 1.1'den geçişi test etmek için üretim dışı ortamlarda kullanılmalıdır.

Önkoşullar

  • Yerel makine: Azure DSC uzantısıyla etkileşime geçmek için yerel makinede Azure portalını veya Azure PowerShell 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. Hiçbir dosya sağlanmazsa, uzantıyla birlikte varsayılan bir yapılandırma betiği eklenir. Varsayılan yapılandırma betiği yalnızca Yerel Configuration Manager'da meta verileri ayarlamak için kullanılır.

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 indirildikten ve 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.

Varsayılan yapılandırma betiği

Azure DSC uzantısı, vm'yi Azure Otomasyonu Durum Yapılandırma hizmetine eklerken kullanılması amaçlanan bir varsayılan yapılandırma betiği içerir. Betik parametreleri, Local Configuration Manager'ın yapılandırılabilir özellikleriyle hizalanır. Betik parametreleri için bkz. Azure Resource Manager (ARM) şablonlarıyla İstenen Durum Yapılandırması uzantısında varsayılan yapılandırma betiği. Betiğin tamamı için GitHub'da Azure Hızlı Başlangıç Şablonu'na bakın.

Azure Otomasyonu Durum Yapılandırması kaydı

Bir düğümü Azure Otomasyonu Durum Yapılandırma hizmetine kaydetmek için Azure DSC uzantısını kullandığınızda aşağıdaki değerleri sağlarsınız:

  • RegistrationUrl: Azure Otomasyonu hesabının https adresi.
  • RegistrationKey: Düğümleri hizmete kaydetmek için kullanılan paylaşılan gizli dizi.
  • NodeConfigurationName: Hizmetten çekerek sunucu rolünü yapılandıracak düğüm yapılandırmasının (MOF) adı. Değer, Yapılandırma'nın adı değil düğüm yapılandırmasının adıdır.

Bu değerleri Azure portalından toplayabilir veya Windows PowerShell'de aşağıdaki komutları çalıştırabilirsiniz:

(Get-AzAutomationRegistrationInfo -ResourceGroupName <resourcegroupname> -AutomationAccountName <accountname>).Endpoint
(Get-AzAutomationRegistrationInfo -ResourceGroupName <resourcegroupname> -AutomationAccountName <accountname>).PrimaryKey

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.

Uyarı

Düğüm yapılandırmasının Azure Otomasyonu Durum Yapılandırması'nda mevcut olduğundan emin olun. Bu değer yoksa uzantı dağıtımı bir hata döndürü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. DSC uzantısı cmdlet'leri şu anda varsayılan yapılandırma betiğiyle çalışacak şekilde güncelleştirilmiyor.

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 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'a 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 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.

    Dekont

    Varsayılan yapılandırma betiğiyle çalışıyorsanız, aşağıdaki parametrelerin çoğunun betik yerine doğrudan Azure portalında tanımlanması gerektiğini unutmayı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 olan bir .zip dosyası gerektirir. .zip dosyası kullanıyorsanız, tüm bağımlı kaynaklar .zip dosyasındaki modül klasörlerine eklenmelidir. .zip dosyasını, Azure PowerShell SDK'sında bulunan Publish-AzureVMDscConfiguration -OutputArchivePath cmdlet'ini kullanarak oluşturabilirsiniz. .zip dosyası kullanıcı Blob Depolama 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.

      Dekont

      Yapılandırma bağımsız değişkenleri varsayılan bir yapılandırma betiğinde tanımlanabilir.

    • Yapılandırma Verileri PSD1 Dosyası: Yapılandırmanız .psd1 biçiminde bir yapılandırma veri dosyası gerektiriyorsa, bu ayarı kullanarak veri dosyasını seçin ve bunu kullanıcı Blob Depolama yükleyin. Yapılandırma veri dosyasının güvenliği Blob Depolama 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.