SaltStack状态导入(include)
SaltStack状态文件的语法用的是jinja的语法,在使用状态模块互相导入的时候,和Django中模板中的导入是一样样的。
例:
1.先定义一个httpd.sls
cd /srv/salt/base/web vim httpd.sls 写入以下内容: lamp-install: pkg.installed: - pkgs: - httpd - php - php-pdo - php-mysql
2.然后在lamp.sls文件中引入httpd.sls文件:
cd /srv/salt/base/web
vim lamp.sls
写入以下内容:
include: #导入
- web.httpd #导入web目录下的httpd.sls,导入的时候不需要加文件的后缀名
注:使用include导入的时候,include是从当前环境的根路径开始搜索,例如上例中:根路径是/srv/salt/base ,所以在引入/srv/salt/base/web/httpd.sls文件的时候,需要加上web目录。
使用include的优点:
通过导入,按照python中的说法就是,实现了代码的解耦,使用起来更加灵活,例如安装JDK和安装tomcat的状态如果分为两个,那么,安装tomcat的时候也不影响,对于那些,只想安装JDK,而不想安装tomcat的主机,也可以实现。