我知道我可以使用cp.get_dir将目录从master下载到minions,但是当目录包含很多文件时,它的速度非常慢。如果我可以打开目录,然后下载到minion,它会快得多。但是我无法找到如何在将目录下载到minions之前将目录归档到master。有什么想法吗?
答案 0 :(得分:1)
我们所做的是手动tar文件,然后像你说的那样在minion上提取它们。然后,我们要么替换或修改任何应该与tar文件中的文件不同的文件。例如,对于驻留在.tar文件中的配置文件,这是一种很好的方法。
要归档文件,我们只需在salt master上进行ssh,然后使用类似tar -cvzf files.tar.gz <yourfiles>
的内容。
您也可以考虑从一开始就在机器上安装文件,之后使用rsync(例如通过salt.states.rsync)。这只会推翻文件中的更改,而不是所有文件。
答案 1 :(得分:0)
根据Kai的建议,你可以在盐主箱上运行一个小兵,并在将它发送到所有小兵之前将其置于文件中。
答案 2 :(得分:0)
您可以使用archive.extracted状态。 source
参数使用与其在file.managed状态下对应的语法相同的语法。示例:
/path/on/the/minion:
archive.extracted:
- source: salt://path/on/the/master/archive.tar.gz