Ansible系列(5): Playbook

写在playbook之前

经过前2个模块的锻炼,我相信只要会使用shell的人都发现ansible强大之处了。

这里要引入真正强大的地方–playbook。让你摆脱执行shell的困境。

Playbook定义

Playbook的定义,用中文我很难准确的说明它的意思。还是引用官方的吧:

Playbooks are Ansible’s configuration, deployment, and orchestration language. They can describe a policy you want your remote systems to enforce, or a set of steps in a general IT process.

大概意思就是说,playbook是集ansible的配置管理、部署动作执行、编排能力于一身的语言文本。它用来编排并执行你想远程节点执行的常规步骤、流程。很拗口,大概大家明白意思就行了。

另外有个简单点的说法,也是来自官方:

If Ansible modules are the tools in your workshop, playbooks are your design plans.

意思就是ansible模块是你工作的伙伴,那么Playbook就是你工作计划。
一个负责执行,一个负责计划,Nice。

一个简单的playbook

一个简单的playbook应该如下:

---    <---playbook的开头
- hosts: webservers   <--- 声明这个Playbook运行在哪个节点群组
  vars:   <--- 声明 变量
    http_port: 80  <--- 变量http_port 值为80
    max_clients: 200
  remote_user: root  <---声明远程执行的用户为root
  tasks:  <---声明远程执行的任务
  - name: ensure apache is at the latest version <---ansible name模块,用于当文字说明
    yum: pkg=httpd state=latest <---ansible yum模块,以后会讲到
  - name: write the apache config file
    template: src=/srv/httpd.j2 dest=/etc/httpd.conf <---ansible template模块,以后会讲到
    notify:   <---ansible handler用法以后会讲到
    - restart apache
  - name: ensure apache is running (and enable it at boot)
    service: name=httpd state=started enabled=yes <---ansible service模块,以后会讲到
  handlers: <---ansible handler用法以后会讲到
    - name: restart apache
      service: name=httpd state=restarted

上面这个playbook干了什么事,讲解下task部分,可能熟悉Linux的人也能猜个78成:
1. 使用yum安装了最新版apache
2. 将httpd.conf配置文件从ansible执行节点的/srv/httpd.j2覆盖到了/etc/httpd.conf
3. 调用Handler重启apache
4. 调用service确认apache已经重启过并且设置为开机就启动apache
5. 定义handler

上面这么多事,如果用传统的shell来执行会很麻烦,有多麻烦,玩过shell的都明白。
能明白点它事做啥的了吧?

它的格式是YAML语法,可以下来自己看看,很简单的东西。

再次声明

从本章后的新模块,将采取playbook中的调用方法做介绍。不再用ansible来做案例了。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值