Ansible(二):Ansible之剧本(Playbooks)

1、剧本(Playbooks)简介

剧本是Ansible的配置、部署语言,由它对描述你想要远程机器执行的策略或步骤。
使用剧本不仅可以简单的对远程机器进行管理,还有很多更强大的功能 。

2、关于YAML

每一个Ansible剧本都是一个YAML格式的文件,有一些简单的YAML语法需要先了解一下

  • 所有的YAML文件都是由—开始由…结束
  • 所有的列表中的每一项都是由一个“-”开头 例如
  • 字典(或者叫做MAP)表示一系列键值对
---
# 一个表示水果品种记录(列表)
fruits: 
 - Apple
 - Orange
 - Strawberry
 - Mango
# 一个雇员记录(字典)
martin: 
   name: Martin D'vloper
   job: Developer
   skill: Elite

# 一个更加复杂的YAML配置,包含了列表和字典
workers:
 - martin:
    name: Martin D'vloper
    job: Developer
    skills:
      - python
      - perl
      - pascal
 - tabitha:
    name: Tabitha Bitumen
    job: Developer
    skills:
      - lisp
      - fortran
      - erlang
...

上述YAML文件描述一个水果列表需要注意两点
第一:每个”:” 和”-“后边需要跟一个空格
第二:注意其层次缩进
(以上内容为Ansible中经常用到的,还有更多关于YAML的用法大家可以查看文档http://docs.ansible.com/ansible/YAMLSyntax.html,此处不再赘述)

3、一个简单的Ansible剧本

执行

$vi ping.yml

内容如下

---
- hosts: all
  tasks: 
     - name: test connection
       ping: 
...

执行

$ansible-playbook ping.yml

运行结果(我本地运行结果)
这里写图片描述

4、Ansible模块

Ansible 有很多模块,我们经常用到的比如shell、command、copy等,好在Ansible给我们提供了丰常详细丰富的使用文档
http://docs.ansible.com/ansible/list_of_all_modules.html
大家可以在需要的时候查看其使用方法即可,非常简单方便
例如下面这个剧本是执行远程机器特定脚本的一个剧本

---
- hosts: all
  remote_user: root
  tasks:
    - name: start disspider master server
      shell: nohup ./start.sh
      args:
        chdir: /opt/disspidermaster-20161114/bin
...

关于shell的介绍http://docs.ansible.com/ansible/shell_module.html

注意上述代码中的 nohup 这是为了当ssh链接断开后相应的程序仍然执行,防止ansible的ssh链接断开后其启动的程序也跟着中止

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

iblks

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值