6.ansible之playbook01

发布时间 2023-05-16 22:24:27作者: 站在巨人的肩上Z

Ansible playbook:

  • 将经常需要执行的任务写入一个文件(剧本)
  • 剧本中可以包含多个任务
  • 剧本写后,我们随时调用剧本,执行相关的任务命令
  • playbook剧本要求按照YAML格式编写
  • 适合执行周期性经常执行的复杂任务

YAML是什么?

  是一个可读性高、用来表达数据序列的格式语言,它是以数据为中心,重点描述数据的关系和结构

YAML格式

  • "#"代表注释,一般第一行为三个横杠
  • 键值对使用":"表示,数组使用"-"表示
  • 缩进必须有两个或者以上空格组成
  • 相同层级的缩进必须对齐
  • 全文不可以使用tab键
  • 区分大小写,扩展名为yml或者yaml
  • 跨行数据需要使用>或者| (|会保留换行符)  
"诗人":
  - 唐代:
      - "李白"
      - "杜甫"

  - 宋代:
      - "苏轼"
      - "苏辙"

PlayBook语法格式

  • playbook采用ymal格式编写
  • playbook文件中由一个或多个play组成
  • 每个play中可以包含:hosts(主机)、tasks(任务)、variables(变量)、roles(角色)、handlers等元素组成
  • 使用ansible-playbook命令运行playbook剧本。  

实例1:

  

      1) hosts有一个或多个主机组成,逗号分隔

  2) tasks由一个或多个任务组成,多个任务按顺序执行,- name:表示任务名称

  3) 可以使用-f 选项自定义并发量

实例2:一个playbook中可以有多个play

  

修改ansbile中家目录的.vimrc文件

[root@db04 ~]# cat .vimrc 
autocmd FileType yaml setlocal ai ts=2 sw=2 et

作用:1.使用2个空格自动替换tab键,2 开启自动缩进对齐(tabstop=2、expandtab),缩进宽度为2个空格(shiftwidth=2)