Это еще один пример того, как с помощью SaltStack Config применить файлы состояния для быстрого развертывания параметров конфигурации и управления ими. В этом примере используется немного более сложный файл состояния, который обеспечивает обработку трех разных задач (установка службы, запуск службы и развертывание файла на узле, где запущена служба).

Предупреждение!:

При выполнении этого практического примера в вашу среду буду внесены изменения, поэтому вам следует быть осторожными. Рекомендуется использовать только узлы тестовой среды или среды разработки, и не использовать узлы производственной среды.

Настройка веб-сервера Apache на узле CentOS (Linux)

Чтобы записать файл состояния, обеспечивающий настройку и развертывание веб-сервера Apache, выполните следующие действия.

  1. Создайте новый файл на файловом сервере SaltStack Config.
    1. а.В пользовательском интерфейсе SaltStack Config в боковом меню выберите Конфигурация > Файловый сервер.
    2. б.При первом открытии рабочей области файлового сервера отобразится каталог файлов и пустой новый файл. Используйте этот пустой файл, чтобы создать новый файл.
    Пустой файл состояния в рабочей области файлового сервера
  2. Используйте пустой новый файл, чтобы создать новый файл состояния (SLS).
    1. а.Щелкните меню Saltenv и выберите base.
    2. б.В поле без названия введите путь к файлу и имя файла. Используйте /apache/centos.sls.
    3. в.Скопируйте и вставьте в тело файла следующий код файла состояния (для которого используется синтаксис YAML).
      install_apache:
        pkg.installed:
          - name: httpd
          
      ensure_service_running:
        service.running:
          - name: httpd
          - watch:
            - pkg: install_apache
            
      default_html_page:
        file.managed:
          - name: /var/www/html/index.html
          - source: salt://apache/index.html
      
      Примечание:
      Этот файл состояния включает три шага, на которых запускаются три разных модуля выполнения Salt. Когда этот файл состояния применяется к служебному серверу, SaltStack Config выполняет следующие действия.
      • Устанавливает Apache (httpd) на служебном сервере.
      • Запускает службу Apache.
      • Развертывает образец HTML-страницы индексов, которая размещается на служебном сервере.
      Пример файла состояния для компьютеров CentOS
    4. г.Сохраните файл состояния.
    5. д.Убедитесь, что новый файл отображается в каталоге файлового сервера в разделе base > apache > centos.sls.Пример файла состояния для компьютеров CentOS
  3. Добавьте образец HTML-страницы индексов на файловый сервер.
    1. а.В рабочей области файлового сервера нажмите кнопку Создать, чтобы добавить новый файл.
    2. б.Щелкните меню без названия и выберите base.
    3. в.Рядом с меню без названия введите путь к файлу и имя файла. Используйте /apache/index.html.
    4. г.Скопируйте и вставьте в тело файла следующий HTML-код.
      <html>
      <head><title>SaltStack Config Example></title></head>
      <body>
      <h1>SaltStack Config Example</h1>
      
      Hello, world!
      
      </body>
      
    5. д.Сохраните HTML-файл.
    6. е.Убедитесь, что новый файл отображается в каталоге файлового сервера в разделе base > apache > index.html.
  4. Создайте новое задание.
    1. а.Откройте рабочую область «Задания», выбрав Конфигурация > Задания в боковом меню.
    2. б.Нажмите кнопку Создать задание.
      Примечание:

      Если кнопка «Создать задание» не отображается, у вас нет разрешения на создание новых заданий. Чтобы выполнить примеры из учебника, запросите у администратора vRealize Automation доступ или попросите его создать это задание от вашего имени.

  5. На экране «Новое задание» введите сведения о новом задании и сохраните его.
    Поле Пример значения

    Имя

    Дайте заданию описательное имя, например «Настройка веб-сервера Apache».

    Описание

    Добавьте описание, которое прояснит другим пользователям цель задания, например «Настройка и развертывание веб-сервера Apache на целевом узле CentOS вместе с образцом HTML-страницы индексов».

    Команда

    Выберите salt.

    Команда salt используется для заданий, запускаемых на служебных серверах.

    Целевые объекты

    Не выбирайте ничего в этом меню. Если оставить это поле пустым, целевой объект можно будет выбрать во время запуска задания.

    Функция

    Щелкните это поле и начните вводить state.apply, чтобы выбрать этот модуль.

    В этом поле можно выбрать модуль Salt, который применяется при запуске задания.

    Среды

    Выберите base в меню.

    Состояния

    Выберите созданный файл состояния в меню: apache.centos.

    Аргументы

    Для этого модуля аргументы не принимаются, поэтому оставьте данное поле пустым.

    Вводимые значения задания

    Для этого задания не требуется вводить значения задания, поэтому оставьте это поле пустым. Дополнительные сведения о вводимых значениях задания см. в разделе Создание заданий.

    Создание нового задания для настройки веб-сервера Apache
  6. После создания задания запустите его, выбрав целевые объекты.
    1. а.В боковом меню выберите Целевые объекты, чтобы открыть рабочую область «Целевые объекты» и просмотреть эти объекты.
    2. б.В таблице Все служебные серверы найдите служебный сервер CentOS, на котором нужно выполнить задание. Установите флажок рядом с этим служебным сервером и нажмите кнопку Запустить задание.
    3. в.В диалоговом окне «Запустить задание» перейдите в меню Задание и выберите задание настройки веб-сервера Apache, созданное на предыдущих шагах. При необходимости можно ввести имя задания для фильтрации заданий.
    4. г.Нажмите Запустить сейчас.

      Если задание запущено, появится уведомление об успешном запуске задания.

  7. Проверьте, выполнено ли задание, нажав Действие > Выполнено в боковом меню.

    Если задание не отображается в этой таблице, возможно, оно все еще выполняется. Чтобы найти задания, выполняемые в настоящее время, нажмите Действие > Выполняется. Продолжайте обновлять параметр Действие > Выполняется, пока задание не появится в таблице.

  8. После выполнения задания убедитесь, что страница индексов размещена на только что настроенном веб-сервере.
    1. а.В веб-браузере перейдите на IP-адрес служебного сервера CentOS, на котором было выполнено задание. Чтобы найти IP-адрес служебного сервера в SaltStack Config, просмотрите столбец «IP-адрес» для этого сервера в рабочей области «Целевые объекты».
    2. б.При вводе этого IP-адреса должна отобразиться HTML-страница индексов.
HTML-страница индексов с приветствием

Сводка результатов и ключевая информация

При просмотре результатов задания и страницы индексов следует учитывать следующие аспекты.

  • Файлы состояния — это быстрый способ настройки и обновления конфигурации системы при любом количестве узлов, а также предотвращения дрейфа конфигураций при использовании подхода «инфраструктура как код».
  • SaltStack Config позволяет создавать файлы состояния, которые могут включать сложные элементы, например переменные. Это значения, которые могут изменяться в зависимости от условий или информации, передаваемой в файл состояния во время его применения к системе.
  • Кроме того, можно создавать файлы состояния, которые могут получать пароли из закрытого хранилища (в SaltStack Config называются pillar), чтобы обеспечить безопасность учетных данных, а также предоставить участникам авторизованной рабочей группы возможность запускать задания на ресурсах, к которым им разрешен доступ.