Azure Otomasyonu Durum Yapılandırmasında DSC yapılandırmalarını derleme
Dekont
Otomasyon Durumu Yapılandırması'nı etkinleştirmeden önce, konuk yapılandırması adlı Azure İlkesi özelliği tarafından yönetilen daha yeni bir DSC sürümünün genel kullanıma sunulduğunun bilinmesini isteriz. Konuk yapılandırma hizmeti DSC Uzantısı, Azure Otomasyonu Durum Yapılandırması özelliklerini ve müşteri geri bildirimlerinden en sık istenen özellikleri birleştirir. Konuk yapılandırması, Arc özellikli sunucular aracılığıyla karma makine desteğini de içerir.
İstenen Durum Yapılandırması (DSC) yapılandırmalarını Azure Otomasyonu Durum Yapılandırması'nda aşağıdaki yollarla derleyebilirsiniz:
Azure Durum Yapılandırması derleme hizmeti
- Etkileşimli kullanıcı arabirimine sahip başlangıç yöntemi
- İş durumunu kolayca izleme
Windows PowerShell
- Yerel iş istasyonunda veya derleme hizmetinde Windows PowerShell'den arama
- Geliştirme testi işlem hattıyla tümleştirme
- Karmaşık parametre değerleri sağlama
- Büyük ölçekte düğüm ve düğüm olmayan verilerle çalışma
- Önemli performans geliştirmesi
Yapılandırmaları Azure VM'lerinize göndermek için Azure İstenen Durum Yapılandırması (DSC) uzantısıyla Azure Resource Manager şablonlarını da kullanabilirsiniz. Azure DSC uzantısı, Azure VM'lerinde çalışan DSC yapılandırmalarını teslim etmek, uygulamak ve raporlamak için Azure VM Aracısı çerçevesini kullanır. Azure Resource Manager şablonlarını kullanarak derleme ayrıntıları için bkz . Azure Resource Manager şablonlarıyla İstenen Durum Yapılandırması uzantısı.
Azure State Configuration'da DSC yapılandırması derleme
Portal
- Otomasyon hesabınızda Durum yapılandırması (DSC) seçeneğine tıklayın.
- Yapılandırmalar sekmesine ve ardından derlenecek yapılandırma adına tıklayın.
- Derle'ye tıklayın.
- Yapılandırmada parametre yoksa, derlemek isteyip istemediğinizi onaylamanız istenir. Yapılandırmada parametreler varsa, parametre değerlerini sağlayabilmeniz için Yapılandırmayı Derle dikey penceresi açılır.
- Derleme işi durumunu izleyebilebilmeniz için Derleme İşi sayfası açılır. Bu sayfayı, Azure Otomasyonu Durum Yapılandırması çekme sunucusuna yerleştirilen düğüm yapılandırmalarını (MOF yapılandırma belgeleri) izlemek için de kullanabilirsiniz.
Azure PowerShell
Windows PowerShell ile derlemeye başlamak için Start-AzAutomationDscCompilationJob kullanabilirsiniz. Aşağıdaki örnek kod, SampleConfig adlı bir DSC yapılandırmasının derlenmesine başlar.
Start-AzAutomationDscCompilationJob -ResourceGroupName 'MyResourceGroup' -AutomationAccountName 'MyAutomationAccount' -ConfigurationName 'SampleConfig'
Start-AzAutomationDscCompilationJob
, iş durumunu izlemek için kullanabileceğiniz bir derleme işi nesnesi döndürür. Daha sonra derleme işinin durumunu belirlemek için Get-AzAutomationDscCompilationJob ve akışlarını (çıktı) görüntülemek için Get-AzAutomationDscCompilationJobOutput ile bu derleme işi nesnesini kullanabilirsiniz. Aşağıdaki örnek SampleConfig yapılandırmasının derlenmesini başlatır, tamamlanana kadar bekler ve akışlarını görüntüler.
$CompilationJob = Start-AzAutomationDscCompilationJob -ResourceGroupName 'MyResourceGroup' -AutomationAccountName 'MyAutomationAccount' -ConfigurationName 'SampleConfig'
while($null -eq $CompilationJob.EndTime -and $null -eq $CompilationJob.Exception)
{
$CompilationJob = $CompilationJob | Get-AzAutomationDscCompilationJob
Start-Sleep -Seconds 3
}
$CompilationJob | Get-AzAutomationDscCompilationJobOutput –Stream Any
Temel parametreleri bildirme
Parametre türleri ve özellikleri de dahil olmak üzere DSC yapılandırmalarındaki parametre bildirimi, Azure Otomasyonu runbook'lardakiyle aynı şekilde çalışır. Runbook parametreleri hakkında daha fazla bilgi edinmek için bkz. Azure Otomasyonu'de runbook başlatma.
Aşağıdaki örnek, derleme sırasında oluşturulan ParametersExample.sample node yapılandırmasındaki özelliklerin değerlerini belirlemek için ve IsPresent
parametrelerini kullanırFeatureName
.
Configuration ParametersExample
{
param(
[Parameter(Mandatory=$true)]
[string] $FeatureName,
[Parameter(Mandatory=$true)]
[boolean] $IsPresent
)
$EnsureString = 'Present'
if($IsPresent -eq $false)
{
$EnsureString = 'Absent'
}
Node 'sample'
{
WindowsFeature ($FeatureName + 'Feature')
{
Ensure = $EnsureString
Name = $FeatureName
}
}
}
Azure Otomasyonu Durum Yapılandırması portalında veya Azure PowerShell ile temel parametreleri kullanan DSC yapılandırmalarını derleyebilirsiniz.
Portal
Portalda, Derle'ye tıkladıktan sonra parametre değerlerini girebilirsiniz.
Azure PowerShell
PowerShell, anahtarın parametre adıyla eşleştiği ve değerin parametre değerine eşit olduğu bir karma tablodaki parametreleri gerektirir.
$Parameters = @{
'FeatureName' = 'Web-Server'
'IsPresent' = $False
}
Start-AzAutomationDscCompilationJob -ResourceGroupName 'MyResourceGroup' -AutomationAccountName 'MyAutomationAccount' -ConfigurationName 'ParametersExample' -Parameters $Parameters
Nesneleri parametre olarak geçirme PSCredential
hakkında bilgi için bkz . Kimlik bilgileri varlıkları.
Azure Otomasyonu bileşik kaynakları içeren yapılandırmaları derleme
Bileşik Kaynaklar özelliği, DSC yapılandırmalarını bir yapılandırmanın içinde iç içe kaynaklar olarak kullanmanıza olanak tanır. Bu özellik, tek bir kaynağa birden çok yapılandırmanın uygulanmasını sağlar. Bileşik kaynaklar hakkında daha fazla bilgi edinmek için bkz . Bileşik kaynaklar: Kaynak olarak DSC yapılandırması kullanma.
Dekont
Bileşik kaynakları içeren yapılandırmaların doğru derlenmesi için, önce bileşiklerin bağlı olduğu tüm DSC kaynaklarını Azure Otomasyonu içeri aktarmanız gerekir. DSC bileşik kaynağı eklemek, Azure Otomasyonu herhangi bir PowerShell modülü eklemekten farklı değildir. Bu işlem, Azure Otomasyonu Modülleri Yönetme bölümünde belgelenmiştir.
yapılandırmaları Azure Otomasyonu derlerken ConfigurationData'ları yönetme
ConfigurationData
, PowerShell DSC kullanırken yapısal yapılandırmayı ortama özgü herhangi bir yapılandırmadan ayırmanıza olanak tanıyan yerleşik bir DSC parametresidir. Daha fazla bilgi için bkz . PowerShell DSC'de "What" yerine "Where" öğesini ayırma.
Dekont
Azure Otomasyonu Durum Yapılandırması'nda derleme yaparken Azure PowerShell'de kullanabilirsiniz ConfigurationData
ancak Azure portalında kullanamazsınız.
Aşağıdaki örnek DSC yapılandırması, ve $AllNodes
anahtar sözcükleri aracılığıyla $ConfigurationData
kullanırConfigurationData
. Bu örnek için xWeb Yönetici istration modülüne de ihtiyacınız vardır.
Configuration ConfigurationDataSample
{
Import-DscResource -ModuleName xWebAdministration -Name MSFT_xWebsite
Write-Verbose $ConfigurationData.NonNodeData.SomeMessage
Node $AllNodes.Where{$_.Role -eq 'WebServer'}.NodeName
{
xWebsite Site
{
Name = $Node.SiteName
PhysicalPath = $Node.SiteContents
Ensure = 'Present'
}
}
}
Önceki DSC yapılandırmasını Windows PowerShell ile derleyebilirsiniz. Aşağıdaki betik, Azure Otomasyonu Durum Yapılandırması çekme hizmetine iki düğüm yapılandırması ekler: ConfigurationDataSample.MyVM1 ve ConfigurationDataSample.MyVM3.
$ConfigData = @{
AllNodes = @(
@{
NodeName = 'MyVM1'
Role = 'WebServer'
},
@{
NodeName = 'MyVM2'
Role = 'SQLServer'
},
@{
NodeName = 'MyVM3'
Role = 'WebServer'
}
)
NonNodeData = @{
SomeMessage = 'I love Azure Automation State Configuration and DSC!'
}
}
Start-AzAutomationDscCompilationJob -ResourceGroupName 'MyResourceGroup' -AutomationAccountName 'MyAutomationAccount' -ConfigurationName 'ConfigurationDataSample' -ConfigurationData $ConfigData
Derleme sırasında Azure Otomasyonu varlıklarla çalışma
Varlık başvuruları hem Azure Otomasyonu Durum Yapılandırmasında hem de runbook'larda aynıdır. Daha fazla bilgi için, aşağıdakilere bakın:
Kimlik bilgileri varlıkları
Azure Otomasyonu'deki DSC yapılandırmaları cmdlet'ini kullanarak Otomasyon kimlik bilgisi varlıklarına Get-AutomationPSCredential
başvurabilir. Yapılandırmanın bir PSCredential
nesneyi belirten bir parametresi varsa, kimlik bilgilerini almak için cmdlet'ine bir Azure Otomasyonu kimlik bilgisi varlığının dize adını geçirerek kullanınGet-AutomationPSCredential
. Ardından, nesneyi gerektiren PSCredential
parametre için bu nesneyi kullanın. Arka planda, bu ada sahip Azure Otomasyonu kimlik bilgisi varlığı alınır ve yapılandırmaya geçirilir. Aşağıdaki örnekte bu senaryo iş başında gösterilmektedir.
Düğüm yapılandırmalarında (MOF yapılandırma belgeleri) kimlik bilgilerinin güvenli tutulması için düğüm yapılandırma MOF dosyasında kimlik bilgilerinin şifrelenmesi gerekir. Şu anda Düğüm yapılandırması MOF oluşturma sırasında kimlik bilgilerini düz metin olarak çıkarmak için PowerShell DSC izni vermeniz gerekir. PowerShell DSC, Azure Otomasyonu bir derleme işi aracılığıyla MOF dosyasının tamamını şifrelediğinin farkında değildir.
PowerShell DSC'ye, yapılandırma Verileri kullanılarak oluşturulan düğüm yapılandırması MDF'lerinde kimlik bilgilerinin düz metin olarak çıkışının uygun olduğunu belirtebilirsiniz. DSC yapılandırmasında görünen ve kimlik bilgilerini kullanan her düğüm bloğu adı için üzerinden ConfigurationData
geçirmeniz PSDscAllowPlainTextPassword = $true
gerekir.
Aşağıdaki örnekte Otomasyon kimlik bilgisi varlığı kullanan bir DSC yapılandırması gösterilmektedir.
Configuration CredentialSample
{
Import-DscResource -ModuleName PSDesiredStateConfiguration
$Cred = Get-AutomationPSCredential 'SomeCredentialAsset'
Node $AllNodes.NodeName
{
File ExampleFile
{
SourcePath = '\\Server\share\path\file.ext'
DestinationPath = 'C:\destinationPath'
Credential = $Cred
}
}
}
Önceki DSC yapılandırmasını PowerShell ile derleyebilirsiniz. Aşağıdaki PowerShell kodu, Azure Otomasyonu Durum Yapılandırması çekme sunucusuna iki düğüm yapılandırması ekler: CredentialSample.MyVM1 ve CredentialSample.MyVM2.
$ConfigData = @{
AllNodes = @(
@{
NodeName = '*'
PSDscAllowPlainTextPassword = $True
},
@{
NodeName = 'MyVM1'
},
@{
NodeName = 'MyVM2'
}
)
}
Start-AzAutomationDscCompilationJob -ResourceGroupName 'MyResourceGroup' -AutomationAccountName 'MyAutomationAccount' -ConfigurationName 'CredentialSample' -ConfigurationData $ConfigData
Dekont
Derleme tamamlandığında, bu iletiyi güvenle yoksayabilirsiniz hata iletisini The 'Microsoft.PowerShell.Management' module was not imported because the 'Microsoft.PowerShell.Management' snap-in was already imported.
alabilirsiniz.
Windows PowerShell'de DSC yapılandırmanızı derleme
Windows PowerShell'de DSC yapılandırmalarını derleme işlemi, PowerShell DSC belgelerinde Yazma, Derleme ve Yapılandırma Uygulama bölümüne eklenmiştir. Bu işlemi bir geliştirici iş istasyonundan veya Azure DevOps gibi bir derleme hizmetinde yürütebilirsiniz. Daha sonra yapılandırmayı Azure State Configuration hizmetine derleyerek üretilen MOF dosyalarını içeri aktarabilirsiniz.
Windows PowerShell'de derleme, yapılandırma içeriğini imzalama seçeneği de sağlar. DSC aracısı, imzalı düğüm yapılandırmasını yönetilen düğümde yerel olarak doğrular. Doğrulama, düğüme uygulanan yapılandırmanın yetkili bir kaynaktan gelmesini sağlar.
Azure dışında derlenmiş düğüm yapılandırmalarını (MOF dosyaları) da içeri aktarabilirsiniz. İçeri aktarma işlemi bir geliştirici iş istasyonundan veya Azure DevOps gibi bir hizmetten derlemeyi içerir. Bu yaklaşımın performans ve güvenilirlik gibi birçok avantajı vardır.
Dekont
Azure Otomasyonu içeri aktarmasına izin vermek için düğüm yapılandırma dosyasının 1 MB'tan büyük olmaması gerekir.
Düğüm yapılandırmalarının imzalandırılması hakkında daha fazla bilgi için bkz . WMF 5.1 ' deki geliştirmeler - Yapılandırmayı imzalama ve modül.
Azure portalında düğüm yapılandırmasını içeri aktarma
Otomasyon hesabınızda Yapılandırma Yönetimi'nin altında Durum yapılandırması (DSC) öğesine tıklayın.
Durum yapılandırması (DSC) sayfasında Yapılandırmalar sekmesine ve ardından Ekle'ye tıklayın.
İçeri Aktar sayfasında Düğüm Yapılandırma Dosyası alanının yanındaki klasör simgesine tıklayarak yerel bilgisayarınızda bir düğüm yapılandırma MOF dosyasına göz atın.
Yapılandırma Adı alanına bir ad girin. Bu ad, düğüm yapılandırmasının derlendiği yapılandırmanın adıyla eşleşmelidir.
Tamam'a tıklayın.
Azure PowerShell ile düğüm yapılandırmasını içeri aktarma
Bir düğüm yapılandırmasını Otomasyon hesabınıza aktarmak için Import-AzAutomationDscNodeConfiguration cmdlet'ini kullanabilirsiniz.
Import-AzAutomationDscNodeConfiguration -AutomationAccountName 'MyAutomationAccount' -ResourceGroupName 'MyResourceGroup' -ConfigurationName 'MyNodeConfiguration' -Path 'C:\MyConfigurations\TestVM1.mof'
Sonraki adımlar
- Başlamak için bkz. Azure Otomasyonu Durum Yapılandırmasını kullanmaya başlama.
- DSC yapılandırmalarını hedef düğümlere atayabilmeniz için derleme hakkında bilgi edinmek için bkz. Azure Otomasyonu Durum Yapılandırmasında DSC yapılandırmalarını derleme.
- PowerShell cmdlet başvurusu için bkz . Az.Automation.
- Fiyatlandırma bilgileri için bkz. Durum Yapılandırması fiyatlandırmasını Azure Otomasyonu.
- Sürekli dağıtım işlem hattında Durum Yapılandırması kullanma örneği için bkz . Chocolatey ile sürekli dağıtım ayarlama.