Saltstack配置使用git远程仓库作为pillar数据后端文件系统的方法

请先参照配置git仓库作为state后端文件系统的方法的文章安装好相关的工具依赖包。

以下配置内容均是针对/etc/salt/master配置文件进行的变更。

设置需要使用的远程git仓库信息

ext_pillar:
  - git:
    - master ssh://[email protected]/saltstack/srv.git:
      - env: base
      - root: pillar
      - pubkey: /root/.ssh/id_rsa.pub
      - privkey: /root/.ssh/id_rsa
  • env参数,用于指定分支到运行环境之间的映射关系,在这里我们是使用的master分支,并将其映射为 base 运行环境
  • root参数,用于指定相对路径,因为我们配置使用的git仓库根目录下的pillar子目录才是存储pillar数据的目标路径
  • 确保已经在git server侧对以上公钥文件做了访问授权

允许使用pillar.ext获取外部pillar数据

on_demand_ext_pillar:
  - git

设置访问git需要使用的插件

git_pillar_provider: pygit2

设置git仓库中存储pillar数据的相对路径

git_pillar_root: pillar/

我配置使用的git仓库根目录下的pillar子目录才是存储pillar数据的目标路径,所以需指定这一参数。

重启服务并测试

在开始测试前,请先行在存储在git仓库pillar目录中准备一些可测试的pillar变量数据

systemctl status salt-master
salt-call saltutil.refresh_pillar
salt-call pillar.items
systemctl status salt-master -ll

如果上面的配置结果没有提示报错信息,那在执行以下命令时应该看到你预先定义好的pillar数据,而这份pillar数据应该是从远程git仓库获取的。

[root@test-server salt]# salt-call pillar.items
local:
    ----------
    test_pillar:
        12345

在git_pillar模块的源代码文件中有更详细的配置说明,但也不是照搬就可以使用,需自行反复验证、调试,以下链接供大家参考。https://github.com/saltstack/salt/blob/develop/salt/pillar/git_pillar.py

你可能感兴趣的:(SaltStack)