Установка Master'а
CentOS 7
yum install https://repo.saltstack.com/yum/redhat/salt-repo-latest.el7.noarch.rpm yum install salt-master salt-minion salt-ssh salt-syndic salt-cloud salt-api
Добавим в автозапуск и запустим:
systemctl enable salt-master systemctl start salt-master
Для установки могут потребоваться зависимости, которые есть в EPEL репозитории
yum install epel-release
Ubuntu — 18.04
wget -O - https://repo.saltstack.com/apt/ubuntu/18.04/amd64/latest/SALTSTACK-GPG-KEY.pub | sudo apt-key add - echo -e "deb http://repo.saltstack.com/apt/ubuntu/18.04/amd64/latest bionic main" > /etc/apt/sources.list.d/saltstack.list apt update apt install salt-master salt-minion salt-ssh salt-syndic salt-cloud salt-api
Добавим в автозапуск и запустим:
systemctl enable salt-master systemctl start salt-master
В Salt'е миньоны подключаются к мастеру, поэтому достаточно открыть порты TCP 4505,4506 на мастере, для работы Saltstack'а.
Установка Minion’а
CentOS:
yum install salt-minion salt-ssh
Ubuntu:
apt install salt-minion salt-ssh
Добавим в автозапуск и запустим:
systemctl enable salt-minion systemctl start salt-minion
Подключение:
По умолчанию миньоны ищут мастера в сети с именем "salt".
Для изменения, нужно либо в файле "/etc/salt/minion" найти строку:
#master: salt
Раскоментировать и изменить имя, или указать IP адрес, затем перезапустить миньона, или прописать в "/etc/hosts" запись "salt" с IP адресом мастера.
На мастере посмотрим запросы на добавление:
salt-key -L Accepted Keys: Denied Keys: Unaccepted Keys: ip-172-31-22-119.ec2.internal Rejected Keys:
И видим:
Unaccepted Keys: ip-172-31-22-119.ec2.internal
Что один ключ ожидает одобрения. Для принятия сразу всех ключей выполните:
salt-key -A
Это если вы уверены, что это точно ваши миньоны. Если нет, сверьте отпечатки ключей.
Примеры простых команд.
salt '*' test.ping
Проверяем "живучесть" всех миньонов, они в ответ они должны просто прислать ответ "True"
ip-172-31-22-119.ec2.internal: True
Выполняем удаленную команду на всех миньонах, в данном случае, это листинг директории "/home"
salt '*' cmd.run 'ls -l /home/'
Устанавливаем на всех миньонах пакет "vim"
salt '*' pkg.install vim