Bootstrap

2、ansible的脚本

ansible的脚本------------playbook剧本

脚本的作用:复用

playbook的组成部分:

1、开头 ---- 表示,表示是一个yaml文件,但是可以忽略。

2、Tasks(任务),包含了在目标主机上执行的操作,操作还是由模板来执行

每一个任务都是一个ansible的模块调用的系统名,操作管理等等。

3、Variables(变量):存储和传递数据,可以自定义变量,在playbook中变量都是全局的。

4、Templates模板,用于生成配置文件,可以在ansible当中定义好变量和属性直接传给配置文件

5、Handlers 处理器,满足条件时,进行触发的操作,通常用在任务重发生“change”,可以触发这个处理器一般是用处理器来对服务进行重启。

6、Roles角色,是一种组织和封装playbooks的方式,类似docker-compose。

检测语法是否正确

检查脚本中的任务数

检查脚本中的目标主机

执行脚本命令

从指定的任务位置开始执行

全局变量

自定义变量

外部传参

ansible中的条件判断

取反

迭代循环

循环实操

组是目标主机存在的组

标签

tags

debug 在ansible中相当于标签,在执行playbook的时候指定标签来运行我们需要的tasks。

1、debug:调试,调试的结果不会写入到目标主机

2、always:始终会运行的任务。

3、setup:收集主机信息

4、pre_tasks:在主任务之前运行的任务

5、post_tasks:在主任务之后运行的任务

6、自定义标签

7、never:这个任务永远不运行

跳过执行

从指定位置执行

只执行这个标签

只执行从test2和test4标签部分

jinja模块

jinja是基于python的模板引擎,可以把模板看作是一个编译过的文件,这个文件可以直接生成到目标文件,用定义好的变量替换模板中的标记位。

悦读

道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。

;