Цель этого примера — установить программным способом службу Salt Minion на служебном сервере путем подключения виртуальной машины Windows к среде Automation Config.
Необходимые условия
Прежде чем развернуть служебный сервер с помощью API-интерфейса в среде Windows, убедитесь в следующем.
- Имеется среда Automation Config с развернутой службой RaaS.
- Установлены главный и служебный серверы Salt.
- Развернута виртуальная машина Windows.
Процедура
- Убедитесь, что в папке etc/salt/cloud.deploy.d на главном сервере Salt содержатся эти файлы.
Если файлы отсутствуют, обратитесь в службу поддержки.
Примечание: Значение xxx в имени файла, например
salt-xxxx-windows--x86.tar.gz
, должно совпадать с номером версии главного сервера Salt. Для проверки версии главного сервера Salt выполните команду
salt-master -V на главном сервере Salt.
- Если среда физически изолирована, выполните следующие действия.
- а. Откройте файл конфигурации RaaS в
/etc/raas/raas
.
- б. Добавьте следующие строки в файл конфигурации.
minion_deployment:
airgap_install: true
- в. Перезапустите службу RaaS с помощью команды
service raas restart
.
Примечание: Если используется защищенная виртуальная машина Linux, в некоторых ситуациях сценарии нельзя запустить из папки
/tmp
на виртуальной машине.
- На терминале главного сервера Salt установите следующие библиотеки с помощью команд
pip3 install pypsexec smbprotocol
и pip3 install impacket --ignore-installed
.
Примечание: Этот шаг не требуется выполнять в случае использования LCM для установки устройства
Automation Config, которое содержит главный сервер Salt. Однако этот шаг необходим при установке главного сервера Salt вручную.
- Для определения полного доменного имени (FQDN) главного сервера Salt выполните команду
salt saltmaster grains.get fqdn
на терминале главного сервера Salt.
- На компьютере с ОС Windows убедитесь, что файл C:\Windows\System32\drivers\etc\hosts настроен с IP-адресом или полным доменным именем главного сервера Salt.
- Откройте PowerShell на компьютере Windows и выполните следующую команду, чтобы открыть нужные порты:
Порт |
Команды |
445 |
New-NetFirewallRule -Name "SMB445" - DisplayName "SMB445" -Protocol TCP - LocalPort 445 Enable-Psremoting |
- На терминале главного сервера Salt используйте эту команду, чтобы открыть порты 4505 и 4506:
Порт |
Команды |
4505–4506 |
netsh advfirewall firewall add rule name="Salt" dir=in action=allow protocol=TCP localport=4505-4506 |
Дополнительные сведения о модели подключения Salt см. в разделе Общие сведения о Automation Config.
- Выполните команду ping [FQDN] на своем компьютере с ОС Windows и убедитесь, что полное доменное имя для главного сервера Salt настроено.
- Сделайте этот вызов API-интерфейса с помощью клиента SSEAPI с корректными учетными данными для своей среды.
Примечание: Если
Automation Config интегрирована с
VMware Aria Automation, служба
VMware Aria Automation делает этот вызов API-интерфейса, когда вы развертываете служебные серверы с помощью облачного шаблона.
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 или последовательно введя команды
python3 и
client.api.minions.get_minion_deployments().
Результаты
Служебный сервер успешно развернут и настроен с использованием среды Windows и вызова API-интерфейса.
Дальнейшие действия
Для проверки развертывания служебного сервера выполните команду
test.ping на служебном сервере в окне
Выполнить команду или выполните команды
\* test.ping и
\* test.versions в окне команд главного сервера Salt.