最新消息: PyCharm vs VSCode,哪个更好?
您现在的位置是:群英 > 服务器 > 系统运维 >
SaltStack配置管理使用方法
linuxe发表于 2020-10-28 11:24 次浏览
 
States配置管理
States是Saltstack中的配置语言,在日常进行配置管理时需要编写大量的States SLS文件,而编写这些SLS文件的一般步骤也就是我们平时手动配置一台服务器的步骤:首先安装源码包,然后管理一个配置文件,最后再保证这个服务的开机启动及正常运行。其中使用到的states模块功能需要我们一边学习一边实践加强理解。
 

jinja2模板的基本使用

1、首先将source文件中需要引用变量的内容改为{{ 变量名 }},如修改apache配置文件中的端口信息

 

1 Listen {{ PORT }}
2、对SLS文件进行编辑以定义模板并且给变量传值,在第一步中定义了几个变量就必须给几个变量传值

 

01 apache-service:
02   pkg.installed:
03     - name: httpd
04   file.managed:
05     - name: /etc/httpd/conf/httpd.conf
06     - source: salt://files/httpd.conf
07     - user: root
08     - group: root
09     - mode: 644
10     - template: jinja    #增加这行表示开启模板
11     - defaults:    #下面设定变量的值
12       PORT: 8080    #之前定义的PORT变量值为8080
13     - require:
14       - pkg: apache-service
15   service.running:
16     - name: httpd
17     - enable: True
18     - reload: True
19     - watch:
20       -file: apache-service


3、执行salt '*' state.highstate,然后查看配置文件发生的变化,可以看到PORT这个变量的值变成了8080

 

jinja2模板的高级使用:

在基本使用中由于修改的是端口,端口信息一般是固定的,如果想要修改的信息是每个minion自身的IP就没办法设置一个通用的信息了,这个时候需要通过其他方法来获取minion相关信息,这里可以使用Grains、Pillar和执行模块三个方法来获取,下面用Grains举例设置IP的办法

 

01 apache-service:
02   pkg.installed:
03     - name: httpd
04   file.managed:
05     - name: /etc/httpd/conf/httpd.conf
06     - source: salt://files/httpd.conf
07     - user: root
08     - group: root
09     - mode: 644
10     - template: jinja    #增加这行表示开启模板
11     - defaults:    #下面设定变量的值
12       HOST: {{ grains['fqdn_ip4'][0] }}    #[fqdn_ip4]代表的是IP,该信息需要先执行salt '*' grains.items查询,由于grains查询输出的是列表,会有多个值,需要加上[0]代表取第一个值
13       PORT: 8080    #之前定义的PORT变量值为8080
14     - require:
15       - pkg: apache-service
16   service.running:
17     - name: httpd
18     - enable: True
19     - reload: True
20     - watch:
21       -file: apache-service

 

 

 

 

 
标签:安装saltstack
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
下一篇:没有了
相关信息推荐
2020-10-27 15:50:13 关键词:安装saltstack
摘要:什么是grains: 是salt的一个组件,负责minion第一次启动的时候采集的静态数据,可以用在salt的模块和其他组件中。每次的minion启动(重启)的时候都会采集。 Grains应用场景1信息查询(..