Установка
1 2 3 4 5 |
yum install salt-master - ставим на сервер yum install salt-minion - ставим на клиент salt-master - система управления конфигурации (ставят на сервер) salt-minion - демон ожидающий команд мастера (ставят на клиенты) |
Управление доступам
1 2 3 4 5 |
На клиенте в конфиг файле нужно указать master:ip и он сам сходит на сервер На сервере: salt-key -L - показать ключи sakt-key -y -a 192.168.1.50 - принять ключ от хоста с ip 192.168.1.50 |
Пример настройки конфигурации групп для salt
1 2 3 4 5 6 7 8 9 10 11 12 |
# /etc/salt/master.d/file_roots.conf file_roots: base: - /etc/salt/base # /etc/salt/master.d/groups.conf nodegroups: test1: "l@192.168.1.126,192.168.1.127" # список миньонов test2: "G@os:CentOS" # объединяем в группу хосты на которых ос CentOS service salt-master restart |
Используем salt:
1 2 3 |
salt '*' cmd.run uptime - выполнить на всех миньонах ('*') команду uptime salt -N test cmd.run uptime - выполним команду uptime для хостов из группы test salt -N test test.ping - выполним команду test.ping для хостов из группы test |
Пример установки демона ntp с помощью salt
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
mkdir /etc/salt/base # /etc/salt/base/ntp.conf driftfile /var/lib/ntp/drift logfile /var/log/ntpstats/ntp.log resterict default kod nomodify notrap nopeer noquery restrict -6 default kod modify notrap nopeer noquery restrict 127.0.0.1 restrict -6 ::1 server 0.centos.pool.ntp.org iburst server 1.centos.pool.ntp.org iburst server 2.centos.pool.ntp.org iburst includefile /etc/ntp/crypto/pw keys /etc/ntp/keys # /etc/salt/base/ntpd.sls install ntpd: pkg.installed: - name: ntp service.running: - name: ntpd - enable: True /etc/ntp.conf: file.managed: - source: salt://ntp.conf - user: root - group: root - mode: 644 - template: jinja service ntpd stop: cmd.run ntpdate -b 0.centos.pool.mtp.org: cmd.run service ntpd start: cmd.run salt -N test state.apply ntpd test=True - выполняем проверочный запуск установки ntpd из шаблона в тестовом режиме (просто продемонстрирует что он сделает, но делать этого не будет) salt -N test state.apply ntpd - выполняем установку из шаблона ntpd |
grains \ зерна
1 |
salt -N test grains.item - показать доступные grains (зерна) |