Учебники

SaltStack — Использование MinionFS в качестве файлового сервера

MinionFS — это специальный файловый сервер, предоставляемый Salt для обмена файлами между ними. Файлы, обслуживаемые MinionFS, — это файлы, специально предназначенные для совместного использования миньонами. Чтобы поделиться файлами, Миньон должен выполнить шаги, указанные ниже.

  • Исходный миньон должен передать файл мастеру соли с помощью функции cp.push .

  • После того как файлы отправлены исходным миньоном, к развернутым файлам может получить доступ любой другой миньон с помощью файлового сервера MinionFS.

Исходный миньон должен передать файл мастеру соли с помощью функции cp.push .

После того как файлы отправлены исходным миньоном, к развернутым файлам может получить доступ любой другой миньон с помощью файлового сервера MinionFS.

Включить Pushing

По умолчанию отправка файлов миньонами на мастер отключена. Чтобы принимать файлы от миньонов, мастер должен иметь опцию «file_recv» в файле конфигурации, и его значение должно быть установлено в True . По умолчанию значение «file_recv» равно false .

file_recv: True

Как только опция включена, перезапустите главную службу.

Pushing Files

Миньоны могут передавать файлы мастеру. Это выполняется функцией cp.push . Эта функция cp.push предоставляет простой механизм для отправки файлов по minion с помощью идентификатора minion.

salt 'minion-id' cp.push /path/to/the/file

Здесь идентификатор миньона используется для определения, какой миньон толкает файл. Эта команда сохранит файл в подкаталоге с именем minions под кэшированным именем мастера . Обычно это путь — / var / cache / salt / master / minions.

Для minion, m1 и файла — /var/log/mylog.txt файл будет сохранен в — /var/cache/salt/master/minions/m1/var/log/mylog.txt.

Включить MinionFS

Чтобы включить MinionFS, просто добавьте minion в настройку бэкэнда файлового сервера, как показано в следующем блоке кода.

fileserver_backend:
   - roots
   - minion

Как только MinionFS включен, отправленные файлы minion доступны как —

salt://<minion-id>/path/to/pushed/file

Для minion, m1 и отправляемого файла — /var/log/mylog.txt, отправленный файл будет обслуживаться из соли: //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

В приведенной выше конфигурации всем миньонам, кроме тестирования , разрешено предоставлять общий доступ к файлу с помощью minionFS.

  • WEBSERVER1

  • Миньоны, чьи идентификаторы соответствуют регулярному выражению, развиваются *

  • Миньоны, чьи идентификаторы соответствуют регулярному выражению mail \ d + .mysite.com .

  • тестирование

WEBSERVER1

Миньоны, чьи идентификаторы соответствуют регулярному выражению, развиваются *

Миньоны, чьи идентификаторы соответствуют регулярному выражению mail \ d + .mysite.com .

тестирование

В следующей главе мы узнаем, как использовать Cron с Salt.