MINIONFS BACKEND WALKTHROUGH
啟用文件傳輸,有時候我們需要將minion端生成的一些文件收集到master端
配置
master端的相關配置:
(1)配置接收minion端文件,基於安全原因默認是關閉的
file_recv: True
(2)cachedir配置文件保存在master端的路徑
默認存放在/master/minions/minion-id/files路徑下
指令:salt 'minion-id' cp.push /path/to/the/file
MINIONFS BACKEND
MINIONFS master端配置
fileserver_backend:
- roots
- minion
file_recv: True
fileserver_backend在文件服務器那一部分講過,roots是設置本地的文件服務器的目錄環境,
同樣的fileserver_backend可以將從minion端拉取過來的文件通過文件服務器發布出去,pull
到其他minion上。
以下有兩個常用的方法:
(1)查看master端有哪些可以推送的文件
salt '*' cp.list_master_dirs
(2)將某一minion下的文件或目錄pull到其他minion上
salt 'minion2' cp.get_file salt://minion1/opt/1.txt /opt/1.txt
使用minionFS進行公鑰分發實例:
被連接方:minion-destination,存放公鑰,存放在/root/.ssh/authorized_keys
連接方:minion-source,存放私鑰,存放在/root/.ssh/id_rsa
(1)在目標主機上創建密鑰存放目錄
salt 'XX' file.mkdir dir_path=/root/.ssh user=root group=root mode=700
(2)在minion-source主機上生成密鑰對
salt 'minion-source' cmd.run 'ssh-keygen -N "" -f /root/.ssh/id_rsa'
(3)將minion-source上的公鑰push到master端
salt 'minion-source' cp.push /root/.ssh/id_rsa.pub
(4)分發minion-source主機上的公鑰到minion-destination主機上的指定目錄
salt 'minion-destination' cp.get_file salt://minion-source/root/.ssh/id_rsa.pub /root/.ssh/authorized_keys
參考鏈接:
http://m.blog.chinaunix.net/uid-21142030-id-5710194.html
http://docs.saltstack.cn/topics/tutorials/minionfs.html