J'ai un modèle de machine virtuelle qui déploie une extension DSC. Cela fonctionne correctement, mais ma configuration est en train de grandir, donc je l'ai reconfiguré pour utiliser une ressource composite et la republier vers le stockage blob avec Publish-AzureRmVMDscConfiguration
.Utiliser une ressource composite personnalisée avec l'extension Azure DSC
J'ai vérifié que le fichier .ps1.zip dans le stockage BLOB contient mon module personnalisé et que le module est répertorié sous dscmetadata.json. Toutefois, lorsque je déploie, l'extension DSC échoue. Les journaux sous C:\WindowsAzure\Logs\Plugins\Microsoft.Powershell.DSC\2.17.0.0
révèlent la raison:
C: \ Packages \ Plugins \ Microsoft.Powershell.DSC \ 2.17.0.0 \ bin .. \ DSCWork \ AppServerDev.ps1.0 \ AppserverDev.ps1
PSDesiredStateConfiguration \ node: le module 'xCustomResource' n'a pas pu être chargé. Pour plus d'informations, exécutez 'Import-Module xCustomResource'.
C: \ Packages \ Plugins \ Microsoft.Powershell.DSC \ 2.17.0.0 \ DSCWork \ AppServerDev.ps1.0 \ AppserverDev.ps1: 9 Char: 3
noeud
- "localhost"
- ~~~~
- CategoryInfo: ObjectNotFound: (xCustomResource \ xCustomResource: String) [PSDesiredStateConfiguration \ noeud], ParentContainsErrorRecordException
- FullyQualifiedErrorId: CouldNotAutoLoadModule, PSDesiredSta teConfiguration \ noeud
Voici les bits correspondants de mon fichier de configuration:
configuration AppServerDev
{
param($environment)
Import-DscResource -ModuleName 'PSDesiredStateConfiguration'
Import-DscResource -ModuleName 'SaaSModule'
node "localhost"
{
LocalConfigurationManager
{
RebootNodeIfNeeded = $true
ConfigurationMode = "ApplyAndAutoCorrect"
ConfigurationModeFrequencyMins = 1440
}
xDCTPlatformVM VM {
OctopusParametersFile = $environment
ChocolateyPackages = @(
'googlechrome',
'notepadplusplus',
'7zip',
'microsoftwse',
'octopusdeploy.tentacle',
'sqlserver-cmdlineutils'
)
}
}
}
L'exécution Get-Module -ListAvailable
révèle que DankModule
se trouve et je peux, de Powershell, exécutez Import-Module DankModule
et il fonctionne comme prévu. Je suppose que la confusion vient de lui en essayant d'importer xCustomResource
plutôt que DankModule
mais mon dossier .ps1 sous C:\Packages\Plugins\Microsoft.Powershell.DSC\2.17.0.0\DSCWork
dit
Import-Module "DankModule"
et non
Import-Module "xCustomType"
Pourquoi est-il essaye d'importer xCustomType
plutôt que DankModule
? Comment puis-je le faire trouver DankModule
qui est disponible et contient xCustomType
?
MISE À JOUR: Get-Module -ListAvailable
montre DankModule
est installé mais Get-DSCResource -Module DankModule
ne retourne rien.