Ansible剧本–Playbook

  • Ansible剧本–Playbook已关闭评论
  • 53 次浏览
  • A+
所属分类:linux技术
摘要

使用”ansible-playbook playbook.yaml”命令运行剧本
使用”ansible-playbook –syntax-check playbook.yaml”命令检查playbook语法是否正确,如果正确只返回playbook名称
使用”ansible-playbook –check playbook.yaml”命令模拟运行剧本


Ansible剧本--Playbook

Ansible playbook剧本介绍

  • 在ansible中,类似“脚本”的文件被称作“剧本”,英文称为playbook,用于配置、部署和管理被控节点
  • 只需要把模块按照顺序编排在playbook剧本中,ansible就会按照剧本一步一步的执行,最终达到我们需要实现的效果
  • playbook是由一个或多个'play'组成的列表,当我们在工作中需要不止做一件事情的时候,使用playbook会更加适合
  • playbook与ad-doc相比是一种完全不同的运用方式,剧本需要遵循yaml语法格式编写,文件名以'.yaml'或'.yml'作为文件名后缀

playbook核心元素

  • hosts:执行的远程主机列表
  • tasks:任务集
  • variables:内置变量或自定义变量在playbook中调用
  • templates:模板,可替换文件中的变量并实现一些简单逻辑的文件
  • handles和notify结合使用,由特定条件触发的操作,满足条件执行,否则不执行
  • tags:标签,指定某条任务执行,用于选择运行playbook中的部分代码

第一个Playbook剧本

使用ping模块测试远程主机连通性

--- - hosts: 群组名   remote_user: root   tasks:   - name: 自定义名称     ping: 
第一行:playbook剧本以"---"开头表明yaml格式文件 第二行:使用"- "作为开头,"- "表示一个列表项,"- "后面使用hosts关键字指定要操作的主机组名,表示我要在xx组主机上进行操作,在YAML语法中,键值对需要使用冒号作为分隔,而且冒号后面必须还要有一个空格作为分隔 第三行:remote_user关键字可以指定在进行远程操作时使用哪个用户进行操作 第四行:tasks关键字指定要执行哪些操作任务,之后的行都属于tasks任务列表中的任务,每个任务都以"- "开头,每个任务都有自己的名字,任务名使用name关键字进行指定 

使用"ansible-playbook playbook.yaml"命令运行剧本
使用"ansible-playbook --syntax-check playbook.yaml"命令检查playbook语法是否正确,如果正确只返回playbook名称
使用"ansible-playbook --check playbook.yaml"命令模拟运行剧本