Общие сведения об обработчике расширения Desired State Configuration в Azure
Примечание.
Прежде чем включить расширение DSC, мы хотели бы знать, что новая версия DSC теперь общедоступна с именем "Конфигурация компьютера Azure". Служба конфигурации компьютера Azure включает функции из расширения DSC и часто запрашиваемые функции из отзывов клиентов. Конфигурация компьютера Azure также включает поддержку гибридных компьютеров с помощью серверов с поддержкой Arc.
Расширение виртуальной машины Azure для виртуальных машин Azure и связанные расширения являются частью служб инфраструктуры Microsoft Azure. Расширения виртуальных машин Azure — это программные компоненты, расширяющие функциональные возможности виртуальных машин и упрощающие различные операции управления виртуальными машинами.
Расширение DSC отправляет только конфигурацию на виртуальную машину. На виртуальной машине доступно только локальное непрерывное создание отчетов.
Доступные версии DSC
Расширение DSC поддерживает конфигурации из версии 1.1 платформы DSC. Дополнительные сведения см. в разделе PSDesiredStateConfiguration версии 1.1.
Необходимые компоненты
Рабочая станция разработчика. Чтобы взаимодействовать с расширением Azure DSC, необходимо использовать портал Azure или пакет SDK Azure PowerShell/CLI.
Гостевой агент: виртуальная машина Azure, подготовленная конфигурацией DSC, должна использовать операционную систему, которая поддерживает Windows Management Framework (WMF) 4.0 или более поздней версии. Полный список поддерживаемых версий операционной системы см. в журнале версий расширения Azure DSC.
Термины и основные понятия
В этой статье предполагается знакомство со следующими понятиями:
Конфигурация относится к документу конфигурации DSC.
Узел определяет целевой объект для конфигурации DSC. В этой статье узел всегда ссылается на виртуальную машину Azure.
Данные конфигурации хранятся в файле формата PowerShell DSC (PSD1), который содержит данные среды для конфигурации.
Архитектура
Расширение Azure DSC использует платформу расширения виртуальной машины Azure для доставки, принятия и отчета о конфигурациях DSC, работающих на виртуальных машинах Azure. Расширение DSC принимает документ конфигурации и набор параметров.
При первом вызове расширения он устанавливает версию WMF с помощью следующей логики:
Если операционная система виртуальной машины Azure является Windows Server 2016, действие не выполняется. потому что в Windows Server 2016 уже установлена последняя версия PowerShell.
wmfVersion
Если задано свойство, устанавливается указанная версия WMF, если указанная версия не несовместима с операционной системой на виртуальной машине.Если свойство не
wmfVersion
указано, устанавливается последняя соответствующая версия WMF.
Для процесса установки WMF требуется перезапуск. После перезапуска расширение скачивает файл .zip, указанный в свойстве modulesUrl
, если он указан. Если это расположение находится в Хранилище BLOB-объектов Azure, можно указать маркер SAS в свойстве sasToken
для доступа к файлу. После загрузки и распаковки .zip функция конфигурации, определенная в configurationFunction
запусках для создания MOF-файла (MOF ). Затем расширение запускает Start-DscConfiguration -Force
команду с помощью созданного MOF-файла. Расширение фиксирует выходные данные и записывает их в канал состояний Azure.
Имя конфигурации узла
NodeConfigurationName
Для параметра обязательно укажите имя конфигурации узла, а не конфигурацию.
Конфигурация определена в скрипте, который используется для компиляции конфигурации узла (MOF-файла). Имя конфигурации узла всегда является именем конфигурации, за которой следует период .
или localhost
определенное имя компьютера.
Развертывание шаблона ARM
Наиболее распространенный подход к развертыванию расширения DSC — использовать шаблоны Azure Resource Manager. Дополнительные сведения и примеры включения расширения DSC в шаблоны ARM см. в разделе "Конфигурация требуемого состояния" с помощью шаблонов ARM.
Развертывание командлета PowerShell
Командлеты PowerShell для управления расширением DSC идеально подходят для интерактивных сценариев устранения неполадок и сбора информации. Эти командлеты можно использовать для упаковки, публикации и отслеживания развертываний расширения DSC.
Ниже приведены некоторые доступные командлеты PowerShell:
Командлет Publish-AzVMDscConfiguration принимает файл конфигурации, сканирует его на наличие ресурсов, зависимых от DSC, а затем создает ZIP-файл. ZIP-файл содержит конфигурацию и ресурсы DSC, которые необходимы для применения конфигурации. Командлет также может локально создать пакет с помощью
-OutputArchivePath
параметра. В противном случае командлет публикует файл .zip в хранилище BLOB-объектов, а затем защищает его с помощью маркера SAS.Скрипт конфигурации PowerShell (PS1), созданный командлетом, находится в файле .zip в корне папки архива. Предназначенная для ресурсов папка модуля находится в папке архива.
Командлет Set-AzVMDscExtension внедряет параметры, которые необходимы расширению DSC PowerShell, в объект конфигурации виртуальной машины.
Командлет Get-AzVMDscExtension извлекает состояние расширения DSC определенной виртуальной машины.
Командлет Get-AzVMDscExtensionStatus извлекает состояние конфигурации DSC, которое применил обработчик расширения DSC. Это действие можно выполнить на одной виртуальной машине или группе виртуальных машин.
Командлет Remove-AzVMDscExtension удаляет обработчик расширения из определенной виртуальной машины. Имейте в виду, что этот командлет не удаляет конфигурацию, удаляет WMF или не изменяет примененные параметры на виртуальной машине. Командлет удаляет только обработчик расширения.
Важные замечания
При работе с командлетами Azure Resource Manager следует учитывать несколько соображений.
Командлеты Azure Resource Manager выполняются синхронно.
Требуются несколько параметров, в том числе
ResourceGroupName
,VMName
,ArchiveStorageAccountName
Version
иLocation
.ArchiveResourceGroupName
является необязательным параметром. Укажите этот параметр, если учетная запись хранения принадлежит другой группе ресурсов, отличной от той, в которой создается виртуальная машина.Используйте
AutoUpdate
параметр для автоматического обновления обработчика расширений до последней версии, когда она доступна. После выпуска новой версии WMF возможна перезагрузка виртуальной машины из-за данного параметра.
Настройка с помощью командлетов PowerShell
Расширение DSC Azure может использовать документы конфигурации DSC для непосредственной настройки виртуальных машин Azure во время развертывания. Этот шаг не регистрирует узел в службе автоматизации или конфигурации компьютера. Помните, что узел не управляется централизованно.
В следующем коде показана простая конфигурация примера. Чтобы работать с этим примером, сохраните эту конфигурацию локально в файле скрипта iisInstall.ps1 .
configuration IISInstall
{
node "localhost"
{
WindowsFeature IIS
{
Ensure = "Present"
Name = "Web-Server"
}
}
}
Следующие команды PowerShell помещает скрипт iisInstall.ps1 на указанную виртуальную машину. а также выполняют конфигурацию и возвращают сведения о состоянии.
$resourceGroup = 'dscVmDemo'
$vmName = 'myVM'
$storageName = 'demostorage'
#Publish the configuration script to user storage
Publish-AzVMDscConfiguration -ConfigurationPath .\iisInstall.ps1 -ResourceGroupName $resourceGroup -StorageAccountName $storageName -force
#Set the VM to run the DSC configuration
Set-AzVMDscExtension -Version '2.76' -ResourceGroupName $resourceGroup -VMName $vmName -ArchiveStorageAccountName $storageName -ArchiveBlobName 'iisInstall.ps1.zip' -AutoUpdate -ConfigurationName 'IISInstall'
Развертывание с помощью Azure CLI
Azure CLI можно использовать для развертывания расширения DSC на существующей виртуальной машине. В следующих примерах показано, как развернуть виртуальную машину в Windows.
Для виртуальной машины под управлением Windows используйте следующую команду:
az vm extension set \
--resource-group myResourceGroup \
--vm-name myVM \
--name DSC \
--publisher Microsoft.Powershell \
--version 2.77 --protected-settings '{}' \
--settings '{}'
развертывание портал Azure
Чтобы настроить расширение DSC в портал Azure, выполните следующие действия.
Перейдите к виртуальной машине.
В разделе "Параметры" выберите "Расширения и приложения".
В разделе "Расширения" нажмите кнопку "+ Добавить".
Выберите PowerShell Desired State Configuration, а затем нажмите кнопку "Далее".
Настройте следующие параметры для расширения DSC.
Модули конфигурации или скрипт: (обязательно) Укажите модули конфигурации или файл скрипта для виртуальной машины.
Модулям и скриптам конфигурации требуется PS1-файл, содержащий скрипт конфигурации, или ZIP-файл со скриптом конфигурации PS1 в корне. Если вы используете файл .zip, все зависимые ресурсы должны быть включены в папки модулей в файле .zip. ZIP-файл можно создать с помощью командлета Publish-AzureVMDscConfiguration -OutputArchivePath, включенного в пакет SDK для Azure PowerShell. Файл .zip передается в хранилище BLOB-объектов пользователя и защищается маркером SAS.
Имя конфигурации, соответствующее модулю: (обязательно) Укажите этот параметр, чтобы включить несколько функций конфигурации в один файл скрипта PS1. Для этого параметра введите имя файла скрипта configuration .ps1, за которым следует косая черта
\
, а затем имя функции конфигурации. Например, если файл скрипта PS1 имеет имя configuration.ps1 , а имя конфигурации — IisInstall, введите значениеconfiguration.ps1\IisInstall
параметра.Аргументы конфигурации: если функция конфигурации принимает аргументы, введите значения с помощью формата
argumentName1=value1,argumentName2=value2
. Обратите внимание, что этот формат отличается от формата, используемого для указания аргументов конфигурации в командлетах PowerShell или шаблонах ARM.Файл PSD1 конфигурации. Если для конфигурации требуется файл данных конфигурации в формате PSD1, используйте этот параметр, чтобы выбрать файл данных и передать его в хранилище BLOB-объектов пользователя. Файл данных конфигурации защищен маркером SAS в хранилище BLOB-объектов.
Версия WMF: укажите версию Windows Management Framework для установки на виртуальной машине. Если выбрать последнюю версию WMF, которая является значением по умолчанию, система устанавливает последнюю версию WMF. Другие возможные значения включают 4.0, 5.0 и 5.1. Возможные значения подвергаются обновлениям.
Сбор данных. Включите этот параметр, если требуется расширение DSC для сбора данных телеметрии о виртуальной машине. Дополнительные сведения см. в записи блога Azure DSC Extension Data Collection (Коллекция данных расширения DSC Azure).
Версия: (обязательно) Укажите версию расширения DSC для установки. Сведения о версиях см . в журнале версий расширения Azure DSC.
Дополнительная версия автоматического обновления: этот параметр сопоставляется с параметром
AutoUpdate
в командлетах. Настройте этот параметр, чтобы включить расширение DSC для автоматического обновления до последней версии во время установки. Да указывает обработчику расширения DSC использовать последнюю доступную версию. Нет (по умолчанию) принудительной установки версии, указанной в параметре версии .
После настройки параметров нажмите кнопку "Проверить и создать", а затем нажмите кнопку "Создать".
Журналы расширений DSC
Журналы расширения Azure DSC можно просмотреть на виртуальной машине в разделе C:\WindowsAzure\Logs\Plugins\Microsoft.Powershell.DSC\<version number>
.
Следующие шаги
- Дополнительные сведения о PowerShell DSC см. в центре документации по PowerShell.
- Изучите шаблон ARM для расширения Azure DSC.
- Дополнительные функциональные возможности, которыми можно управлять с помощью PowerShell DSC, и ресурсы по DSC см. в коллекции PowerShell.
- Дополнительные сведения о передаче конфиденциальных параметров в конфигурации см. в статье "Управление учетными данными безопасно с помощью обработчика расширения Azure DSC".