Настройка SaltStack
Настройка SaltStack состоит из следующих этапов:
Настройка конфигурации Мастера и Миньонов
Salt-Мастер настраивается через главный файл конфигурации.
По умолчанию файл конфигурации хранится в директории /etc/salt/master.
В данном файле необходимо выполнить настройку, которая обеспечит трансляцию
событий на узел Master of Masters (MoM): syndic_forward_all_events: True.
Salt-Миньон настраивается через файл конфигурации.
По умолчанию файл конфигурации хранится в директории /etc/salt/minion.
Подробную информацию см. в официальной документации.
Создание хранилища Pillar
В директорию /master/roots/pillar добавьте файлы:
-
top.sls— основной файл конфигурации:base: "*": - state-highstate-schedule - grains-common-schedule -
grains-common-schedule.sls— задает расписание запуска выполнения задач на Миньонахschedule: get-common-grains: enabled: true function: grains.item seconds: 120 splay: 10 metadata: get-common-grains: true args: - fqdn - fqdn_ip4 - lsb_distrib_description - cpu_model - disks - domain - hwaddr_interfaces - id - ip4_gw - ip4_interfaces - ip6_interfaces - kernel - kernelrelease - lsb_distrib_codename - master - mem_total - nodename - num_cpus - oscodename - osfullname - osmajorrelease - osrelease - pythonexecutable - saltversion - serialnumber - ssds - swap_totalГде:
-
schedule/get-common-grains/enabled:-
true— задача включена; -
false— задача выключена;
-
-
schedule/get-common-grains/function— задает функцию SaltStack, которая будет вызвана при выполнении задачи; -
schedule/get-common-grains/seconds— определяет, через какой интервал времени будет выполняться задача; -
schedule/get-common-grains/splay— указывает, на какой интервал времени может быть случайная задержка перед выполнением задачи; -
schedule/get-common-grains/metadata/get-common-grains— содержит метаданные задачи; -
args— дополнительные аргументы для функцииgrains.item. -
state-highstate-schedule.sls— задает расписание запуска высокоуровневых состояний (highstate) на Миньонах:
schedule: apply-state-highstate: enabled: true run_on_start: true function: state.highstate seconds: 180 splay: 30 metadata: apply-state-highstate: trueПример:
tree /srv/pillar/ /srv/pillar/ ├── grains-common-schedule.sls ├── state-highstate-schedule.sls └── top.sls -
Добавление формул
-
В файле
file_roots.conf, который определяет корневую директорию для файловых серверов Salt, укажите путь к файлам конфигурации:Пример:
file_roots: base: - /home/salt/data/srv/salt - /home/salt/data/formulas/ark-formula - /home/salt/data/formulas/ca-cert-formula - /home/salt/data/formulas/yandex-browser-formula - /home/salt/data/formulas/deb-repo-formula - /home/salt/data/formulas/google-chrome-formula - /home/salt/data/formulas/okular-formulaФайл конфигурации:
# /srv/salt/top.sls base: '*': - ark-formula - ca-cert-formula - yandex-browser-formula - deb-repo-formula - google-chrome-formula - okular-formula -
Выполните команду, чтобы распаковать архив в директорию
file_rootsбазового окружения (по умолчанию —/srv/salt).Пример:
tar -xvf ~/Downloads/salt-formulas-package-0.5.0.tar.gz \ --strip-components 3 \ -C /srv/salt \ ./formulas/ark-formula/ark \ ./formulas/ca-cert-formula/ca-cert \ ./formulas/okular-formula/okular \ ./formulas/yandex-browser-formula/yandex-browser \ ./formulas/deb-repo-formula/deb-repo \ ./formulas/google-chrome-formula/google-chromeДанная команда распаковывает архив
salt-formulas-package-0.5.0.tar.gz, который содержит формулы SaltStack, в директорию/srv/salt. Опция--strip-components 3указывает на то, что необходимо удалить первые три компонента пути внутри архива (например, если путь внутри архива выглядит как/formulas/ark-formula/ark, то после применения этой опции путь будет выглядеть как./ark). В результате в директории/srv/saltбудет создана поддиректория./formulas/ark-formula/ark, содержащая файлы формулыark-formula.