Playbook核心元素

  • Hosts 执行的远程主机列表
  • Tasks 任务集
  • Variables 内置变量或自定义变量在playbook中调用
  • Templates 模板,可替换模板文件中的变量并实现一些简单逻辑的文件
  • Handlers 和 notify 结合使用,由特定条件触发的操作,满足条件方才执行,否则不执行
  • tags 标签 指定某条任务执行,用于选择运行playbook中的部分代码。ansible具有幂等性,因此会自动跳过没有变化的部分,即便如此,有些代码为测试其确实没有发生变化的时间依然会非常地长。此时,如果确信其没有变化,就可以通过tags跳过此些代码片断
hosts 组件

Hosts:playbook中的每一个play的目的都是为了让特定主机以某个指定的用户身份执行任务。hosts用于指定要执行指定任务的主机,须事先定义在主机清单中

one.example.com
one.example.com:two.example.com
192.168.1.50
192.168.1.*
Websrvs:dbsrvs      #或者,两个组的并集
Websrvs:&dbsrvs     #与,两个组的交集
webservers:!phoenix  #在websrvs组,但不在dbsrvs组

案例:

- hosts: websrvs:appsrvs
remote_user 组件

remote_user: 可用于Host和task中。也可以通过指定其通过sudo的方式在远程主机上执行任务,其可用于play全局或某任务;此外,甚至可以在sudo时使用sudo_user指定sudo时切换的用户

- hosts: websrvsremote_user: roottasks:- name: test connectionping:remote_user: magedusudo: yes                 #默认sudo为rootsudo_user:wang        #sudo为wang
task列表和action组件

play的主体部分是task list,task list中有一个或多个task,各个task 按次序逐个在hosts中指定的所有主机上执行,即在所有主机上完成第一个task后,再开始第二个task
task的目的是使用指定的参数执行模块,而在模块参数中可以使用变量。模块执行是幂等的,这意味着多次执行是安全的,因为其结果均一致
每个task都应该有其name,用于playbook的执行结果输出,建议其内容能清晰地描述任务执行步骤。如果未提供name,则action的结果将用于输出

task两种格式:
(1) action: module arguments
(2) module: arguments 建议使用

注意:shell和command模块后面跟命令,而非key=value

范例:

---
- hosts: websrvsremote_user: roottasks:- name: install httpdyum: name=httpd - name: start httpdservice: name=httpd state=started enabled=yes
其它组件

某任务的状态在运行后为changed时,可通过“notify”通知给相应的handlers
任务可以通过"tags“打标签,可在ansible-playbook命令上使用-t指定进行调用

ShellScripts VS Playbook 案例
#SHELL脚本实现
#!/bin/bash
# 安装Apache
yum install --quiet -y httpd
# 复制配置文件
cp /tmp/httpd.conf /etc/httpd/conf/httpd.conf
cp/tmp/vhosts.conf /etc/httpd/conf.d/
# 启动Apache,并设置开机启动
systemctl enable --now httpd #Playbook实现
---
- hosts: websrvsremote_user: roottasks:- name: "安装Apache"yum: name=httpd- name: "复制配置文件"copy: src=/tmp/httpd.conf dest=/etc/httpd/conf/- name: "复制配置文件"copy: src=/tmp/vhosts.conf dest=/etc/httpd/conf.d/- name: "启动Apache,并设置开机启动"service: name=httpd state=started enabled=yes

本文链接:http://www.yunweipai.com/34656.html

