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

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

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

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

Процедура

  1. В Automation Assembler выберите Проектирование > Облачные шаблоны.
  2. Откройте существующий шаблон.
  3. Найдите SaltStack resource и перетащите его на холст.
  4. Присоедините SaltStack resource к компьютеру, на котором будет установлен служебный сервер.
  5. Добавьте свойства в SaltStack resource на панели кода.
    Не требуется добавлять все возможные свойства. Значения, используемые в этом примере, описаны в таблице.
    Примечание: По умолчанию для свойства createTimeout устанавливается значение «30 минут». При необходимости это значение можно задать в формате минут/часов, например: 30 мин или 1 ч.
    Cloud_SaltStack_1:
        type: Cloud.SaltStack
        properties:
          masterId: saltstack_enterprise_installer
          hosts:
            - ${resource["Cloud_VM_1".id}
          saltEnvironment: sse
          stateFiles:
            - /doe.sls
          variables: 
            user: joe
          additionalMinionParams:
            grains:
              roles:
                - webserver
                - database   
           additionalAuthParams:
             profile:
                tmp_dir: /var/run

    Ниже приведено описание свойств Cloud_SaltStack_1, используемых в этом примере.

    Свойство Описание
    masterId В примере схемы masterId имеет значение saltstack_enterprise_installer.

    Возможно, у вас есть идентификаторы главного сервера (masterID), заданные в Automation Config в разделе Администрирование > Ключи главного узла.

    Узлы Значение hosts — это идентификатор компьютера или кластера компьютеров, на которых необходимо установить служебный сервер. По умолчанию имя компьютера передается в качестве идентификатора служебного сервера в Automation Config.

    Рекомендуется выбирать имена компьютеров размером не более 15 символов, особенно если развертывание служебных серверов происходит в ОС Windows. Windows не позволяет использовать имена узлов, длина которых превышает 15 символов.

    Чтобы определить настраиваемое соглашение об именовании для компьютеров, которые необходимо развернуть, см. раздел Настраиваемое именование для развернутых ресурсов в Automation Assembler.

    saltEnvironment В этом примере sse представляет собой расположение для файлов состояния.

    Ваш и файлы состояний могут находиться в других папках на файловом сервере в Automation Config в разделе Config > Файловый сервер.

    stateFiles В этом примере значение doe.sls представляет собой файл состояния, указанный в каталоге файлового сервера как saltEnvironment.
    variables Переменные, определенные в облачном шаблоне, передаются в состояния Salt в виде хранилищ pillar. В этом примере переменная user передается в файл doe.sls.

    Как показано в следующем примере, в файлах состояния на переменные можно ссылаться с помощью Jinja:

    {% set username = pillar.get('user', 'random') %}
    
    friend:
      user.present:
        - names:
          -  {{username}}

    Файл doe.sls гарантирует, что пользователь, представленный переменной user в облачном шаблоне, существует. Если эта переменная не определена в облачном шаблоне, это гарантирует наличие пользователя random.

    additionalMinionParams Это свойство можно использовать, чтобы передавать дополнительные параметры конфигурации для служебного сервера. Эти параметры должны быть переданы в виде словаря:

    • grains. Это свойство можно использовать для назначения настраиваемых параметров grain Salt служебному серверу. Принимается одна или несколько пар key:value. Значениями могут быть строка, массив или сопоставление.

      Настраиваемые данные grain можно назначить только при подготовке нового компьютера. Настраиваемые данные grain невозможно назначить при выполнении действий по регулярному обслуживанию Присоединить ресурс SaltStack или Обновление конфигурации Salt.

    additionalAuthParams Это свойство можно использовать, чтобы передать дополнительные параметры авторизации для подготовки служебного сервера, который будет объединен или переопределен с использованием конфигурации salt-cloud по умолчанию. Эти параметры должны быть переданы в виде словаря.

    Одна или несколько пар «ключ:значение» принимаются в виде строки, массива или сопоставления. Пример использования этого свойства см. в разделе Пример использования. Развертывание служебных серверов с помощью API-интерфейса в среде Linux.

    Примечание: Дополнительные параметры авторизации невозможно назначить при выполнении действий по регулярному обслуживанию Обновление конфигурации Salt.
  6. Добавьте свойства remoteAccess к компьютеру, на котором размещается служебный сервер Salt.

    При развертывании служебного сервера Salt на компьютере Linux ключ authentication может иметь значение usernamePassword или generatedPublicPrivateKey. publicPrivateKey не поддерживается.

    При развертывании служебного сервера Salt на компьютере Windows ключ authentication должен иметь значение usernamePassword..

     remoteAccess:
            authentication: usernamePassword
            username: adminUser
            password: adminPassword
  7. Убедитесь, что код YAML содержит свойства, аналогичные свойствам в примере ниже.
    resources:
      Cloud-Network:
        type: Cloud.Network
        properties:
          networkType: existing 
      Cloud_VM_1:
        type: Cloud.vSphere.Machine
        properties:
          image: ubuntu
          flavor: small
          remoteAccess:
            authentication: usernamePassword
            username: adminUser
            password: adminPassword
          networks:
            - network: ${resource["Cloud-Network"].id}
      Cloud_SaltStack_1:
        type: Cloud.SaltStack
        properties:
          masterId: saltstack_enterprise_installer
          hosts:
            - ${resource["Cloud_VM_1"].id}
          saltEnvironment: sse
          stateFiles:
            - /doe.sls
          variables: 
            user: joe
          additionalMinionParams:
            grains:
              roles:
                - webserver
                - database
  8. Протестируйте облачный шаблон и разверните его.
    Если развертывание служебного сервера выполнено неудачно, см. раздел Устранение неполадок в развертываниях служебных серверов.
  9. Проверьте свойства конфигурации Salt для развернутого компьютера.
    1. а. Выберите Развертывания > Развертывания и откройте сведения о развертывании.
    2. б. На вкладке Топология щелкните компьютер и разверните свойства Конфигурация Salt на правой панели.

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

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

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

Процедура

  1. Чтобы открыть Automation Config, щелкните меню приложений в правом верхнем углу и выберите пункт Консоль облачных служб.
  2. Запустите службу VMware Aria Automation.
  3. Щелкните плитку службы Config.
  4. В Automation Config разверните Ключи служебного сервера и нажмите Принято.
  5. В столбце ИД служебного сервера щелкните значок фильтра и введите имя служебного сервера.
    По умолчанию имя служебного сервера — имя узла виртуальной машины. В этом примере ИД служебного сервера — salt-vm-010.
    Снимок экрана с принятыми ключами служебного сервера в Automation Config.
  6. Для просмотра сведений щелкните имя служебного сервера.
    На служебном сервере можно выполнять задания и команды. Например, получение статистики использования дисков. Это задание возвращает статистику использования дисков для служебного сервера.
    Снимок экрана со страницей сведений для примера ИД служебного сервера

Просмотр данных grain в Salt

По окончании развертывания служебного сервера Salt на виртуальных машинах параметры grain служебного сервера можно просмотреть в Automation Assembler.

Собираемые параметры grain в Salt относятся к таким свойствам системы, как операционная система служебного сервера, имя домена, IP-адрес, ядро, тип ОС, память и многие другие. Если у вас нет доступа к Automation Config или вам требуется быстро просмотреть данные grain, не выходя из пользовательского интерфейса Automation Assembler, то для просмотра данных grain можно использовать вкладку Топология. Дополнительные сведения о данных grain см. в разделе Параметры Salt grains.

Чтобы просмотреть параметры grains служебного сервера, выполните следующие действия.

  1. В Automation Assembler выберите Ресурсы > Развертывания и найдите нужное развертывание.
  2. На вкладке Топология выберите виртуальную машину, подключенную к SaltStack resource.
  3. Найдите раздел Конфигурация Salt на правой панели и прокрутите вниз, чтобы просмотреть список данных grain.Снимок экрана с данными grain в Automation Assembler

Данные grain служебного сервера извлекаются после развертывания служебного сервера. Чтобы увидеть время последнего обновления данных grain, можно прокрутить вниз раздел Конфигурация Salt.

Примечание: Для просмотра данных Salt Grain также можно щелкнуть Ресурсы > Виртуальные компьютеры и выбрать нужную ВМ. Это позволит просмотреть конфигурации и атрибуты ВМ.
Снимок экрана с последними обновленными данными grain в Automation Assembler