大型架构及配置技术ansible(二)之Jinja2简介,playbook基础,playbook进阶


一、Jinja2简介
1.Jinja2是什么
    Jinja2是基于Python的模板引擎,包含变量和表达式两部分,两者在模板求值时会被替换为值,模板中还有标签,控制模板的逻辑
    playbook的模板使用Python的Jinja2模块来处理
    
2.Jinja2模板基本语法
    模块的表达式都是包含在分隔符"{ {  }}"内的
    控制语句都是包含在分隔符"{%  %}"内的 
    模板支持注释,都是包含在分隔符"{#  #}",支持块注释
    调用变量
        { {varname}}
    计算
        { {2+3}}
    判断
        { {1 in [1,2,3]}}
        
3.Jinja2模板控制语句
    {% if name == '诗仙' %}
      李白
    {% elif name == '诗圣' %}
      杜甫
    {% elif name == '诗鬼' %}
      李贺 
    {% else %}
      白居易
    {% endif %}
      
    {% if name == .... %}
      ...
    {% elif name == '于谦' %}
      {% for method in [抽烟,喝酒,烫头] %}
        { {do method}}
      {% endfor %}
    {% endif %}    

4.Jinja2是什么过滤器
    变量可以通过过滤器修改。过滤器与变量用管道符号(|)分割,也可以用圆括号传递可选参数,多个过滤器可以链式调用,前一个过滤器的输出会被作为后一个过滤器的输入
    例如:加密一个字符串
        { {'astr'|password_hash('sha512')}}
        
二、playbook基础
1.playbook是什么
    playbook是ansible用于配置,部署和管理托管主机剧本,通过playbook的详细描述,执行其中的一系列tasks,可以让远端主机达到预期状态
    也可以说,playbook字面意思即剧本,现实中由演员按剧本表演,在ansible中由计算机进行安装,部署应用,提供对外服务,以及组织计算机处理各种各样的事情

2.为什么要使用playbook
    执行一些简单的任务,使用ad-doc命令可以方便的解决问题,但有时一个设施过于复杂时,执行ad-doc命令是不合适的,最好使用playbook
    playbook可以反复使用编写的代码,可以放到不同的机器上面,像函数一样,最大化的利用代码,在使用ansible的过程中,处理的大部分操作都是在编写playbook

3.playbook语法基础
    playbook由YAML语言编写,遵循YAML标准
    在同一行中,#之后的内容表示注释
    统一列表中的元素应该保持相同的缩进
    playbook由一个或多个play组成
    play中hosts,variables,roles,tasks等对象的表示方法都是以:分隔
    YAML他的文件开始行都应该是---,这是YAML格式的一部分,表名一个文件的开始
    palybook构成:
        hosts:定义将要执行playbook的远程主机组
        vars:定义playbook运行时需要使用的变量
        tasks:定义将要在远程主机上执行的任务列表
        handlers:定义task执行完成以后需要调用的任务
    playbook执行结果
        使用ansible-playbook运行playbook文件,输出内容为JSON格式,由不同颜色组成便于识别
            绿色代表执行成功
            ***代表系统状态发生改变
            红色代表执行失败
[root@ansible40 ~]# vim ping.yml
---

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值