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

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

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

Процедура

  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.
  3. Для определения полного доменного имени (FQDN) главного сервера Salt выполните команду salt saltmaster grains.get fqdn на терминале главного сервера Salt.
  4. С помощью команды ping [FQDN] убедитесь, что полное доменное имя для главного сервера Salt настроено.
  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>',
    
    )

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

Результаты

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

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

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