Ansible的脚本----playbook剧本

Playbook组成部分

  1. tasks  任务:包含要在目标主机上执行的操作,使用模块定义这些操作。每个任务都是一个模块的调用。
  2. Variables 变量:存储和传递数据。变量可以自定义,可以在playbook当中定义全局变量,可以外部传参。
  3. Templates 模版:用于生成配置文件。模版是包含占位符的文件。占位符由ansible在执行时专换为变量值。
  4. Handlers 处理器  当需要有变更的时候,可以执行触发器。
  5. Roles 角色: 是一种组织和分装playbook的。允许吧相关的任务,变量,模板和处理器组成一个可复用的单元。

实例模版:

Ansible的脚本----playbook剧本_第1张图片

检查yum语法是否正确:

运行命令

检查有几个tasks

检查有几台运行

设置从哪一步开始表演 指定剧本演出

切换用户:没有root权限

Ansible的脚本----playbook剧本_第2张图片

切换用户命令

打开密钥对

指定用户

脚本二

Ansible的脚本----playbook剧本_第3张图片

Ansible的脚本----playbook剧本_第4张图片

字典方式:

获取 目标主机的IP地址,然后复制目标文件

Playbook的条件判断:

When 是一个比较常见的应用场景,实现满足条件即执行,不满足条件即跳过的任务。

When 是满足条件

Ansible的脚本----playbook剧本_第5张图片

Ansible的脚本----playbook剧本_第6张图片

循环:Ansible有多种循环格式,with_items

Ansible的脚本----playbook剧本_第7张图片Ansible的脚本----playbook剧本_第8张图片

声明变量item,playbook的内置变量,with_items会把item的值,遍历列表当中的 a  b  c  d 虽然我们声明的列表是两个,但是with_items还是把两个列表当成整体进行遍历。

With_list

Ansible的脚本----playbook剧本_第9张图片

Ansible的脚本----playbook剧本_第10张图片

组合输出

Ansible的脚本----playbook剧本_第11张图片

列表组循环,列表当中的值一一对应,打印出来。

Ansible的脚本----playbook剧本_第12张图片

列表里面的元素,定义了循环的次数,第二层列表,相当于内循环。

Ansible的脚本----playbook剧本_第13张图片

With_items 最常用的

With_list   列表分组循环

With_together  列表对应的列,数据结合的方式循环

With_nested  相当于双重循环,第一层定义了循环次数。第二次表示第一层的每个元素会循环几次。

基于循环,创建文件,目录, 和用户组

Ansible的脚本----playbook剧本_第14张图片

你可能感兴趣的:(ansible)