Назад | Перейти на главную страницу

Запуск повторного запуска проверки 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 находится где-то на виртуальной машине. (Я вижу запись на лезвии расширений).

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


I ask, where does this package even reside? I found out the answer using powershell:

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

Это показало, что мой пакет теперь находится в https://iaasv2tempstoreseasia.blob.core.windows.net/vmextensions Contemporary-000116674c9bb772-20160908062048340/sample-dsc-package.zip?sv=2015-04-05&sr=c&sig=YnGCCH%2Bvfv%2GO8MIKUGU2Bvfv8c&hd08MWE2Bvfv8c8MiFW2 09T06% 3A20% 3A48Z & sp = rw

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

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

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

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

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