Я выполняю простые упражнения по изучению 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 находится где-то на виртуальной машине. (Я вижу запись на лезвии расширений).
Или мне нужно перезагрузить пакет? Если да, то почему эта запись вообще видна на лезвии?
$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-адресом для получения дополнительной информации об этой настройке: