Kívánt állapotkonfigurációs bővítmény Azure Resource Manager-sablonokkal
Feljegyzés
A DSC-bővítmény engedélyezése előtt szeretnénk tudni, hogy a DSC egy újabb verziója általánosan elérhető, amelyet egy gépkonfiguráció nevű szolgáltatás kezel. A gépkonfigurációs funkció tartalmazza a Desired State Configuration (DSC) bővítménykezelő funkcióit és az ügyfelek visszajelzéseiből leggyakrabban kért funkciókat. A gépkonfiguráció az Arc-kompatibilis kiszolgálókon keresztüli hibrid géptámogatást is magában foglalja.
Ez a cikk a Desired State Configuration (DSC) bővítménykezelő Azure Resource Manager-sablonját ismerteti.
Feljegyzés
Előfordulhat, hogy kissé eltérő séma-példákat tapasztal. A séma módosítása a 2016. októberi kiadásban történt. További részletekért lásd : Frissítés egy korábbi formátumból.
Bicep-példa virtuális géphez
A DSC-bővítmény örökli az alapértelmezett bővítménytulajdonságokat. További információ: VirtualMachineExtension osztály.
@description('URI of the configuration package')
param configUri string
@description('first configuration parameter')
param arg1 string
@description('second configuration parameter')
@secure()
param arg2 string
var configName = split(split(configUri, '/')[4], '.')[0]
resource vm 'Microsoft.Compute/virtualMachines@2023-09-01' existing = {
name: srvName
}
resource configuration_dscext 'Microsoft.Compute/virtualMachines/extensions@2024-07-01' = {
name: 'configurationname_dscext'
parent: vm
location: location
properties: {
publisher: 'Microsoft.Powershell'
type: 'DSC'
typeHandlerVersion: '2.77'
autoUpgradeMinorVersion: true
settings: {
wmfVersion: 'latest'
configuration: {
url: configUri
script: 'configurationname_dscext.ps1'
function: 'configurationname_dscext'
}
configurationArguments: {
arg1: arg1
}
advancedOptions: {
rebootNodeIfNeeded: true
}
}
protectedSettings: {
configurationArguements: {
arg2: arg2
}
}
}
}
Bicep-példa Windows rendszerű virtuálisgép-méretezési csoportokhoz
A virtuálisgép-méretezési csoport csomópontja rendelkezik egy extensionProfile attribútumot tartalmazó szakaszsal. A bővítmények alatt adja meg a DSC-bővítmény részleteit.
A virtuálisgép-méretezési csoportok bővítményeit üzembe helyező sablonok készítéséről a Microsoft.Compute virtualMachineScaleSets című dokumentumból tájékozódhat.
A DSC-bővítmény örökli az alapértelmezett bővítménytulajdonságokat. További információ: VirtualMachineScaleSetExtension osztály.
Beállítások és védett beállítások
A rendszer az összes beállítást a virtuális gépen lévő beállítások szövegfájljában menti. A beállítások között felsorolt tulajdonságok nyilvános tulajdonságok. A nyilvános tulajdonságok nincsenek titkosítva a beállítások szövegfájljában. A protectedSettings alatt felsorolt tulajdonságok tanúsítványsal vannak titkosítva, és nem jelennek meg egyszerű szövegben a virtuális gép beállításfájljában.
Ha a konfigurációhoz hitelesítő adatokra van szükség, a hitelesítő adatokat a protectedSettingsben is megadhatja:
"protectedSettings": {
"configurationArguments": {
"parameterOfTypePSCredential1": {
"userName": "UsernameValue1",
"password": "PasswordValue1"
}
}
}
Példa a konfigurációs szkript használatával az Azure Storage-ban
Az alábbi példa a DSC bővítménykezelő áttekintéséből származik.
Ez a példa parancsmagok helyett Resource Manager-sablonokat használ a bővítmény üzembe helyezéséhez.
Mentse az IisInstall.ps1 konfigurációt, helyezze egy .zip fájlba (például: iisinstall.zip
), majd töltse fel a fájlt egy akadálymentes URL-címre.
Ez a példa az Azure Blob Storage-t használja, de tetszőleges helyről letöltheti .zip fájlokat.
A Resource Manager-sablonban a következő kód arra utasítja a virtuális gépet, hogy töltse le a megfelelő fájlt, majd futtassa a megfelelő PowerShell-függvényt:
"settings": {
"configuration": {
"url": "https://demo.blob.core.windows.net/iisinstall.zip",
"script": "IisInstall.ps1",
"function": "IISInstall"
}
},
"protectedSettings": {
"configurationUrlSasToken": "odLPL/U1p9lvcnp..."
}
Frissítés egy korábbi formátumból
A bővítmény korábbi formátumában szereplő beállítások (és amelyek a ModulesUrl, a ModuleSource, a ModuleVersion, a ConfigurationFunction, a SasToken vagy a Properties nyilvános tulajdonságokkal rendelkeznek) automatikusan igazodnak a bővítmény aktuális formátumához. Ugyanúgy futnak, mint korábban.
Az alábbi séma az előző beállításséma kinézetét mutatja:
"settings": {
"WMFVersion": "latest",
"ModulesUrl": "https://UrlToZipContainingConfigurationScript.ps1.zip",
"SasToken": "SAS Token if ModulesUrl points to private Azure Blob Storage",
"ConfigurationFunction": "ConfigurationScript.ps1\\ConfigurationFunction",
"Properties": {
"ParameterToConfigurationFunction1": "Value1",
"ParameterToConfigurationFunction2": "Value2",
"ParameterOfTypePSCredential1": {
"UserName": "UsernameValue1",
"Password": "PrivateSettingsRef:Key1"
},
"ParameterOfTypePSCredential2": {
"UserName": "UsernameValue2",
"Password": "PrivateSettingsRef:Key2"
}
}
},
"protectedSettings": {
"Items": {
"Key1": "PasswordValue1",
"Key2": "PasswordValue2"
},
"DataBlobUri": "https://UrlToConfigurationDataWithOptionalSasToken.psd1"
}
Az előző formátum a következőképpen igazodik az aktuális formátumhoz:
Jelenlegi tulajdonságnév | Korábbi sémaegyenérték |
---|---|
settings.wmfVersion | Beállítások. WMFVersion |
settings.configuration.url | Beállítások. ModulesUrl |
settings.configuration.script | A beállítások első része. ConfigurationFunction (előtt \\) |
settings.configuration.function | A beállítások második része. ConfigurationFunction (a \\után) |
settings.configuration.module.name | Beállítások. ModuleSource |
settings.configuration.module.version | Beállítások. ModuleVersion |
settings.configurationArguments | Beállítások. Kellékek |
settings.configurationData.url | protectedSettings.DataBlobUri (SAS-jogkivonat nélkül) |
settings.privacy.dataCollection | Beállítások. Privacy.dataCollection |
settings.advancedOptions.downloadMappings | Beállítások. AdvancedOptions.DownloadMappings |
protectedSettings.configurationArguments | protectedSettings.Properties |
protectedSettings.configurationUrlSasToken | Beállítások. SasToken |
protectedSettings.configurationDataUrlSasToken | SAS-jogkivonat a protectedSettings.DataBlobUri szolgáltatásból |
Hibaelhárítás
Íme néhány hiba, amelybe belefuthat, és hogyan háríthatja el őket.
Érvénytelen értékek
"Privacy.dataCollection is ''{0}. Az egyetlen lehetséges érték az "", az "Engedélyezés" és a "Letiltás". "A WmfVersion a ""{0}. Csak a lehetséges értékek ... és a "legújabb".
Probléma: A megadott érték nem engedélyezett.
Megoldás: Módosítsa az érvénytelen értéket érvényes értékre.
Érvénytelen URL-cím
"ConfigurationData.url is ''{0}. Ez nem érvényes URL-cím" "DataBlobUri is '"{0}. Ez nem érvényes URL-cím" "Configuration.url is '"{0}. Ez nem érvényes URL-cím"
Probléma: A megadott URL-cím érvénytelen.
Megoldás: Ellenőrizze az összes megadott URL-címet. Győződjön meg arról, hogy az összes URL-cím olyan érvényes helyre van feloldva, amelyhez a bővítmény hozzáfér a távoli gépen.
Érvénytelen ConfigurationArgument típus
"Érvénytelen configurationArguments típus {0}"
Probléma: A ConfigurationArguments tulajdonság nem oldható fel kivonattábla-objektumra.
Megoldás: A ConfigurationArguments tulajdonság kivonattáblává alakítása. Kövesse az előző példákban megadott formátumot. Nézze meg az idézőjeleket, a vesszőket és a zárójeleket.
Duplikált ConfigurationArguments
"Duplikált argumentumokat talált a{0} nyilvános és a védett configurationArgumentsben is"
Probléma: A nyilvános beállítások ConfigurationArguments és a ConfigurationArguments védett beállításokban ugyanazzal a névvel rendelkeznek.
Megoldás: Távolítsa el az egyik duplikált tulajdonságot.
Hiányzó tulajdonságok
"beállítások. A Configuration.function megköveteli, hogy a settings.configuration.url vagy a settings.configuration.module meg legyen adva"
"beállítások. A Configuration.url-címhez meg kell adni a settings.configuration.script parancsprogramot"
"beállítások. A Configuration.script megköveteli, hogy a settings.configuration.url meg legyen adva"
"beállítások. A Configuration.url használatához meg kell adni a settings.configuration.function függvényt"
"protectedSettings.ConfigurationUrlSasToken megköveteli, hogy a settings.configuration.url meg legyen adva"
"protectedSettings.ConfigurationDataUrlSasToken megköveteli, hogy a settings.configurationData.url meg legyen adva"
Probléma: Egy definiált tulajdonságnak szüksége van egy másik tulajdonságra, amely hiányzik.
Megoldások:
- Adja meg a hiányzó tulajdonságot.
- Távolítsa el a hiányzó tulajdonságot igénylő tulajdonságot.
Következő lépések
- Ismerje meg, hogyan használhat virtuálisgép-méretezési csoportokat az Azure DSC-bővítménysel.
- További információ a DSC biztonságos hitelesítő adatok kezeléséről.
- Ismerkedjen meg az Azure DSC bővítménykezelőével.
- A PowerShell DSC-vel kapcsolatos további információkért látogasson el a PowerShell dokumentációs központjába.