SaltStack-ファイルサーバーとしてMinionFSを使用

ザ・ MinionFSミニオンがミニオン間でファイルを交換するためにSaltが提供する特別なファイルサーバーです。MinionFSによって提供されるファイルは、ミニオンによって意図的に共有されるファイルです。ファイルを共有するには、ミニオンは以下の手順に従う必要があります。

  • ソースミニオンは、を使用してファイルをソルトマスターにプッシュする必要があります cp.push 関数。

  • ファイルがソースミニオンによってプッシュされると、展開されたファイルは、MinionFSファイルサーバーを使用して他のミニオンからアクセスできます。

プッシュを有効にする

デフォルトでは、ミニオンによるファイルのマスターへのプッシュは無効になっています。ミニオンからファイルを受け入れるには、マスターの構成ファイルに「file_recv」オプションがあり、その値を次のように設定する必要があります。True。デフォルトでは、「file_recv」の場合の値はfalse

file_recv: True

オプションを有効にしたら、マスターサービスを再起動します。

ファイルのプッシュ

ミニオンはファイルをマスターにプッシュできます。それはによって実行されますcp.push関数。このcp.push関数は、ミニオンIDを使用してミニオンごとにファイルをプッシュする簡単なメカニズムを提供します。

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

ここで、minion-idは、どのミニオンがファイルをプッシュしているかを識別するために使用されます。このコマンドは、ファイルをという名前のサブディレクトリに保存しますminionsmaster'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ファイルを他のファイルから分離し、ミニオンファイルの整理に役立ちます。

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

  • IDが正規表現と一致するミニオンが開発されます*

  • IDが正規表現と一致するミニオン mail\d+.mysite.com

  • Testing

次の章では、CronとSaltの使用方法を学習します。