Ansible Playbook核心元素以及组件相关推荐

  1. playbook核心元素之 -- 角色role(9)

    playbook核心元素之 --> 角色role 角色: 以特定的层级目录结构进行组织的tasks.variables.handlers.templates.files等: role_name/ ...

  2. playbook核心元素之 模板template 介绍(7)

    playbook核心元素之 --> 模板template 介绍 templates:文件文件,内部嵌套有模板语言脚本(使用模板语言编写) [root@ansible ~]# ansible-do ...

  3. 自动化运维工具-----Ansible playbook详解

    目录 一.Ansible playbook简介 二.Ansible playbook使用场景 三.Ansible playbook格式 格式简介 核心元素 基本组件 variables变量 模板tem ...

  4. Ansible 学习总结(2)—— Ansible playbook 入门详解

    一.Ansible playbook 简单概述 playbook 是 ansible 用于配置,部署,和管理被控节点的剧本.通过 playbook 的详细描述,执行其中的一系列 tasks ,可以让远 ...

  5. Ansible playbook

    一.Ansible playbook 简介和使用场景 1.简介 playbook 是 ansible 用于配置,部署,和管理被控节点的剧本. 通过 playbook 的详细描述,执行其中的一系列 ta ...

  6. Ansible playbook 详解

    一.playbook流程介绍 playbook是由一个或者多个"play"组成的列表 play的主要功能在于将事先归并为一组的主机装扮成事先通过ansible中的task定义好的角 ...

  7. ansible——playbook剧本的讲解与应用

    目录 一.playbook  概述 1.1  playbook  介绍 1.2  Ansible playbook 使用场景 1.3 yaml基本语法规则 1.4 yaml支持的数据结构 1.3  示 ...

  8. 学习 UML 核心元素

    按照描述事物的三种观点:结构(事物的客观存在).功能(事物可利用的价值).使用(对于使用者的意义)来描述<thinking in UML>中的核心元素. 1.版型: 结构:UML中的最基本 ...

  9. ansible playbook详细教程(笔记)

    ctrl F  执行playbook命令   ansible ­playbook -­i "inventory文件名" playbook.yml ­f 10 (并行级别10) 加参 ...

最新文章

  1. 解决阿里云无法正常使用samba的问题【转】
  2. ssm上传文件获取路径_SSM文件上传
  3. iptables 定义规则
  4. debuggap 调试html,DebugGap-官方版-DebugGap(移动端调试工具)4.2.2-独木成林
  5. SQLite 创建表(http://www.w3cschool.cc/sqlite/sqlite-create-table.html)
  6. DIV层+CSS实现锁屏
  7. PHP常量PHP_SAPI与函数php_sapi_name()简介,PHP运行环境检测
  8. 用户画像_什么是“用户画像”?如何利用用户画像进行精准营销?
  9. 使用Python发送电子邮件
  10. 一键回到页面顶部_微信上线新功能!长期不看的公众号,帮你一键拒收
  11. ASP.NET的CreateUserWizard
  12. php云标签,php 创建标签云的代码示例
  13. 【原创】Mapped Statements collection does not contain value for DaoImpl.method
  14. ESP32-SPI接口bl0942驱动
  15. Python学习笔记(5)-集成开发环境IDLE的使用与调试
  16. linux下flock函数,flock()函数 Unix/Linux
  17. mysql ping命令_Ping命令详解
  18. 转:网络带宽测量工具之iperf
  19. 13、DA数模转换(PWM输出)
  20. 好气色“吃”出来 7条守则缔造美肌—多喝水、喝对水

热门文章

  1. find与grep命令简介及正则表达式(转)
  2. html游戏禁止微信浏览器下拉,如何用电脑模拟微信浏览器浏览禁止PC打开的微网站...
  3. 的计时器设置_【教程】PPT课件中常见的计时器效果(2)——沙漏式计时器 | 源文件提供下载...
  4. PyQt5 笔记6 -- 对话框(QDialog)
  5. 第四范式获2021德国红点设计奖,继iF奖后再获设计界最高奖项
  6. 如何成为一名合格的推荐系统工程师?
  7. 【NLP】Transformer模型深度解读
  8. BERT源码分析(PART II)
  9. CVPR2019最全整理:全部论文下载,Github源码汇总、直播视频、论文解读等
  10. Scrapy介绍及入门