SaltStack配置管理-jinja模板】的更多相关文章

上一篇:SaltStack配置管理-状态间关系 需求:需要apache配置文件里面监听的端口是每个minion本地的地址 saltstack默认的模板是jinjia模板 参考文档:http://docs.jinkan.org/docs/jinja2/ 两种分隔符: {% ... %} 和 {{ ... }} .前者用于执行诸如 for 循环 或赋值的语句,后者把表达式的结果打印到模板上. 如何知道salt配置文件是一个模板 需要在sls配置文件里面定义 apache.init.sls 修改配置h…
需求描述: 在通过saltstack进行jinja模板获取值的时候,可以通过grains的方式,获取一些操作系统相关的信息,比如,OS,ip地址等,在这里演示下,做个记录. 演示: 1.修改sls文件,增加jinja模板,选项 [root@testvm01 lamp]# cat lamp.sls lamp-pkgs: pkg.installed: - pkgs: - httpd - php - mysql - mysql-server - php-mysql - php-cli - php-mb…
需求描述: 在使用saltstack的时候,有的时候,需要根据不同的变量来增加配置,比如,bind,监听端口,这些都可以通过变量写入,并且在配置的时候引用,下面是一个例子,用来演示,如何使用jinja模板,在state模块中使用. 演示: 1.编写sls及saltstack的状态文件 lamp-pkgs:  pkg.installed:    - pkgs:      - httpd      - php      - mysql      - mysql-server      - php-m…
1. 说明 下文的案例是根据上一篇文章进行的修改.因此请优先读取上一章博文内容<Saltstack_使用指南11_配置管理-状态之间依赖关系> 2. 主机规划 salt 版本 [root@salt100 ~]# salt --version salt (Oxygen) [root@salt100 ~]# salt-minion --version salt-minion (Oxygen) salt jinja 文档 https://docs.saltstack.com/en/latest/to…
上一篇:SaltStack配置管理-LAMP状态设计 include包含 上篇安装LAMP环境是一个个环境安装,可以通过include模块全部安装 lamp.sls include: - apache.init - php.init - mysql.init 安装 salt -S '192.168.56.12' state.sls lamp saltenv=prod 也可以直接写在top.sls里面使用高级状态执行 prod是环境linux-node2.example.com是主机ID 扩展ex…
1. 配置管理:state和file https://docs.saltstack.com/en/latest/topics/states/index.html Full list of states 1.state状态模块 希望主机,apache ,启动状态,关闭状态, 写法1 [root@linux-node1 web]# pwd /srv/salt/base/web [root@linux-node1 web]# vim apache.sls apache: pkg.installed:…
问题描述: 通过saltstack的jinja模板方式,可以将变量的值写入到配置文件,即动态获取的方式.这里介绍,通过执行salt函数来获取值的方式. 演示: 1.通过在sls中,增加jinja的模板信息,变量信息,通过salt函数获取该值. apache-config: file.managed: - name: /etc/httpd/conf/httpd.conf - source: salt://lamp/files/httpd.conf - user: root - group: roo…
SaltStack的配置管理--jinja 需求场景:使用jinja模板,让各节点的httpd都监听在本机的ip [root@7mini-node1 apache]# vim files/httpd.conf 配置文件修改监听的ip地址和端口以变量的形式 Listen {{ IPADDR }}:{{ PORT }} 修改apache的sls的文件 [root@7mini-node1 apache]# vim init.sls apache-install: pkg.installed: - na…
点击架构师成长之路 架构师成长之路5.6-Saltstack配置管理(jinja模板) 配置管理工具: Pupper:1. 采用ruby编程语言:2. 安装环境相对较复杂:3.不支持远程执行,需要FUNC工具配置才可以 Ansible:1.采用python编程语言:2.被红帽收购:3.轻量级:4.基于模块工作的,本身没有批量部署的能力,真正批量部署的是ansible所运行的模块. Saltstack:采用python编程语言,同时提供Rest API方便二次开发以及和其它平台进行集成(目前企业使…
目标需求 1.使用jinja模板让apache配置监听本地ip地址 2.了解grains的基本使用方法 说明:实验环境是在前面的第二篇和第三篇基础上完成 实现步骤 使用grains获取ip地址信息 使用fqdn_ip4获取,获取下来是一个列表元素,在jinja模板里面使用IPADDR: {{ grains [ 'fqdn_ip4'][0] }}表示 [root@linux-node1 web]# salt "linux-node2*" grains.item fqdn_ip4 linu…
jinjia模板 需求:想让saltstack的file模块分发到minion端的配置文件监听minion端的IP和端口,如何用变量实现?看下面!! 1.jinja模板加grains使apache监听本地端口 # cat lamp.sls lamp-install: pkg.installed: - pkgs: - httpd - php - php-pdo - php-mysql apache-config: file.managed: - name: /etc/httpd/conf/http…
先转载下jinja模板中使用变量的方法,后文主要讲解pillar的变量使用方法 一.jinja模版的使用方法: 1.file状态使用template参数 - template:jinja 2.模版文件里面变量使用{{名称}},例如{{PORT}} 变量使用Grains:{{ grains['fqdn_ip4'] }} 变量使用执行模块:{{ salt['network.hw_addr']('eth0') }} 变量使用Pillar:{{ pillar['apache']['PORT'] }} 3…
上一篇:SaltStack之Salt-ssh 配置文件模板 apache: pkg.installed: - name: httpd service.running: - name: httpd /etc/httpd/conf/httpd.conf file.managed: - source: salt://apache/file/httpd.conf - user: root - group: root - mode: 644 /etc/httpd/conf/php.conf file.ma…
Blog 项目源码:https://github.com/JmilkFan/JmilkFan-s-Blog 目录 目录 前文列表 扩展阅读 使用 Bootstrap 编写 Jinja 模板文件 继承一个模板 前文列表 用 Flask 来写个轻博客 (1) - 创建项目 用 Flask 来写个轻博客 (2) - Hello World! 用 Flask 来写个轻博客 (3) - (M)VC_连接 MySQL 和 SQLAlchemy 用 Flask 来写个轻博客 (4) - (M)VC_创建数据模…
Flask 和 Django 附带了强大的 Jinja 模板语言. 对于之前没有接触过模板语言的人来说,这类语言基本上就是包含一些变量,当准备渲染呈现 HTML 时,它们会被实际的值替换. 这些变量放在标记或分隔符之前.例如:Jinja 模板使用 {% ... %} 表示循环,{{ ... }} 表…
官方文档 https://docs.saltstack.com/en/latest/topics/states/index.html 配置管理之SLS Salt  State  SLS描述文件(YAML) 名称ID声明  默认是name声明 备注: 一个ID声明下面.状态模块不能重复使用 例: apache-install: pkg.installed: - names: - httpd - httpd-devel apache-service: # ID声明,高级状态,ID必须唯一. serv…
模板 要了解jinja2,那么需要先理解模板的概念.模板在Python的web开发中广泛使用,它能够有效的将业务逻辑和页面逻辑分开,使代码可读性增强.并且更加容易理解和维护. 模板简单来说就是一个其中包涵占位变量表示动态的部分的文件,模板文件在经过动态赋值后,返回给用户.  --> 可以理解为渲染 python中自带一个简单的模板,就是string提供的. 1 2 3 4 5 6 7 >>>  import  string >>> a  =  string.Tem…
模板 要了解jinja2,那么需要先理解模板的概念.模板在Python的web开发中广泛使用,它能够有效的将业务逻辑和页面逻辑分开,使代码可读性增强.并且更加容易理解和维护. 模板简单来说就是一个其中包涵占位变量表示动态的部分的文件,模板文件在经过动态赋值后,返回给用户. --> 可以理解为渲染 python中自带一个简单的模板,就是string提供的. >>> import string >>> a = string.Template( '$who is $ro…
Jinja2 是基于 python 的一个模板引擎,如下,使用 Jinja2 实现根据不同的操作系统分发不同的文件: [root@localhost ~]$ cat /srv/salt/test.sls {% set apache_conf = '/etc/httpd/conf/httpd.conf' %} # {% set ... %} 用于设置变量 {% if grains['os'] == 'Debian' %} # {% if ... %} 用于条件判断,用 {% endif %} 结束…
states是saltstack中的配置语言,我们安装一个包,管理一个配置文件,最后保证服务的正常运行,都需要我们编写一些states sls文件(描述状态的文件)去描述和实现我们的功能.sls文件都是YAML语法编写,也可以用python. YAML语法规则:每个缩进级别由两个空格组成,不要使用tab键.冒号后面也有一个空格.想要表示列表项,使用短横杠加一个空格,多个同样的缩进级别为同一列表的一部分. sls指salt state,常见的就是用于state中的/srv/salt和pillar中…
1.SaltStack批量安装zabbix_agent端. vim /etc/salt/states/init/zabbix_agnet.sls zabbix_install.conf: pkg.installed: #pkg.removed: - names: - zabbix22-agent file.managed: - name: /etc/zabbix_agent.conf - source: salt://init/files/zabbix_agentd.conf - user: r…
制作简单初始化模块(在minion主机安装软件): 1.定义master配置文件file_roots [root@localhost~]# cat /etc/salt/master file_roots: base: - /etc/salt/states prod: - /etc/salt/states/prod 创建目录: mkdir -p /etc/salt/states mkdir -p /etc/salt/states/prod mkdir -p /etc/salt/states/ini…
YAML陷阱 YAML语法要求如果值以{{ foo }}开头的话我们需要将整行用双引号包起来.这是为了确认你不是想声明一个YAML字典.该知识点在 YAML 语法 页面有所讲述. 这样是不行的: - hosts: app_servers vars: app_path: {{ base_path }}/22 你应该这么做: - hosts: app_servers vars: app_path: "{{ base_path }}/22"…
一.include的引用 需求场景:用于含有多个SLS的状态,使用include可以进行多个状态的组合,将安装apache,php,mysql集合在一个sls中 [root@7mini-node1 prod]# pwd /srv/salt/prod [root@7mini-node1 prod]# vim lamp.sls include: - apache.init - php.init - mysql.init [root@7mini-node1 prod]# vim ../base/top…
路径中不能用上一级目录../…
目录  /srv/salt/base下面新建一个文件dns.sls /opt/resolv.conf_bak:     #这个是文件替换的位置,也就说替换到远程文件的/opt/resolv.conf_bak目录下面 file.managed:       #状态模块中的file模块  managed方法 - source: salt://file/resolv.conf    #源文件 在当前路劲 也就是/srv/salt/base 相对路劲下面 有个file文件夹目录下面有个resolv.co…
saltstack集合 saltstack(一):   saltstack简介 saltstack(二):   saltstack安装及配置 saltstack(三):   saltstack远程执行 saltstack(四):   saltstack配置管理-常用模块介绍 saltstack(五):   saltstack配置管理-minion端安装apache简单样例 saltstack(六):   saltstack配置管理-高级状态top.sls saltstack(七):   salt…
配置管理是saltstack工具最重要的模块之一,也是学习saltstack之后使用最多的一个功能.可以轻松实现上百台上千台甚至上万台服务器的管理工作. 1.使用state模块进行配置管理,编写sls文件,sls文件使用的是yaml语法格式. yaml文件的语法格式: structure通过空格来展示. sequence里的项用"-"来表示. map里的键值对用":"来表示. 2.常用的state模块及方法:file: file.managed --文件管理(重点)…
saltstack自动化运维系列⑥SaltStack实践配置管理安装zabbix 1.添加管理zabbix的sls文件# vim /srv/salt/base/init/zabbix_agent.sls zabbix-agent-install: pkg.installed: - name: zabbix-agent file.managed: - name: /etc/zabbix/zabbix_agentd.conf - source: salt://init/files/zabbix_ag…
saltstack自动化运维系列⑤之saltstack的配置管理详解 配置管理初始化: a.服务端配置vim /etc/salt/master file_roots: base: - /srv/salt/base test: - /srv/salt/test prod: - /srv/salt/prod mkdir -p /srv/salt/basemkdir /srv/salt/testmkdir /srv/salt/prod 1.统一管理dns配置文件resolv.conf 创建模板文件mk…