Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Примечание.
Расширение DSC будет прекращено 31 марта 2028 г. Перейдите на Конфигурацию машины Azure до указанной даты. Подробнее см. в записи блога с объявлением. Служба конфигурации машин Azure объединяет некоторые функции расширения DSC, конфигурации состояния службы автоматизации Azure и часто запрашиваемые функции из отзывов клиентов. Конфигурация компьютера 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.
Автоматическое обновление младших версий: этот параметр соответствует переключателю
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".