SALTStack · 2 min read · Jan 04, 2026
Установка и использование SALTStack в смешанной среде - Страница 4
ДЕРЕВО СОСТОЯНИЙ SALT
В случае, если вы следовали этому руководству, у вас есть небольшое представление о том, как легко одновременно управлять простыми задачами на нескольких серверах.
Давайте сделаем еще один шаг вперед. Речь идет о том, чтобы управлять сложными задачами в сложной среде одной командой.
Более подробная информация об этом по ссылке -> http://docs.saltstack.com/ref/states/highstate.html
Для того чтобы иметь эту функцию, вам нужно немного настроить ваш salt в папке /etc/salt
На вашем SALT MASTER у вас должен быть файл с названием: master
Чтобы избавиться от закомментированных строк, он выглядит так:
root@salt-master:/etc/salt# grep -E -v '^#|^ *$' /etc/salt/masterОтредактируйте его, пока результат не должен быть:
state_top: top.sls
file_roots:
base:
- /srv/salt
log_file: /var/log/salt/master
key_logfile: /var/log/salt/key
log_level: debug
На следующем шаге мы создаем три файла состояния:
/srv/salt/top.sls -> Это необходимо
/srv/salt/motd.sls -> Это необязательно
/srv/salt/line6svn.sls -> Это необязательно
Файл top.sls является точкой входа, определенной в /etc/salt/master
Он дает имя SaltStateFiles без “.sls”
Файлы состояния содержат команды и директивы конфигурации.
Вы также можете использовать фильтр в именах серверов или другие фильтры зерен везде, где есть дерево состояний.
cat /srv/salt/top.slsbase:
'*':
- motd
- line6svn
Он проверяет репозиторий Subversion:
root@salt-master:/srv/salt# cat /srv/salt/line6svn.slshttps://svn.code.sf.net/p/line6linux/code/driver/trunk/:
svn.latest:
- target: /opt/Line6.SVN
Вы можете управлять текстовым файлом:
root@salt-master:/srv/salt# cat /srv/salt/motd.slsmotd_perms:
file.managed:
- name: /etc/motd
- mode: 644
motd_quote:
file.append:
- name: /etc/motd
- text: "Из всех запахов, хлеб; из всех вкусов, соль."
Мы можем активировать дерево состояний следующей командой:
root@salt-master:/srv/salt# salt '*' state.highstatesalt-minion2.test.local:
----------
State: - file
Name: /etc/motd
Function: managed
Result: True
Comment: Файл /etc/motd в правильном состоянии
Changes:
----------
State: - file
Name: /etc/motd
Function: append
Result: True
Comment: Добавлено 0 строк
Changes:
----------
State: - svn
Name: https://svn.code.sf.net/p/line6linux/code/driver/trunk/
Function: latest
Result: True
Comment: На ревизии 1072.
Changes:
Summary
------------
Succeeded: 3
Failed: 0
------------
Total: 3
salt-centos:
----------
State: - file
Name: /etc/motd
Function: append
Result: True
Comment: Добавлено 0 строк
Changes:
----------
State: - file
Name: /etc/motd
Function: managed
Result: True
Comment: Файл /etc/motd в правильном состоянии
Changes:
----------
State: - svn
Name: https://svn.code.sf.net/p/line6linux/code/driver/trunk/
Function: latest
Result: True
Comment: На ревизии 1072.
Changes:
Summary
------------
Succeeded: 3
Failed: 0
------------
Total: 3
Вы можете сделать запрос StateTree к серверу SaltMaster от Minion, вот так:
[root@salt-centos ~]# salt-call state.highstate -l debugВыключение всех миньонов:
root@salt-master:~# salt '*' cmd.run "poweroff"salt-centos:
salt-minion2.test.local:
salt-minion1.test.local:
Удачи!
Get new posts in your inbox
No spam. Unsubscribe anytime.