SaltStack - Использование MinionFS в качестве файлового сервера
В MinionFS- это специальный файловый сервер, предоставляемый Salt для миньонов, чтобы обмениваться файлами между ними. Файлы, обслуживаемые MinionFS, являются файлами, преднамеренно предоставленными миньонами. Чтобы поделиться файлами, Миньон должен выполнить шаги, указанные ниже.
Миньон-источник должен отправить файл мастеру соли, используя cp.push функция.
После того, как файлы будут отправлены исходным миньоном, к развернутым файлам может получить доступ любой другой миньон, использующий файловый сервер MinionFS.
Включить отправку
По умолчанию отправка файлов миньонами мастеру отключена. Чтобы принимать файлы от миньонов, у мастера должна быть опция «file_recv» в файле конфигурации, и ее значение должно быть установлено наTrue. По умолчанию значение «file_recv» равноfalse.
file_recv: True
Как только опция будет включена, перезапустите главную службу.
Отправка файлов
Миньоны могут отправлять файлы мастеру. Выполняетсяcp.pushфункция. Эта функция cp.push предоставляет простой механизм для отправки файлов миньоном с использованием идентификатора миньона.
salt 'minion-id' cp.push /path/to/the/file
Здесь идентификатор миньона используется для определения того, какой миньон отправляет файл. Эта команда сохранит файл в подкаталоге с именемminions под master's cachedir. Обычно путь - / var / cache / salt / master / minions.
Для миньона, m1 и файл - /var/log/mylog.txt, файл будет сохранен в - /var/cache/salt/master/minions/m1/var/log/mylog.txt.
Включить MinionFS
Чтобы включить MinionFS, просто добавьте minion в настройках серверной части файлового сервера, как показано в следующем блоке кода.
fileserver_backend:
- roots
- minion
После включения MinionFS загруженные файлы миньонов будут доступны как -
salt://<minion-id>/path/to/pushed/file
Для миньона, m1 и отправляемый файл - /var/log/mylog.txt, отправляемый файл будет обслуживаться из salt: //m1/var/log/mylog.txt.
Эта minionFS может быть смонтирована в специальном каталоге, используя следующую конфигурацию. Он отделит файлы minionFS от других файлов и поможет в организации файлов minion.
minionfs_mountpoint: salt://minionfs
Для указанной выше конфигурации файл будет доступен под minionfs каталог как - salt: //minionfs/m1/var/log/mylog.txt
Дополнительные параметры MinionFS
MinionFS также предоставляет возможность включить / отключить доступность отправленных файлов от определенного миньона. Вариантыminionfs_whitelist, чтобы включить миньонов и minionfs_blacklist, чтобы отключить миньонов.
minionfs_whitelist:
- webserver
- develop*
- ‘mail\d+.mysite.com'
minionfs_blacklist:
- testing
В приведенной выше конфигурации все миньоны, кроме testing разрешено делиться файлом с помощью minionFS.
Webserver1
Миньоны, чьи идентификаторы соответствуют регулярному выражению, разрабатываются *
Миньоны, чьи идентификаторы соответствуют регулярному выражению mail\d+.mysite.com.
Testing
В следующей главе мы узнаем, как использовать Cron с Salt.