示例salt_event.py
1 | import salt.utils.event |
1 | import salt.utils.event |
1 | sudo salt '*' cp.get_file salt://files/1.txt /srv/1.txt [template=jinja] [gzip=5] |
其中salt: 所指定的位置为 /srv/salt ,可以指定模板 和 压缩等级
return 是在 minion 端运行的一个回调
创建return目录
1 | mkdir /srv/salt/_returners |
创建一个local_return
/srv/salt/_returners/local_return.py
Pillar是Salt用来分发全局变量到所有minions的一个接口。Pillar data的管理类似于Salt State Tree。
创建 pillar 目录和 top.sls 文件
1 | mkdir /srv/pillar/ && vim /srv/pillar/top.sls |
内容为
1 | base: |
1 | {% if grains['os'] == 'RedHat' %} |
用来匹配minion的grains,是指那些关于minion主机的静态信息,比如OS,软件版本,虚拟化,CPU,内存等等。
1 | salt ‘*’ grains.items #打印grains |
/etc/salt/grains 自定义 grains
/etc/salt/minion 自定义 grains
1 | grains: |
创建 modules 目录
1 | mkdir /srv/salt/_modules && cd /srv/salt/_modules |
在 _modules 目录创建一个模块 test.py
1 | def foo(): |
Ubuntu下最新版本的包发布在saltstack PPA。如果你有 add-apt-repository 工具,你可以一键添加软件源仓库并导入PPA的key。
1 | sudo add-apt-repository ppa:saltstack/salt |
如果提示以下错误
1 | add-apt-repository: command not found? |
需要安装下面两个东西
1 | sudo apt-get install python-software-properties |