linux 如何将/srv/salt下的每个文件从Salt Master同步到Salt Syndic

nszi6y05  于 5个月前  发布在  Linux
关注(0)|答案(1)|浏览(58)

遇到一个情况,我需要保持文件从我的盐主同步到我的Syndic。我在网上搜索,但找不到任何真正的解决方案,除了通常的,“使用共享文件系统,rsync他们,等等)。
对于其他人来说,这些解决方案可能是一种选择,但对于我的环境来说,这是行不通的,需要在Salt中找到一个解决方案来做到这一点。
在搜索和测试之后,我修改了我能找到的最接近的解决方案,并提出了以下内容,使Syndic上的/srv/salt与Master上的内容保持同步:

{% for file in salt['cp.list_master']() %}
/srv/salt/{{ file }}:
  file.managed:
    - name: /srv/salt/{{ file }}
    - source: salt://{{ file }}
    - user: salt
    - group: salt
    - mode: 640
    - makedirs: True
{% endfor %}

字符串
希望这对其他人有帮助!

h6my8fg2

h6my8fg21#

如果您可以设置凭据,rsync状态可能会有更好的性能:

/srv/salt:
  rsync.synchronized:
    - source: salt:/srv/salt
    - delete: true
    - force: true

字符串
您还可以考虑使用一个更容易共享的不同文件服务器后端。
不幸的是,这不起作用,看起来像是source解析器中的一个bug。

/srv/salt:
  file.recurse:
    - source: salt://
    - clean: true
    - keep_symlinks: true

相关问题