DSC-konfigurációk fordítása az Azure Automation State Configurationben
Feljegyzés
Az Azure Automation State Configuration 2027. szeptember 30-án megszűnik, ezért ezen a napon lépjen át az Azure Machine Configuration szolgáltatásra. További információkért lásd a blogbejegyzés bejelentését. Az Azure Machine Configuration szolgáltatás egyesíti a DSC-bővítmény, az Azure Automation State Configuration és az ügyfelek visszajelzései alapján leggyakrabban kért funkciókat. Az Azure Machine Configuration emellett az Arc-kompatibilis kiszolgálókon keresztüli hibrid gépek támogatását is tartalmazza.
Fontos
Az Add, Compose configuration és Gallery navigációs hivatkozások 2025. március 31-én törlődnek a portálról.
Figyelemfelhívás
A Linuxhoz készült Azure Automation DSC 2023. szeptember 30-án megszűnt. További információkért lásd a közleményt.
A Desired State Configuration (DSC) konfigurációkat az Azure Automation Állapotkonfigurációban a következő módokon fordíthatja le:
Azure State Configuration fordítási szolgáltatás
- Kezdő módszer interaktív felhasználói felülettel
- Feladat állapotának egyszerű nyomon követése
Windows PowerShell
- Hívás a Windows PowerShellből helyi munkaállomáson vagy buildelési szolgáltatásban
- Integrálás fejlesztési tesztfolyamattal
- Összetett paraméterértékek megadása
- Csomópont- és nem csomópontadatok nagy léptékű használata
- Jelentős teljesítménybeli javulás
Az Azure Resource Manager-sablonokat az Azure Desired State Configuration (DSC) kiterjesztéssel is használhatja a konfigurációk Azure-beli virtuális gépekre való leküldéséhez. Az Azure DSC-bővítmény az Azure-beli virtuálisgép-ügynök keretrendszerét használja az Azure-beli virtuális gépeken futó DSC-konfigurációk kézbesítésére, bevezetésére és jelentésére. Az Azure Resource Manager-sablonok használatával végzett fordítási részletekért tekintse meg a Desired State Configuration bővítményt Azure Resource Manager-sablonokkal.
DSC-konfiguráció fordítása az Azure State Configuration-ban
Portál
- Az Automation-fiókban válassza az Állapotkonfiguráció (DSC) lehetőséget.
- Válassza ki a Konfigurációk lapon, majd válassza ki a lefordítandó konfiguráció nevét.
- Válassza a Fordítás lehetőséget.
- Ha a konfiguráció nem rendelkezik paraméterekkel, a rendszer kérni fogja, hogy ellenőrizze, hogy lefordítja-e. Ha a konfiguráció paraméterekkel rendelkezik, megnyílik a Fordítási konfiguráció panel, hogy paraméterértékeket adjon meg.
- A Fordítási feladat lap meg van nyitva, hogy nyomon tudja követni a fordítási feladat állapotát. Ezen a lapon nyomon követheti az Azure Automation State Configuration lekéréses kiszolgálóján elhelyezett csomópontkonfigurációkat (MOF-konfigurációs dokumentumokat).
Azure PowerShell
A Start-AzAutomationDscCompilationJob használatával elkezdheti a fordítást a Windows PowerShell használatával. Az alábbi mintakód megkezdi a SampleConfig nevű DSC-konfiguráció összeállítását.
Start-AzAutomationDscCompilationJob -ResourceGroupName 'MyResourceGroup' -AutomationAccountName 'MyAutomationAccount' -ConfigurationName 'SampleConfig'
Start-AzAutomationDscCompilationJob
egy fordítási feladat objektumot ad vissza, amellyel nyomon követheti a feladat állapotát. Ezt a fordítási feladatobjektumot a Get-AzAutomationDscCompilationJob használatával meghatározhatja a fordítási feladat állapotát, a Get-AzAutomationDscCompilationJobOutput pedig megtekintheti a streameket (kimenetet). Az alábbi minta elkezdi a SampleConfig konfiguráció összeállítását, megvárja, amíg befejeződik, majd megjeleníti a streameket.
$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
Alapvető paraméterek deklarálása
A DSC-konfigurációk paraméterdeklarációja, beleértve a paramétertípusokat és -tulajdonságokat, ugyanúgy működik, mint az Azure Automation-runbookokban. A runbook paramétereivel kapcsolatos további információkért lásd : Runbook indítása az Azure Automationben.
Az alábbi példa a ParametersExample.mintacsomópont-konfigurációbanlévő tulajdonságok értékeinek meghatározására használ FeatureName
és IsPresent
paramétereket, amelyek a fordítás során jönnek létre.
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
}
}
}
Olyan DSC-konfigurációkat állíthat össze, amelyek alapszintű paramétereket használnak az Azure Automation State Configuration portálon vagy az Azure PowerShell-lel.
Portál
A portálon a Fordítás gombra kattintás után megadhatja a paraméterértékeket.
Azure PowerShell
A PowerShell egy kivonatolóban igényel paramétereket, ahol a kulcs megegyezik a paraméter nevével, az érték pedig a paraméter értékével.
$Parameters = @{
'FeatureName' = 'Web-Server'
'IsPresent' = $False
}
Start-AzAutomationDscCompilationJob -ResourceGroupName 'MyResourceGroup' -AutomationAccountName 'MyAutomationAccount' -ConfigurationName 'ParametersExample' -Parameters $Parameters
Az objektumok paraméterként való PSCredential
átadásáról további információt a Hitelesítő adatok eszköz című témakörben talál.
Összetett erőforrásokat tartalmazó konfigurációk fordítása az Azure Automationben
Az Összetett erőforrások funkció lehetővé teszi a DSC-konfigurációk beágyazott erőforrásokként való használatát egy konfiguráción belül. Ez a funkció lehetővé teszi több konfiguráció alkalmazását egyetlen erőforrásra. Lásd : Összetett erőforrások: DSC-konfiguráció használata erőforrásként az összetett erőforrásokról.
Feljegyzés
Ahhoz, hogy az összetett erőforrásokat tartalmazó konfigurációk megfelelően legyenek lefordítva, először importálnia kell az Azure Automationbe minden olyan DSC-erőforrást, amelyre az összetett erőforrások támaszkodnak. A DSC összetett erőforrás hozzáadása nem különbözik attól, hogy powerShell-modulokat ad hozzá az Azure Automationhez. Ezt a folyamatot az Azure Automation moduljainak kezelése című témakörben dokumentáljuk.
ConfigurationData kezelése az Azure Automation konfigurációinak összeállításakor
ConfigurationData
egy beépített DSC-paraméter, amely lehetővé teszi, hogy a PowerShell DSC használata során elkülönítse a szerkezeti konfigurációt a környezetspecifikus konfigurációktól. További információ: "What" és "Where" elválasztása a PowerShell DSC-ben.
Feljegyzés
Az Azure Automation State Configuration összeállításakor az Azure PowerShellben használhatja ConfigurationData
, de az Azure Portalon nem.
Az alábbi példa DSC-konfigurációja a kulcsszavakon $AllNodes
és a kulcsszavakon keresztül használjaConfigurationData
.$ConfigurationData
Ehhez a példához az xWebAdministration modulra is szüksége van.
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'
}
}
}
Az előző DSC-konfigurációt a Windows PowerShell használatával fordíthatja le. A következő szkript két csomópontkonfigurációt ad hozzá az Azure Automation State Configuration lekérési szolgáltatásához: ConfigurationDataSample.MyVM1 és 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
Eszközök használata az Azure Automationben a fordítás során
Az eszközhivatkozások megegyeznek az Azure Automation State Configuration és a runbookok esetében is. További információért tekintse át az alábbi cikkeket:
Hitelesítőadat-eszközök
Ha egy konfiguráció egy objektumot meghatározó PSCredential
paraméterrel rendelkezik, használja Get-AutomationPSCredential
egy Azure Automation-hitelesítő adategység nevét a parancsmagnak a hitelesítő adatok lekéréséhez. Az Azure Automation átadja a hitelesítő adatokat a konfigurációnak.
A csomópontkonfigurációk hitelesítő adatainak biztonságossá tételéhez titkosítsa a csomópontkonfiguráció MOF-fájljában lévő hitelesítő adatokat. A csomópontkonfiguráció MOF-generációja során engedélyeznie kell a PowerShell DSC-t, hogy egyszerű szövegben adja ki a hitelesítő adatokat. A PowerShell DSC nem tudja, hogy az Azure Automation a fordítási feladat által létrehozott teljes MOF-fájlt titkosítja.
A PowerShell DSC-nek elmondhatja, hogy nem gond, ha a hitelesítő adatokat egyszerű szövegben adja ki a generált csomópontkonfigurációs MOF-ekben a konfigurációs adatok használatával. A DSC-konfigurációban megjelenő és hitelesítő adatokat használó csomópontblokkok neveihez át kell adnia az adatokat PSDscAllowPlainTextPassword = $true
ConfigurationData
.
Az alábbi példa egy Automation hitelesítőadat-objektumot használó DSC-konfigurációt mutat be.
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
}
}
}
Az előző DSC-konfigurációt a PowerShell használatával fordíthatja le. A következő PowerShell-kód két csomópontkonfigurációt ad hozzá az Azure Automation State Configuration lekéréses kiszolgálójához: CredentialSample.MyVM1 és CredentialSample.MyVM2.
$ConfigData = @{
AllNodes = @(
@{
NodeName = '*'
PSDscAllowPlainTextPassword = $True
},
@{
NodeName = 'MyVM1'
},
@{
NodeName = 'MyVM2'
}
)
}
Start-AzAutomationDscCompilationJob -ResourceGroupName 'MyResourceGroup' -AutomationAccountName 'MyAutomationAccount' -ConfigurationName 'CredentialSample' -ConfigurationData $ConfigData
Feljegyzés
Ha a fordítás befejeződött, előfordulhat, hogy a hibaüzenet jelenik meg
The 'Microsoft.PowerShell.Management' module was not imported because the 'Microsoft.PowerShell.Management' snap-in was already imported.
Ezt az üzenetet nyugodtan figyelmen kívül hagyhatja.
A DSC-konfiguráció fordítása a Windows PowerShellben
A DSC-konfigurációk Windows PowerShellben történő fordításának folyamata a PowerShell DSC írási, fordítási és alkalmazási dokumentációjában található. Ezt a folyamatot egy fejlesztői munkaállomáson vagy egy buildszolgáltatáson belül, például az Azure DevOpsban hajthatja végre. Ezután importálhatja a létrehozott MOF-fájlokat úgy, hogy összeállítja a konfigurációt az Azure State Configuration szolgáltatásba.
A Windows PowerShell fordítása lehetővé teszi a konfigurációs tartalom aláírását is. A DSC-ügynök helyileg ellenőrzi az aláírt csomópont konfigurációját egy felügyelt csomóponton. Az ellenőrzés biztosítja, hogy a csomópontra alkalmazott konfiguráció egy engedélyezett forrásból származik.
Az Azure-on kívül lefordított csomópontkonfigurációkat is importálhatja. Az importálás magában foglalja a fordítást egy fejlesztői munkaállomásról vagy egy olyan szolgáltatásból, mint az Azure DevOps. Ez a megközelítés több előnnyel is rendelkezik, beleértve a teljesítményt és a megbízhatóságot.
Feljegyzés
A csomópontkonfigurációs fájl nem lehet nagyobb 1 MB-nál, hogy az Azure Automation importálhassa.
A csomópontkonfigurációk aláírásával kapcsolatos további információkért lásd a WMF 5.1 – Konfiguráció és modul aláírásának fejlesztéseit.
Csomópontkonfiguráció importálása az Azure Portalon
Az Automation-fiókban válassza az Állapotkonfiguráció (DSC) lehetőséget a Configuration Management területen.
Az Állapotkonfiguráció (DSC) lapon válassza a Konfigurációk lapon, majd a Hozzáadás lehetőséget.
Az Importálás lapon válassza a Csomópontkonfigurációs fájl mező melletti mappaikont a helyi számítógépen található csomópontkonfigurációs MOF-fájl megkereséséhez.
Adjon meg egy nevet a Konfiguráció neve mezőben. Ennek a névnek meg kell egyeznie annak a konfigurációnak a nevével, amelyből a csomópontkonfigurációt lefordították.
Kattintson az OK gombra.
Csomópontkonfiguráció importálása az Azure PowerShell használatával
Az Import-AzAutomationDscNodeConfiguration parancsmaggal importálhat csomópontkonfigurációt az Automation-fiókjába.
$importAzAutomationDscNodeConfigurationSplat = @{
AutomationAccountName = 'MyAutomationAccount'
ResourceGroupName = 'MyResourceGroup'
ConfigurationName = 'MyNodeConfiguration'
Path = 'C:\MyConfigurations\TestVM1.mof'
}
Import-AzAutomationDscNodeConfiguration @importAzAutomationDscNodeConfigurationSplat
Következő lépések
- Első lépésként tekintse meg az Azure Automation State Configuration használatának első lépéseit.
- A DSC-konfigurációk összeállításáról, hogy hozzárendelhesse őket a célcsomópontokhoz, olvassa el a DSC-konfigurációk fordítása az Azure Automation State Configuration szolgáltatásban című témakört.
- PowerShell-parancsmagra vonatkozó referencia: Az.Automation.
- A díjszabással kapcsolatos információkért tekintse meg az Azure Automation State Configuration díjszabását.
- Az Állapotkonfiguráció folyamatos üzembe helyezési folyamatban való használatára vonatkozó példa: Folyamatos üzembe helyezés beállítása a Chocolateyval.