发布时间:2020-04-16 14:55:56来源:阅读:
salt引入了Jinja2模板引擎,可用于salt state文件,salt pillar文件和其它由salt管理的文件。
salt允许你使用Jinja访问minion配置值,grains和salt pillar数据,和调用salt执行模块。这些是除了Jinja提供的标准控制结构和Python数据类型之外的功能。
Jinja最常用的功能是在salt pillar文件中插入控制声明语句。
由于许多发行版本有不同的包名称,你可以使用os grain来设置平台特定的路径,软件包名称和其它值。
例如:
{% if grains['os_family'] == 'RedHat' %} apache: httpd git: git {% elif grains['os_family'] == 'Debian' %} apache: apache2 git: git-core {% endif %}
如你所见,salt grains跟salt pillar的数据字典都是字典。这个示例检查salt grain值来设置操作系统特定的salt pillar键值。
保存上面的代码到saltstack/pillar/common.sls文件,然后运行如下命令来刷新和列出每一个minions的salt pillar值:
salt '*' saltutil.refresh_pillar salt '*' pillar.items
设置这些值后,当应用如下salt state:
install apache: pkg.installed: - name: {{ pillar['apache'] }}
httpd软件包安装在RedHat,apache2安装在Debian系统。
在salt state中创建多个用户和目录使用循环语句会很方便。
{% for usr in ['moe','larry','curly'] %} {{ usr }}: user.present {% endfor %}
{% for DIR in ['/dir1','/dir2','/dir3'] %} {{ DIR }}: file.directory: - user: root - group: root - mode: 774 {% endfor %}
一般来说,你应该努力保持你的salt state足够简单。如果你发现你必须编写复杂的Jinja才能实现功能,你应该考虑把一个任务分割为多个salt state文件,或者编写一个自定义的salt执行模块。
你可以在Jinja中调用salt执行函数来实时获取数据。
{{ salt.cmd.run('whoami') }}
Apowersoft手机管理大师(手机管理工具) v3.2.7.1破解版
68.3M
bosskey(窗口管理工具)v0.4.6.2 免费版
268KB
endnote x7(文献管理软件) v17.0.7072 破解版
114MB
h3c模拟器(网络虚拟环境配置工具) 1.5.2 正式版
59.1M
realtek hd(音频管理工具)v2.81 官方版
77.7M
virtual drive manager(虚拟驱动器管理工具) V1.32 绿色版
0.21MB
叮当管家(客栈公寓管理助手) 1.6.6.1 最新版
32.61 MB
客户达开店管家(淘宝店铺管理软件) v4.09 破解版
40.2MB
旺财流水账(财务管理软件) 9.2 免费版
4.85MB
百卓优采云进销存(进销存管理工具) v5.6.69.2 免费版
28.8M
3dmax场景助手下载
0.17MB
HeidiSQL下载
10.1M
mt4下载
3.2M
印象笔记下载
122.6M
家庭记账软件下载
2.0M
网易邮箱大师下载
28.3M
2020-05-03
预装VISTA系统的X200在开机后会提示“充分使用您的照相机”,点击后无法打开摄像头。
Material UI 4.9.2 发布,Material Design React 组件
Thinkcentre S51 驱动下载及安装方法 for windows XP
天逸F40机型XP系统显示无线路由器SSID乱码
MeEdu v2.0-beta12 版本上线,基于 Laravel 的在线点播收费系统
我的电脑是否可以玩魔兽世界
ThinkPad新品预装杜比音效(Dolby)功能机型启动时有报错,无法启动杜比音效
618必看游戏手机攻略新鲜出炉!红魔史上最大幅度促销你知道吗?
激光A3打印机LJ6300安装好XP驱动打印正常,电脑重启不能打印,重装驱动无效