Инициируйте повторное выполнение проверки DSC на виртуальной машине Azure.

Я выполняю простые упражнения, чтобы изучить Azure и Powershell DSC.

Эта запись в блоге предоставляет прекрасный пример "Hello World" для DSC:

Configuration HelloWorldConfig 
{
       Node localhost 
       {
              File TestFile {
                     Ensure = "Present"
                     DestinationPath = "c:\temp\HelloWorld.txt"
                     Contents = "Hello World!"
              }
       }
}

Я создал пакет с помощью powershell и загрузил его на свою виртуальную машину Azure с помощью блейда расширений на портале Azure.

Это сработало! Когда я вошел в систему, я мог видеть файл c:\temp\HelloWorld.txt,

Но DSC должен защищать вас от "дрейфа конфигурации". Чтобы проверить это, я перенес свою конфигурацию, удалив файл вручную.

Как заставить файл появиться снова? т.е. как мне повторно запустить эту проверку конфигурации требуемого состояния.

Я предполагаю, что загруженный мной сценарий DSC находится где-то на виртуальной машине. (Я вижу запись на лезвии расширения).

Или я должен перезагрузить пакет? Если так, то почему эта запись даже видна на лезвии?


Я спрашиваю, где этот пакет вообще находится? Я узнал ответ, используя powershell:

$extension = Get-AzureRmVMDscExtension -ResourceGroupName $vm.ResourceGroupName -VMName $vm.Name
$extension.ModulesUrl

Это показало, что мой пакет теперь находится в https://iaasv2tempstoreseasia.blob.core.windows.net/vmextensionsteorary-000116674c9bb772-20160908062048340/sample-dsc-package.zip?sv=2015-04-05&sr=c&sig=Ynfv% 2FMPWexQWhGOw7H8d8EkGcN5Ufudyz1MIE% 3D & SE = 2016-09-09T06% 3A20% 3A48Z & зр = RW

Итак, я интерпретирую это в учетной записи хранения (не моя) называется iaasv2tempstoreseasia в контейнере BLOB-объектов под названием vmextensionstemporary-000116674c9bb772-20160908062048340, Просто существование слова temp предполагает, что там нет навигации.

И что интересно, когда я удалил расширение DSC из блейда Extensions, я все еще мог загрузить пакет, используя этот URL. Через несколько часов все прошло - я подозреваю, что по какой-то работе по уборке.

1 ответ

Решение

DSC использует DSC Local Configuration Manager для обработки конфигурации DSC и ее мониторинга. Локальный менеджер конфигурации имеет параметр, называемый РЕЖИМ КОНФИГУРАЦИИ, по умолчанию он имеет значение ApplyAndMonitor. Это означает, что он обработает и применит ваш сценарий DSC, но в случае изменения (в вашем примере удаление файла) он не будет автоматически повторно применять настройки. вам нужно установить РЕЖИМ КОНФИГУРАЦИИ на ApplyAndAutocorrect. в этом режиме он обнаружит дрейф конфигурации и повторно применяет ваши настройки DSC.

Проверьте этот URL для получения дополнительной информации об этой настройке:

https://msdn.microsoft.com/en-us/PowerShell/DSC/metaConfig

Другие вопросы по тегам