Azure Otomasyonu Durum Yapılandırmasında DSC yapılandırmalarını derleme
Not
Azure Otomasyonu State Configuration 30 Eylül 2027'de kullanımdan kaldırılacak, lütfen Bu tarihe kadar Azure Makine Yapılandırması. Daha fazla bilgi için blog gönderisi duyurusunu inceleyin. Azure Machine Configuration hizmeti DSC Uzantısı, Azure Otomasyonu Durum Yapılandırması özelliklerini ve müşteri geri bildirimlerinden en sık istenen özellikleri birleştirir. Azure Makine Yapılandırması, Arc özellikli sunucular aracılığıyla karma makine desteği 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) öğesini seçin.
- Yapılandırmalar sekmesinden öğesini ve ardından derlenecek yapılandırma adını seçin.
- Derle'yi seçin.
- 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 bölmesi 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.
Not
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.
Not
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 xWebAdministration 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ğıdaki makaleleri inceleyin:
Kimlik bilgileri varlıkları
Yapılandırmada nesne belirten PSCredential
bir parametre varsa, kimlik bilgilerini almak için cmdlet'ine Azure Otomasyonu kimlik bilgisi varlığının adını geçirerek kullanınGet-AutomationPSCredential
. Azure Otomasyonu kimlik bilgilerini yapılandırmaya geçirir.
Düğüm yapılandırmalarında kimlik bilgilerini güvenli tutmak için düğüm yapılandırması MOF dosyasındaki kimlik bilgilerini şifreleyin. PowerShell DSC'ye düğüm yapılandırması MOF oluşturma sırasında kimlik bilgilerinin düz metin olarak çıkışı için izin vermeniz gerekir. PowerShell DSC, Azure Otomasyonu bir derleme işi tarafından oluşturulduktan sonra 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
Not
Derleme tamamlandığında hata iletisini alabilirsiniz The 'Microsoft.PowerShell.Management' module was not imported because the 'Microsoft.PowerShell.Management' snap-in was already imported.
Bu iletiyi güvenle yoksayabilirsiniz.
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ı 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.
Not
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) öğesini seçin.
Durum yapılandırması (DSC) sayfasında Yapılandırmalar sekmesinden Ekle'yi seçin.
İçeri Aktar sayfasında Düğüm Yapılandırma Dosyası alanının yanındaki klasör simgesini seçerek 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'ı seçin.
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.
$importAzAutomationDscNodeConfigurationSplat = @{
AutomationAccountName = 'MyAutomationAccount'
ResourceGroupName = 'MyResourceGroup'
ConfigurationName = 'MyNodeConfiguration'
Path = 'C:\MyConfigurations\TestVM1.mof'
}
Import-AzAutomationDscNodeConfiguration @importAzAutomationDscNodeConfigurationSplat
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.