Использование DSC для настройки Windows Server
Один из других администраторов сервера в компании Contoso имеет опыт работы с Windows PowerShell и предлагает вам исследовать использование PowerShell DSC для настройки вновь развернутых компьютеров Windows Server. Компания Contoso может использовать технологию PowerShell DSC для реализации декларативного управления конфигурацией с помощью сочетания сценариев PowerShell и функций операционной системы. Вы решили продолжить анализ.
Примечание.
Язык декларативного программирования позволяет различать намерение (что нужно сделать) и выполнение (как это нужно сделать).
Что такое DSC?
DSC — это платформа управления на основе PowerShell, которую можно использовать для управления серверами и связанной с ними ИТ-инфраструктурой. DSC состоит из трех компонентов, описанных в следующей таблице.
Компонент | Description |
---|---|
Конфигурации | Конфигурации — это декларативные скрипты PowerShell, которые настраивают и определяют ресурсы. При выполнении конфигурации DSC применяет конфигурацию в соответствии с ее определением. Это гарантирует, что целевой ресурс (в данном случае сервер) находится в определенном состоянии. Local Configuration Manager (LCM) применяет и поддерживает эти конфигурации. |
Ресурсы | Ресурсы содержат код, который определяет и применяет требуемое состояние конфигурации ресурса. |
LCM | LCM — это механизм, который DSC использует для применения конфигураций. Периодически LCM проверяет состояние системы и при необходимости вызывает код в reapplys для повторного применения требуемого состояния. |
Примечание.
Нет необходимости ничего устанавливать для использования DSC; PowerShell DSC входит в Windows.
DSC на основе Windows широко использует компонент LCM. Этот компонент выступает в качестве подсистемы выполнения сценариев DSC в Windows PowerShell.
Примечание.
Как и DSC, LCM является неотъемлемой частью всех поддерживаемых в настоящее время версий операционных систем Windows.
LCM отвечает за следующее:
- Координация реализации параметров, определенных в скриптах DSC
- Наблюдение за текущим состоянием этих параметров
- Обновление состояния компьютера в соответствии с требуемым состоянием
При каждом запуске LCM выполняет следующие действия:
- Get: возвращает текущее состояние компьютера.
- Test: сравнивает текущее состояние узла с требуемым состоянием с помощью скомпилированного сценария DSC (MOF-файла).
- Set: обновляет узел в соответствии с требуемым состоянием, описанным в MOF-файле.
Конфигурацию DSC можно развернуть в режиме Push или Pull, как описано в следующей таблице.
Режим | Description |
---|---|
Явно (толкать) | В этом режиме вам нужно вручную пересылать или отправлять (push) необходимые конфигурации на один или несколько управляемых компьютеров. Компонент LCM гарантирует, что состояние на каждой из управляемых вычислительных машин будет совпадать с заданной вами конфигурацией. |
Извлечь | В этом режиме опрашиваемый сервер (pull server) сохраняет информацию о заданной вами конфигурации. Компонент LCM, имеющийся на каждом управляемом компьютере, периодически обращается к опрашиваемому серверу (с заданным по умолчанию интервалом в 15 минут), чтобы получить сведения об актуальной конфигурации. Опрашиваемый сервер отправляет данные обо всех изменениях конфигурации обратно на каждый из управляемых компьютеров. |
Совет
Хотя можно настроить Windows Server в качестве опрашивающего сервера, можно также использовать настройку требуемого состояния службы автоматизации Azure.
Требования к компьютерам с ОС Windows для платформы DSC
Имеется ряд требований, которым должна удовлетворять рабочая среда, чтобы можно было использовать платформу DSC с ОС Windows. К ним относятся:
- Операционная система. Компьютеры должны работать под управлением ОС Windows 8.1 или более поздней версии или ОС Windows Server 2012 R2 или более поздней версии.
- Удаленное управление Windows. На управляемых компьютерах должна быть включена служба удаленного управления Windows (WinRM).
С помощью DSC можно определить нужное состояние:
- Операционная система
- Приложение
Работа со скриптами
Для определения DSC можно использовать скрипт. После создания и компиляции конфигурации ее можно назначить машинам, к которым она будет применяться.
Создание сценария
Реализация DSC обычно начинается с создания сценария конфигурации (PS1), который описывает требуемое состояние. Ниже приводится простой пример конфигурации. В этом случае сценарий проверяет наличие службы Internet Information Service (IIS) и устанавливает ее при необходимости.
configuration IISInstall
{
# Import the required module.
Import-DscResource -ModuleName PsDesiredStateConfiguration
node "localhost"
{
WindowsFeature IIS
{
Ensure = "Present"
Name = "Web-Server"
}
}
}
После создания скрипта сохраните его. В этом случае сохраните его как IISInstall.ps1.
Компиляция конфигурации
После создания скрипта конфигурации его необходимо скомпилировать. При компиляции создается один или несколько .mof-файлов, которые содержат конфигурации, применимые к целевым узлам. Чтобы скомпилировать скрипт, в консоли PowerShell выберите папку, в которой была сохранена конфигурация (файл сценария), и выполните следующие команды, чтобы скомпилировать конфигурацию в MOF-файл:
.\IISInstall.ps1
IISInstall
Применение конфигурации
Следующим шагом является применение конфигурации. Для этого выполните командлет Start-DscConfiguration
.
Внимание
Чтобы разрешить выполнение DSC, необходимо настроить Windows для удаленного взаимодействия PowerShell, даже если используется конфигурация localhost.
Например, в консоли PowerShell перейдите к папке, в которой сохранена конфигурация, и выполните следующую команду PowerShell:
Start-DscConfiguration .\IISInstall
Совет
Вы можете проверить успешность настройки, выполнив командлет Get-DscConfigurationStatus
.