Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Примечание.
Расширение DSC будет прекращено 31 марта 2028 г. Перейдите к конфигурации машины Azure к этой дате. Подробнее см. в записи блога с объявлением. Служба конфигурации машин Azure объединяет некоторые функции расширения DSC, конфигурации состояния службы автоматизации Azure и часто запрашиваемые функции из отзывов клиентов. Конфигурация компьютера Azure также включает поддержку гибридных компьютеров с помощью серверов с поддержкой Arc.
Расширение виртуальной машины Azure для виртуальных машин Azure и связанные расширения являются частью служб инфраструктуры Microsoft Azure. Расширения виртуальных машин Azure — это программные компоненты, расширяющие функциональные возможности виртуальных машин и упрощающие различные операции управления виртуальными машинами.
Расширение DSC отправляет только конфигурацию на виртуальную машину. Виртуальная машина предоставляет только локальную отчетность, и возможность непрерывного создания отчетов недоступна.
Примечание.
Попробуйте использовать виртуальную машину для ускорения диагностики. Рекомендуется запустить Ассистент виртуальных машин для Windows или Ассистент виртуальных машин для Linux. Эти средства диагностики на основе скриптов помогают выявить распространенные проблемы, влияющие на гостевой агент виртуальной машины Azure и общую работоспособность виртуальных машин.
Если у вас возникли проблемы с производительностью виртуальных машин, перед обращением в службу поддержки запустите эти средства.
Доступные версии 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 для доступа к файлу. Затем функция конфигурации, определяемая в configurationFunction, запускается для создания файла формата управляемого объекта (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параметра. В противном случае командлет публикует файл в.zipBlob-хранилище, а затем защищает его с помощью 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,ArchiveStorageAccountNameVersionи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, который входит в состав Azure PowerShell SDK. Файл.zipзагружается в хранилище объектов BLOB пользователя и защищается с помощью маркера SAS.Полное имя конфигурации модуля: (обязательно) Укажите этот параметр для включения нескольких функций конфигурации в один
.ps1файл скрипта. Для этого параметра введите имя файла скрипта конфигурации.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".