Поделиться через


Настройка ВМ с использованием Desired State Configuration

Внимание

Эта статья ссылается на CentOS, дистрибутив Linux, который является состоянием "Конец жизни" (EOL). Пожалуйста, рассмотрите возможность использования и планирования соответствующим образом. Дополнительные сведения см. в руководстве centOS End Of Life.

Примечание.

Прежде чем включить служба автоматизации Azure DSC, мы хотели бы знать, что более новая версия DSC теперь общедоступна, управляемая функцией Политика Azure с именем "Конфигурация компьютера Azure". Служба конфигурации компьютера Azure объединяет функции расширения DSC, служба автоматизации Azure конфигурации состояния и наиболее часто запрашиваемые функции из отзывов клиентов. Конфигурация компьютера Azure также включает поддержку гибридных компьютеров с помощью серверов с поддержкой Arc.

Включив службу State Configuration (служба автоматизации Azure), вы сможете контролировать и отслеживать конфигурации серверов Windows и Linux с помощью платформы Desired State Configuration (DSC). Она позволяет выявлять или автоматически исправлять конфигурации, которые отличаются от требуемой конфигурации. В этом кратком руководстве описано, как включить виртуальную машину Linux в Azure и развернуть стек LAMP с помощью службы автоматизации Azure State Configuration.

Необходимые компоненты

Для работы с этим кратким руководством вам понадобится:

Вход в Azure

Войдите на портал Azure.

Активация виртуальной машины

Существует множество различных способов включения компьютера для State Configuration службы автоматизации. В этом кратком руководстве объясняется, как включить эту функцию для виртуальной машины Azure с помощью учетной записи службы автоматизации. Дополнительные сведения о различных методах, позволяющих настроить компьютеры для State Configuration, см. в статье Активация управления для компьютеров с помощью службы автоматизации Azure State Configuration.

  1. На портале Azure перейдите на страницу Учетные записи службы автоматизации.
  2. В списке учетных записей службы автоматизации выберите учетную запись.
  3. На странице учетной записи службы автоматизации в области слева выберите State configuration (DSC).
  4. Щелкните Добавить, чтобы открыть страницу выбора виртуальной машины.
  5. Найдите виртуальную машину, для которой необходимо включить DSC. Для поиска конкретной виртуальной машины можно применить поле поиска и фильтры.
  6. Щелкните виртуальную машину и нажмите кнопку "Подключить".
  7. Выберите настройки DSC для этой виртуальной машины. Если у вас есть уже готовая конфигурация, укажите ее для параметра Node Configuration Name. Также вы можете задать режим конфигурации, который определяет правила применения настройки для виртуальной машины.
  8. Щелкните OK. При развертывании расширения DSC на виртуальной машине отображается состояние Connecting.

Включение виртуальной машины Azure для DSC

Импорт модулей

Модули содержат ресурсы DSC. Множество разных модулей вы найдете в коллекции PowerShell. Все ресурсы, используемые в конфигурациях, нужно перед компиляцией импортировать в учетную запись службы автоматизации. Для работы с этим кратким руководством требуется модуль с именем nx.

  1. На странице учетной записи службы автоматизации в области слева выберите Коллекция модулей (в разделе Общие ресурсы).
  2. Найдите модуль, который вы хотите импортировать. Для этого введите часть его имени: nx.
  3. Выберите модуль, который нужно импортировать.
  4. Нажмите кнопку Импорт.

Импорт модуля DSC

Импорт конфигурации

В этом руководстве используется конфигурация DSC, которая настраивает на компьютере HTTP-сервер Apache, PHP и MySQL. См. статью Конфигурации DSC.

В текстовом редакторе введите следующий код и сохраните его локально в виде файла AMPServer.ps1.

configuration 'LAMPServer' {
   Import-DSCResource -module "nx"

   Node localhost {

        $requiredPackages = @("httpd","mod_ssl","php","php-mysql","mariadb","mariadb-server")
        $enabledServices = @("httpd","mariadb")

        #Ensure packages are installed
        ForEach ($package in $requiredPackages){
            nxPackage $Package{
                Ensure = "Present"
                Name = $Package
                PackageManager = "yum"
            }
        }

        #Ensure daemons are enabled
        ForEach ($service in $enabledServices){
            nxService $service{
                Enabled = $true
                Name = $service
                Controller = "SystemD"
                State = "running"
            }
        }
   }
}

Процесс импорта конфигурации.

  1. На странице учетной записи службы автоматизации в области слева выберите Настройка состояния (DSC), а затем щелкните вкладку Конфигурации.
  2. Выберите + Добавить.
  3. Выберите файл конфигурации, который вы сохранили на предыдущем этапе.
  4. Щелкните OK.

Компиляция конфигурации

Прежде чем назначать конфигурацию DSC узлу, ее нужно скомпилировать в конфигурации узла (MOF-документ). В процессе компиляции проходит проверка конфигурации и предоставляется возможность ввести значения параметров. Дополнительные сведения о компиляции конфигурации см. в статье Компиляция конфигураций в службе State Configuration.

  1. На странице учетной записи службы автоматизации в области слева выберите Настройка состояния (DSC), а затем щелкните вкладку Конфигурации.
  2. Выберите конфигурацию LAMPServer.
  3. Выберите в меню пункт Компиляция и нажмите кнопку Да.
  4. Откроется представление "Конфигурация", где вы увидите размещенное в очереди новое задание компиляции. Когда это задание успешно завершится, можете переходить к следующему шагу. Если же при выполнении возникнут ошибки, щелкните это задание компиляции для просмотра сведений о нем.

Назначение конфигурации узлу

Скомпилированную конфигурацию узла можно назначить любому узлу DSC. Назначенная конфигурация применяется к компьютеру и отслеживает или автоматически исправляет на нем любые отклонения от заданных настроек.

  1. На странице учетной записи службы автоматизации в области слева выберите State Configuration (DSC), а затем откройте вкладку Узлы.
  2. Выберите узел, которому вы хотите назначить конфигурацию.
  3. Щелкните Назначение конфигурации узлу.
  4. Выберите конфигурацию узла LAMPServer.localhost и нажмите кнопку ОК. Служба State Configuration теперь назначит скомпилированную конфигурацию этому узлу, и его состояние изменится на Pending. При следующей периодической проверке этот узел получит назначенную конфигурацию, применит ее и сообщит об изменении состояния. Получение конфигурации может занять до 30 минут в зависимости от настроек узла.
  5. Чтобы принудительно выполнить немедленную проверку данных, запустите следующую команду на виртуальной машине Linux: sudo /opt/microsoft/dsc/Scripts/PerformRequiredConfigurationChecks.py

Назначение конфигурации узлу

Просмотр данных о состоянии узла

Вы можете просмотреть состояние всех узлов, управляемых службой State Configuration, в учетной записи службы автоматизации. Сведения отображаются, выбрав конфигурацию состояния (DSC) и щелкнув вкладку "Узлы ". Отображение можно отфильтровать по состоянию, конфигурации узла или поиску имен.

Состояние узла DSC

Следующие шаги

Из этого краткого руководства вы узнали, как активировать виртуальную машину Linux в Azure для работы со State Configuration, создали конфигурацию для стека LAMP и развернули ее на виртуальной машине. Дополнительные сведения о применении службы State Configuration (служба автоматизации Azure) для непрерывного развертывания вы найдете в следующей статье: