SaltStack - 使用MinionFS作为文件服务器

MinionFS 是Salt提供的一种特殊文件服务器,用于爪牙之间交换文件。 MinionFS提供的文件是minions故意共享的文件。要分享这些文件,Minion必须遵循以下步骤。

  • 来源minion必须将文件推送到盐master使用 cp.push 函数。

  • 一旦源minion推送文件,就可以通过以下方式访问已部署的文件使用MinionFS文件服务器的任何其他minion。

启用推送

默认情况下,推送由minions到master的文件被禁用。要接受来自minions的文件,master需要在配置文件中包含"file_recv"选项,并且其值必须设置为 True 。默认情况下,"file_recv"的值为 false

 
file_recv:True

启用该选项后,重新启动主服务。

推送文件

小人物可以推动文件到主人。它由 cp.push 函数执行。这个cp.push函数提供了一个简单的机制来使用minion id来推文件。

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

这里,minion-id用于标识哪个minion正在推送文件。此命令将文件存储在 master的cachedir 下名为 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 / push / file

对于minion, 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还提供了一个选项,用于启用/禁用某个minion中推送文件的可用性。选项是 minionfs_whitelist ,以启用小兵和 minionfs_blacklist ,以禁用小兵。

 
minionfs_whitelist:
- webserver
- develop *
- 'mail \d + .mysite.com'
minionfs_blacklist:
- 测试

在上面的配置中,除了测试之外的所有小兵都可以使用minionFS共享文件。

  • Webserver1

  • 其ids与正则表达式 develop 匹配的小喽败*

  • 其ids与正则表达式 mail \d + .mysite.com 匹配的小仆。

  • 测试

在下一章中,我们将学习如何将Cron与Salt一起使用。