Если выполнена интеграция SaltStack Config и vRealize Automation, можно установить служебные серверы на виртуальных машинах в развертываниях и использовать возможности SaltStack Config для выполнения дополнительных операций управления на этих машинах.

Служебные серверы можно развертывать как часть облачных шаблонов или добавлять их к компьютерам в рамках действия по регулярному обслуживанию. Кроме того, можно указать файлы состояния в шаблоне или в рамках действий по регулярному обслуживанию. Инструкции по развертыванию в облачном шаблоне предоставляются в настоящем документе. Дополнительные сведения о действиях по регулярному обслуживанию см. в разделе «Применение конфигурации Salt» в Какие действия можно выполнять в развертываниях vRealize Automation Cloud Assembly.

Служебные серверы — это узлы, на которых выполняется служба salt-minion. Данная служба прослушивает команды с главного сервера Salt и выполняет запрашиваемые задачи.

В настоящее время для установки служебного сервера на компьютерах Linux можно использовать облачный шаблон.

Начало работы

  • Убедитесь, что вы установили SaltStack Config и настроили интеграцию. См. раздел Создание интеграции SaltStack Config в vRealize Automation.
  • Сведения о работе SaltStack Config, включая основные понятия, связанные со служебными серверами, см. в разделе Служебные серверы.
  • В SaltStack Config убедитесь, что преобразование полных доменных имен от служебного сервера к главному серверу работает. Чтобы проверить полное доменное имя на главном сервере Salt в SaltStack Config, выберите Служебные серверы > Все служебные серверы и отфильтруйте столбец «ИД служебного сервера» по значению saltmaster. Щелкните saltmaster для просмотра сведений. Убедитесь в правильности значения полного доменного имени.
  • Убедитесь, что для образов в vSphere, развертывание которых планируется провести с помощью служебного сервера Salt, включены возможности SSH. Протокол SSH используется для удаленного доступа к компьютеру и развертывания служебного сервера.
  • Убедитесь, что развертываемым компьютерам можно назначить IP-адреса. Для SaltStack Config требуется, чтобы компьютеры имели IP-адреса. Используйте IP-адреса общедоступного диапазона IP CIDR для программно-определяемого ЦОД, где находится главный сервер Salt.
  • Прежде чем добавлять свойства saltConfiguration, убедитесь, что облачный шаблон, к которому добавляется служебный сервер, может быть развернут.

Добавление служебного сервера в облачный шаблон

Разработчик облачных шаблонов может добавлять в код YAML свойства, обеспечивающие установку служебного сервера SaltStack Config при развертывании шаблона.

Основные свойства, добавляемые в шаблон, включают удаленный доступ и некоторые свойства saltConfiguration. В процедуру включены только выбранные свойства. Код YAML содержит другие свойства saltConfiguration, которые не используются в этом примере. Дополнительные сведения см. на схеме.

В этом примере показано, как добавить имя пользователя и пароль для свойств удаленного доступа, однако вы можете настроить секретное свойство и добавить его в шаблон. См. пример в разделе Секретные свойства vRealize Automation Cloud Assembly.

Процедура

  1. В vRealize Automation Cloud Assembly выберите Проектирование > Облачные шаблоны.
  2. Откройте существующий шаблон.
  3. На панели кода добавьте любые свойства saltConfiguration к ресурсам компьютера.

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

     saltConfiguration:
            masterId: saltstack_enterprise_installer
            minionId: '${input.minionID}'
            saltEnvironment: sse
            stateFiles:
              - /doe.sls
            variables: 
              user: joe

    Описание свойств saltConfiguration, используемых в этом примере.

    Свойство Описание
    masterID Значение saltstack_enterprise_installer является идентификатором masterID по умолчанию. Возможно, у вас есть идентификаторы главного сервера (masterID), заданные в SaltStack Config в разделе Администрирование > Ключи главного сервера.
    minionID Если вы не задали идентификатор служебного сервераа (minionID), его назначает система SaltStack Config. Идентификатором по умолчанию является адрес компьютера. Настройка использования имени узла компьютера в качестве идентификатора невозможна.

    Текущее значение в примере кода YAML — '${input.minionID}' — является переменной. Эта процедура включает в себя шаги по добавлению входного значения, что позволяет присвоить имя и выполнить тестирование. Однако предоставление пользователям возможности задания minionID не является распространенной практикой.

    saltEnvironment Значение sse представляет собой расположение файла по умолчанию для файлов состояний. Ваш и файлы состояний могут находиться в других папках на файловом сервере в SaltStack Config в разделе Config > Файловый сервер.
    stateFiles Значение doe.sls представляет собой файл состояния по умолчанию, указанный в каталоге файлового сервера и заданный как saltEnvironment.
    variables variables (переменные) — это значения, которые используются в файле состояния. В этом примере doe.sls принимает значение user.
  4. Добавьте свойства remoteAccess, которые SaltStack Config использует для связи со служебным сервером.

    Значение ключа authentication должно быть usernamePassword или generatedPublicPrivateKey. publicPrivateKey не поддерживается.

     remoteAccess:
            authentication: usernamePassword
            username: adminUser
            password: adminPassword
  5. Добавьте входные данные, чтобы пользователь, выполняющий развертывание, мог указать minionID.
    inputs:
      minionID:
        type: string
        title: Minion ID
  6. Убедитесь, что код YAML содержит свойства, аналогичные свойствам в примере ниже.
    inputs:
      minionID:
        type: string
        title: Minion ID
    resources:
      Cloud_vSphere_Machine_1:
        type: Cloud.vSphere.Machine
        properties:
          image: centos
          flavor: small
          saltConfiguration:
            masterId: saltstack_enterprise_installer
            minionId: '${input.minionID}'
            saltEnvironment: sse
            stateFiles:
              - /doe.sls
            variables:
              user: sylvia
          remoteAccess:
            authentication: usernamePassword
            username: adminUser
            password: adminPassword
  7. Протестируйте облачный шаблон и разверните его.
  8. Проверьте свойства конфигурации Salt для развернутого компьютера.
    1. а. Выберите Развертывания > Развертывания и откройте сведения о развертывании.
    2. б. На вкладке Топология щелкните компьютер и разверните свойства на правой панели.

      Снимок экрана с вкладкой «Топология», содержащей свойства конфигурации Salt, развернутые на правой панели. Свойства включают в себя идентификатор главного сервера, идентификатор служебного сервера, среду Salt и файлы состояния.

Проверка служебного сервера в SaltStack Config

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

Процедура

  1. Чтобы открыть SaltStack Config, щелкните меню приложений в правом верхнем углу и выберите пункт Консоль облачных служб.
  2. Щелкните плитку службы SaltStack Config.
  3. В SaltStack Config разверните Ключи служебного сервера и нажмите Принято.
  4. В столбце «ИД служебного сервера» щелкните значок фильтра и введите имя служебного сервера.
    Имя служебного сервера — это строка, введенная при развертывании облачного шаблона в vRealize Automation Cloud Assembly. В этом примере ИД служебного сервера — MinionID-0001.
    Снимок экрана с принятыми ключами служебного сервера в SaltStack Config.
  5. Для просмотра сведений щелкните имя служебного сервера.
    На служебном сервере можно выполнять задания и команды. Например, получение статистики использования дисков. Это задание возвращает статистику использования дисков для служебного сервера.
    Снимок экрана со страницей сведений для примера ИД служебного сервера.

Дальнейшие действия

Возможности SaltStack Config по управлению ресурсами см. в документации по SaltStack Config.