После успешной установки необходимых пакетов SaltStack приступаем к настройке.
Установка описана здесь.
Конфигурация Salt
Конфигурация Salt очень проста. Дефолтная конфигурация Мастера будет работать в большинстве установок и единственное требование для настройки Миньона установить местоположение Мастера в конфигурационном файле.
Конфигурационные файлы будут установлены в /etc/salt и названы в честь соответствующих компонент, /etc/salt/master и /etc/salt/minion.
Конфигурация Мастера
По умолчанию Мастер слушает порты 4505 и 4506 на всех интерфейсах (0.0.0.0). Для связки Salt с конкретным IP переопределите параметр “interface” в /etc/salt/master
- #interface: 0.0.0.0
+ interface: 10.0.0.1
После правки перезапустите сервис salt-master. Подробнее смотрите справочник по настройке Мастера.
Конфигурация Миньона
Хотя и существует много параметров конфигурации, настройка Salt Minion очень проста. По умолчанию пробует подключиться по DNS имени “salt”.
Если Миньон может корректно разрешить имя, то никакой настройки не требуется. Если Миньон не может корректно разрешить имя, то переопределите параметр “master” в конфигурационном файле /etc/salt/minion:
- #master: salt
+ master: 10.0.0.1
После правки перезапустите сервис salt-minion.
Запуск Salt
Мастер может быть запущен в фоновом режиме через командную строку как демон:
# salt-master -d
Мастер может быть также запущен в debug режиме, таким образом значительно увеличивая вывод команд:
# salt-master -l debug
# salt-master --log-level=debug
Запуск от непривилегированого пользователя
Для запуска Salt от другого пользователя, установите параметр user в /etc/salt/master.
Дополнительно, необходимо установить владельца и права так, чтобы нужный пользователь имел права на чтение/запись на след. каталоги (и их подкаталоги, где применимо):
/etc/salt
/var/cache/salt
/var/log/salt
/var/run/salt
# chown -R user /etc/salt /var/cache/salt /var/log/salt /var/run/salt
Проверка подлинности ключа
Salt обеспечивает команды для проверки подлинности Вашего Salt Master и Salt-Minion перед началом обмена ключами. Проверка ключа помогает избежать непреднамеренного подключения к неверному Salt Master и помогает предотвратить потенциальные MiTM атаки при установлении начального соединения.
Отпечаток ключа Мастера
Напечатайте отпечаток ключа Мастера запустив следующую команду на Salt Master:
# salt-key -F master
Local Keys:
master.pem: 6c:a0:e8:b0:84:36:59:86:b6:49:c3:fb:87:a4:c4:e9
master.pub: d9:c6:e0:42:76:e5:82:f7:13:6a:65:ee:cb:f3:2e:aa
Скопируйте master.pub отпечаток из секции Local Keys и установите в качестве параметра master_finger в конфигурационном файле Миньона. Сохраните и перезапустите сервис salt-minion.
Отпечаток ключа Миньона
Запустите следующую команду на каждом Salt minion, чтобы вывести отпечаток ключа миньона:
# salt-call --local key.finger
Сравните это значение с значением, которое выводится когда запускаешь команду на Salt Master
# salt-key --finger <MINION_ID>
Управление ключами
Salt использует AES шифрование для всех коммуникаций между Мастером и Миньоном. Это гарантирует что команды отправляемые Миньонам могут быть подделаны и что связь между Мастером и Миньоном подтверждается доверенными принятыми ключами.
Прежде чем команды могут быть отправлены Миньону, его ключ должен быть принят на Мастере. Запустите salt-key команду, чтобы вывести список ключей известных Мастеру:
# salt-key -L
Accepted Keys:
salt01.local
Denied Keys:
Unaccepted Keys:
Rejected Keys:
Команда salt-key позволяет принимать ключи как поштучно, так и разом.
Чтобы принять все ключи, которые находяться в ожидании:
# salt-key -A
Чтобы принять конкретный ключ:
# salt-key -a minion01.local
Отправка команд
Связь между Мастером и Миньоном можно проверить запустив команду test.ping:
# salt alpha test.ping
alpha:
True
Связь между Мастером и всеми Миньонами можно проверить запустив команду
# salt '*' test.ping
alpha:
True
bravo:
True
charlie:
True
delta:
True
Каждый Миньон должен послать ответ True, как показано выше.
→ Источник
Автор: zerghack007