Я пытаюсь развернуть масштабируемый набор виртуальных машин в Azure с помощью шаблона ARM и конфигурации желаемого состояния (DSC). Я создал конфигурацию DSC и проверил ее на отдельной виртуальной машине, что она работает. В шаблоне ARM у меня есть следующее определение расширения DSC:
{
"name": "Microsoft.Powershell.DSC",
"properties": {
"publisher": "Microsoft.Powershell",
"type": "DSC",
"typeHandlerVersion": "2.9",
"autoUpgradeMinorVersion": true,
"settings": {
"configuration": {
"url": "publicstoragebloburi/DSC/DSC.zip",
"script": "Main.ps1",
"function": "Main"
},
"configurationArguments": {
"MachineName": "localhost",
"WebDeployPackagePath": PublicStorageBlobPath_App.zip",
"UserName": "[parameters('adminUsername')]",
"Password": "[parameters('adminPassword')]",
"AppName": "FileScanApp",
"AppPath": "C:\\inetpub\\dev\\MyWebApp"
}
}
Файл Main.ps1, а также Конфигурация с именем Main существуют. Main.ps1 находится в корневом каталоге ZIP-архива. Когда расширение работает на виртуальной машине, оно пытается найти файл Main.ps1 в следующем каталоге: C: \ Packages \ Plugins \ Microsoft.Powershell.DSC \ 2.71.1.0 \ bin .. \ DSCWork \ DSC.1 \ Main .ps1, но когда я удаленно подключился к машине, Main.ps1 отсутствует в папке, и я получаю следующую ошибку:
{"code": "DeploymentFailed", "message": "По крайней мере одна операция развертывания ресурса завершилась неудачно. Пожалуйста, перечислите операции развертывания для получения подробной информации. См. https://aka.ms/arm-debug для получения подробной информации об использовании. "," details ": [{" code ":" Conflict "," message ":" {\ r \ n \ "status \": \ "Failed \", \ r \ n \ "error \": {\ r \ n \ "code \": \ "ResourceDeploymentFailure \", \ r \ n \ "message \": \ "Операция с ресурсом завершена с состоянием инициализации терминала" Сбой ". \", \ R \ n \ "подробности \": [\ r \ n {\ r \ n \ "код \": \ "VMExtensionProvisioningError \", \ r \ n \ "message \": \ "ВМ сообщила об ошибке при обработке расширения 'Microsoft.Powershell.DSC'. Сообщение об ошибке: \\ "Расширение DSC получило неверный ввод: Произошла ошибка при выполнении скрипта или модуля 'Main.ps1': термин 'C: \\ Packages \\ Plugins \\ Microsoft.Powershell.DSC \\ 2.71. 1.0 \\ bin \\ .. \\ DSCWork \\ DSC.1 \\ Main.ps1 'не распознается как имя командлета, функции, файла сценария или работающей программы. Проверьте написание имени или путь был включен, убедитесь, что путь правильный, и попробуйте еще раз .. \ nПожалуйста, исправьте ввод и повторите попытку выполнения расширения. \\ ". \" \ r \ n} \ r \ n] \ r \ n} \ r \ n} "}]}
Подскажите, пожалуйста, что я делаю не так? Я пошел по пути, это реализовано в официальных образцах шаблонов ARM, доступных на github. Спасибо!
C:\Packages\Plugins\Microsoft.Powershell.DSC\2.71.1.0\DSCWork\DSC.1\Main.ps1
. в противном случае что-то не так с вашим архивом dsc - person 4c74356b41   schedule 07.10.2017