Цель этого примера — установить программным способом службу Salt Minion на служебном сервере путем подключения виртуальной машины Linux к среде Automation Config.
Необходимые условия
Прежде чем развернуть служебный сервер с помощью API-интерфейса в среде Linux, убедитесь в следующем.
- Имеется среда Automation Config с развернутой службой RaaS.
- Установлены главный и служебный серверы Salt.
- Развернута виртуальная машина Linux.
- Убедитесь, что порт 22 не закрыт брандмауэром и доступен для использования служебных серверов.
Процедура
- Убедитесь, что в папке etc/salt/cloud.deploy.d содержится коллекция этих файлов. Данные файлы должны соответствовать выпуску дистрибутива ОС, а также выпуску Salt, требуемому для вашей системы.
Если файлы отсутствуют, обратитесь в службу поддержки.
Примечание: Значение xxx в имени файла, например salt-xxxx-redhat-8-x86_64-amd64.tar.gz, должно совпадать с номером версии главного сервера Salt. Для проверки версии главного сервера Salt выполните команду
salt-master -V на главном сервере Salt.
- Если среда физически изолирована, выполните следующие действия.
- а. Откройте файл конфигурации RaaS в
/etc/raas/raas
.
- б. Добавьте следующие строки в файл конфигурации.
minion_deployment:
airgap_install: true
- в. Перезапустите службу RaaS с помощью команды
service raas restart
.
Примечание: Если используется защищенная виртуальная машина Linux, в некоторых ситуациях сценарии нельзя запустить из папки
/tmp
на виртуальной машине.
- Для определения полного доменного имени (FQDN) главного сервера Salt выполните команду
salt saltmaster grains.get fqdn
на терминале главного сервера Salt.
- С помощью команды ping [FQDN] убедитесь, что полное доменное имя для главного сервера Salt настроено.
- Чтобы открыть Python, выполните
python3
.
- Сделайте этот вызов 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.