Ansible 小手册系列 九(Playbook)

playbook是由一个或多个"play"组成的列表。play的主要功能在于将事先归并为一组的主机装扮成事先通过ansible中的task定义好的角色。从根本上来讲所谓task无非是调用ansible的一个module。将多个play组织在一个playbook中即可以让它们联同起来按事先编排的机制同唱一台大戏。

其主要有以下四部分构成:

  • Target section: 定义将要执行 playbook 的远程主机组
  • Variable section: 定义 playbook 运行时需要使用的变量
  • Task section: 定义将要在远程主机上执行的任务列表
  • Handler section: 定义 task 执行完成以后需要调用的任务

** 开始书写我们第一个playbook**

第一步:定义我们的主机清单


[web]
192.168.77.129 ansible_ssh_pass=123456
192.168.77.130 ansible_ssh_pass=1234567

注:这里如果做了ssh免密码登陆,可以去掉

第二步:明确playbook做哪些任务


web组的主机完成下列任务

  1. 远程执行用户为root
  2. 安装httpd
  3. apache配置文件实现自定义http端口和客户端连接数
  4. 启动httpd,并设置其开机自启动

第三步:书写playbook


---
#httpd.yml
- hosts: web
  vars:
    http_port: 80
    max_clients: 200
  remote_user: root
  tasks:
  - name: ensure apache is at the latest version
    yum: name=httpd state=latest
  - name: write the apache config file
    template: src=/etc/ansible/httpd.conf.j2 dest=/etc/httpd/conf/httpd.conf backup=yes
    notify:
    - restart apache
  - name: ensure apache is running (and enable it at boot)
    service: name=httpd state=started enabled=yes
  handlers:
    - name: restart apache
      service: name=httpd state=restarted

第四步:运行playbok


ansible-playbook -i hosts test.yml

输出结果

Paste_Image.png

** 在执行playbook前,可以做些检查**

  1. 检查palybook语法
ansible-playbook -i hosts httpd.yml --syntax-check
  1. 列出要执行的主机
ansible-playbook -i hosts httpd.yml --list-hosts
  1. 列出要执行的任务
ansible-playbook -i hosts httpd.yml --list-tasks

更多文章请看 Ansible 专题文章总览

推荐阅读更多精彩内容

  • 作为背锅侠运维工作的基本流程 运维工具的分类 : ansible的模块化: ansible密钥登陆 ansible...
    二郎5阅读 3,770评论 0 10
  • ansible-playbook playbook简介 playbook是ansible用于配置,部署,和管理被控...
    bdslinux阅读 9,827评论 1 12
  • ###### Ansible总结 ##### 运维工作: 系统安装(物理机、虚拟机)-->程序包安装、配置、服务启...
    二郎5阅读 1,752评论 0 4
  • 1. Playbook简介 像很多其它配置文件管理方法一样,Ansible使用一种比较直白的方法来描述自己的任务配...
    Cancellala阅读 31,098评论 4 59
  • 一.ansible (1) ansible: ansible是一款新出现的自动化运维系统,基于python开发并集...
    楠人帮阅读 1,707评论 0 8
  • 如果生命是浩浩荡荡的大江大河,我愿是青山石涧间的一眼泉水。如果人生是慷慨激昂的进行曲,我愿是陈旧木缝间跳动地黑白双...
    02c95a48d438阅读 164评论 0 0
  • 班里有一个叫李政扬的小男生,大概十一二岁,胖嘟嘟的,不戴眼镜时,那双小眼睛眯缝着,整天一幅睡不醒的样子。 他的学习...
    我是慕一阅读 219评论 6 8
  • 你在秦岭南麓 ,能否看到秦岭以北风景。夏日,阳光大好,阴雨连绵,诠释着所有的绿。耕耘,城市太闹,小镇祥和,如...
    大写一阅读 123评论 1 1
  • A宿友生病回家了,我帮忙找辅导员拿请假条,拿完请假条临近上课了,我也没吃东西,就拜托B宿友在请假条上写上A宿友的个...
    余梓韩阅读 328评论 0 0