Цель этого примера — установить программным способом службу Salt Minion на служебном сервере путем подключения виртуальной машины Linux к среде Automation Config.

Необходимые условия

Прежде чем развернуть служебный сервер с помощью API-интерфейса в среде Linux, убедитесь в следующем.
  • Имеется среда Automation Config с развернутой службой RaaS.
  • Установлены главный и служебный серверы Salt.
  • Развернута виртуальная машина Linux.
  • Убедитесь, что порт 22 не закрыт брандмауэром и доступен для использования служебных серверов.

Процедура

  1. Убедитесь, что в папке etc/salt/cloud.deploy.d содержится коллекция этих файлов. Данные файлы должны соответствовать выпуску дистрибутива ОС, а также выпуску Salt, требуемому для вашей системы.
    Список требуемых файлов в каталоге cloud.deploy.d на главном сервере Salt

    Если файлы отсутствуют, обратитесь в службу поддержки.

    Примечание: Значение xxx в имени файла, например salt-xxxx-redhat-8-x86_64-amd64.tar.gz, должно совпадать с номером версии главного сервера Salt. Для проверки версии главного сервера Salt выполните команду salt-master -V на главном сервере Salt.
  2. Если среда физически изолирована, выполните следующие действия.
    1. а. Откройте файл конфигурации RaaS в /etc/raas/raas.
    2. б. Добавьте следующие строки в файл конфигурации.
      minion_deployment:
        airgap_install: true
    3. в. Перезапустите службу RaaS с помощью команды service raas restart.
    Примечание: Если используется защищенная виртуальная машина Linux, в некоторых ситуациях сценарии нельзя запустить из папки /tmp на виртуальной машине.
    • При использовании Automation Assembler 8.10.2 или более поздней версии добавьте свойство additionalAuthParams для ресурса Automation Config в облачном шаблоне. Дополнительные сведения см. в разделе Добавление ресурса Automation Config в облачный шаблон.
      additionalAuthParams:
        profile:
          tmp_dir: /var/cache/salt
    • При использовании Automation Assembler 8.10.1 или более ранней версии измените файл /etc/salt/cloud.providers.d/ssc_saltify_provider.conf с помощью
      ssc_saltify_provider:
        driver: saltify
        tmp_dir: /var/cache/salt
      Если этот файл конфигурации не существует, создайте его и добавьте указанный выше параметр.
  3. Для определения полного доменного имени (FQDN) главного сервера Salt выполните команду salt saltmaster grains.get fqdn на терминале главного сервера Salt.
  4. С помощью команды ping [FQDN] убедитесь, что полное доменное имя для главного сервера Salt настроено.
    Результаты выполнения команды ping FQDN на компьютере Linux
  5. Чтобы открыть Python, выполните python3.
  6. Сделайте этот вызов API-интерфейса с помощью клиента SSEAPI с корректными учетными данными для своей среды.
    from sseapiclient import APIClient
    
    client = APIClient('https://<master-ip>', '<ssc-username>', '<sscpassword>', ssl_validate_cert=False)
    
    
    client.api.minions.deploy_minion(
    
     master_id = '<master-id>',
    
     host_name_ip = '<prospective minion’s ip>',
    
     os = ‘<prospective minion’s os>’,
    
     minion_id = '<desired-minion-name-for-prospective-minion>',
    
     username = '<ssh-username-for-prospective-minion>', 
    
     password = '<ssh-password-for-prospective-minion>',
    
    )

    В среде Automation Config начинает выполняться функция deploy.minion. Убедиться в том, что задание выполняется, можно на вкладке Действия пользовательского интерфейса Automation Config.

    Примечание: При развертывании служебного сервера из Automation Assembler этот вызов API-интерфейса выполняется с помощью Automation Assembler.

Результаты

Служебный сервер успешно развернут и настроен с помощью среды Linux и вызова API-интерфейса.

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

Для проверки развертывания служебного сервера выполните команду test.ping на служебном сервере в окне Выполнить команду или выполните команды \* test.ping и \* test.versions в окне команд главного сервера Salt.