博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
saltstack通过jinja模板,将变量值增加到配置文件中?通过引用变量值修改配置文件?...
阅读量:6344 次
发布时间:2019-06-22

本文共 3836 字,大约阅读时间需要 12 分钟。

需求描述

  在使用saltstack的时候,有的时候,需要根据不同的变量来增加配置,比如,bind,监听端口,这些都可以通过变量写入,并且在配置的时候引用,下面是一个例子,用来演示,如何使用jinja模板,在state模块中使用。

演示

1.编写sls及saltstack的状态文件

lamp-pkgs:   pkg.installed:     - pkgs:       - httpd       - php       - mysql       - mysql-server       - php-mysql       - php-cli       - php-mbstring apache-config:   file.managed:     - name: /etc/httpd/conf/httpd.conf     - source: salt://lamp/files/httpd.conf     - user: root     - group: root     - mode: 644 php-config:   file.managed:     - name: /etc/php.ini     - source: salt://lamp/files/php.ini     - user: root     - group: root     - mode: 644 apache-service:   service.running:     - name: httpd     - enable: True     - reload: True     - watch:                 #监控,如果httpd的配置文件发生了变化,那么就对httpd服务进行reload操作。       - file: apache-config mysql-service:   service.running:     - name: mysqld     - enable: True     - reload: True

 

备注:该sls状态文件的主要作用就是,安装LAMP的环境,并且启动具体的服务。

2.将httpd的配置文件作为模板文件,sls中写入变量

apache-config:  file.managed:    - name: /etc/httpd/conf/httpd.conf    - source: salt://lamp/files/httpd.conf    - user: root    - group: root    - mode: 644    - template: jinja     #将httpd.confg文件作为jinja模板文件    - defaults:      Listen_Port: 89     #指定具体的变量,也就是参数,也可以指定多个,在下一行

 

3.修改原配置文件httpd.conf,加入引用变量

[root@testvm01 lamp]# vi files/httpd.conf  #对以下的文件进行修改。#Listen 12.34.56.78:80Listen {
{ Listen_Port }}

 

备注:这里的意思,就是配置文件httpd.conf会引用lamp.sls文件中列出的变量值

4.通过state模块,进行配置

[root@testvm01 lamp]# salt 'testvm03' state.sls lamp.lamp testvm03: ----------           ID: lamp-pkgs     Function: pkg.installed       Result: True      Comment: All specified packages are already installed      Started: 16:14:17.055138     Duration: 483.099 ms      Changes:    ----------           ID: apache-config     Function: file.managed         Name: /etc/httpd/conf/httpd.conf       Result: True      Comment: File /etc/httpd/conf/httpd.conf updated      Started: 16:14:17.541277     Duration: 66.713 ms      Changes:                  ----------               diff:                   ---                   +++                   @@ -133,7 +133,7 @@                    # prevent Apache from glomming onto all bound IP addresses (0.0.0.0)                    #                    #Listen 12.34.56.78:80                   -Listen 87       #diff命令,检测到监听端口的变化                   +Listen 89                                        #                    # Dynamic Shared Object (DSO) Support ----------           ID: php-config     Function: file.managed         Name: /etc/php.ini       Result: True      Comment: File /etc/php.ini is in the correct state      Started: 16:14:17.608216     Duration: 11.019 ms      Changes:    ----------           ID: apache-service     Function: service.running         Name: httpd       Result: True      Comment: Service reloaded     #检测到配置文件发生变化之后,进行了reload操作      Started: 16:14:17.653648     Duration: 81.143 ms      Changes:                  ----------               httpd:                   True ----------           ID: mysql-service     Function: service.running         Name: mysqld       Result: True      Comment: The service mysqld is already running      Started: 16:14:17.735066     Duration: 96.421 ms      Changes:    Summary for testvm03 ------------ Succeeded: 5 (changed=2) Failed:    0 ------------ Total states run:     5 Total run time: 738.395 ms

5.检查testvm03主机上的配置文件的状态和服务状态

[root@testvm03 ~]# grep ^Listen /etc/httpd/conf/httpd.conf Listen 89 [root@testvm03 ~]# service httpd status httpd (pid  1139) is running... [root@testvm03 ~]# netstat -ntlp | grep httpd tcp        0      0 :::89                       :::*                        LISTEN      1139/httpd

备注:发现配置文件已经修改过来了,并且配置文件也进行了重新加载。达到了,通过引用变量的方法获取变量值来修改配置的方法,httpd.conf中不在是固定的写法,而是通过变量的值来获取某个值。

 

文档创建时间:2019年3月11日16:18:17

转载于:https://www.cnblogs.com/chuanzhang053/p/10511411.html

你可能感兴趣的文章
三条代码 搞定 python 生成验证码
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
无线和有线路由哪种性能更好
查看>>
Dwr3.0纯注解(纯Java Code配置)配置与应用浅析三之后端反向调用前端
查看>>
Ubuntu下安装遨游浏览器
查看>>
自定义Linux service脚本
查看>>
微信开发之发红包
查看>>
一键lnmp脚本&&php扩展模块安装(适用于CENTOS6.X系列)
查看>>
二维观察---文字的裁剪
查看>>
矩形覆盖
查看>>
ICMP
查看>>
界面设计模式(第2版)(全彩)
查看>>
解决VMware Workstation错误:未能锁定文件
查看>>
CentOS6 手动编译升级 gcc
查看>>
memcached的安装与开启脚本
查看>>
Linux与Window字符集~~伤不起的幽灵空白符
查看>>
zabbix 邮件报警 -- sendmail
查看>>
JavaScript异步编程
查看>>
tcpdump用法小记
查看>>