文档章节

ansible playbook

eddy_linux
 eddy_linux
发布于 2015/11/21 13:49
字数 443
阅读 152
收藏 2
playbooks是ansible管理配置、部署应用和编排的语言
可以使用playbooks来描述你想在远程主机执行的策略或一组步凑过程
ansible模块是工具,playbooks是方案
playbooks采用ymal语法结构
http://docs.ansible.com/ansible/YAMLSyntax.html

playbooks组成
Target section
  定义将要执行playbooks的远程主机组
Variable section
  定义playbooks运行时需要使用的变量
Task section
  定义将要在远程主机上执行的任务列表
Handler section
  定义task执行完成后需要调用的任务
例子:
---
- hosts:eddy
  vars:
    http_port:80
    max_clients:200
  remote_user:root
  tasks:
  - name:ensure apache is at the last version
     yum:pkg=httpd state=latest
  - name:write the apache config file
     template:src=/srv/httpd.j2 dest=/etc/httd.conf
     notify:
     - restart apache
  - name:ensure apache is running
    service:name=httpd state=started
  handlers:
    - name:restart apache
      service:name=httpd state=restarted

主机和用户
  在playbooks中的每一个play都可以在那些机器、以什么身份完成,hosts一行可以是一个主机组或主机也是可以是多个的,中间以冒号分割,remote_user表示执行的用户
  ---
  - hosts:eddy

  ---
  - hosts:eddy:127.0.0.1

执行shell
  ---
  - hosts: eddy:127.0.0.1
    remote_user: root
    tasks:
    - name: check uptime
      shell: /usr/bin/uptime
执行cp
---
- hosts: all
  remote_user: root
  tasks:
  - name: check uptime
    copy: src=/etc/hosts dest=/tmp/hosts owner=root group=root mode=0644
可以每一任务定义一个用户
    ---
    - hosts: eddy:127.0.0.1
      remote_user: root
      tasks:
      - name: check uptime
        remote_user:ansible
        sudo:yes
        shell: /usr/bin/uptime
handlers 用于关注的资源发生变化时采取一定的操作
notify这个action可以用在每个play的最后被触发,这样可以避免多改变发生时每次都执行的操作
notify列出的操作称为handler
- name template configuration file
  template: src=template.j2 dest=/etc/foo.conf
  notify:
    - restart memcached#引用handlers中定义的名称
    - restart apache
handlers:
  - name restart memcached
    service:name=memcached state=restarted
  - name restart apache
    service:name=apache state=restarted


© 著作权归作者所有

共有 人打赏支持
下一篇: saltstack SLS
eddy_linux
粉丝 19
博文 135
码字总数 188789
作品 0
成都
程序员
私信 提问
脚本中实现Ansible的playbook的方法

脚本说明 project -- 操作的项目输入 playbook -- 远程服务器执行的规则定义 脚本

HelloEric
2015/09/21
221
0
ansible在playbook中变量传入到执行脚本的方法

简介 这个方式用于ansible调用playbook方法实现远程服务器执行某个脚本,脚本中的某些参数需要由管理服务器传入的情况。 下面的例子是ansible实际调用script模块实现远程服务器执行一个shell...

HelloEric
2015/10/21
3.1K
0
自动化运维工具 Ansible

学习Ansible的系列文章 Ansible 介绍 Ansible 架构 Ansible 安装 Ansible 配置文件及参数 Ansible 常用模块 Ansible playbook 1. Ansible 介绍 Ansible 是一个配置管理和应用部署工具,只需要...

行者阿难
10/07
0
0
Ansible-playbook 拾遗

ansible-playbook 和handles 一起使用 ---- hosts: webuser: roottasks:- name: ensure nginx is at the latest versionyum: name=nginx state=latest- name: Copy nginx.confcopy: src="/r......

水滴石川1
01/09
0
0
03-Ansible管理命令_Ansible

一、Ansible 管理命令 Ansible 管理命令有如下几个: (1)ansible:这个命令是日常工作中使用率非常高的命令之一,主要用于临时一次性操作; (2)ansible-doc:Ansible 模块文档说明,针对...

xiaomin0322
09/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Alibaba Java诊断利器Arthas实践--使用redefine排查应用奇怪的日志来源

背景 随着应用越来越复杂,依赖越来越多,日志系统越来越混乱,有时会出现一些奇怪的日志,比如: [] [] [] No credential found 那么怎样排查这些奇怪的日志从哪里打印出来的呢?因为搞不清...

hengyunabc
今天
1
0
home hosts

home hosts lwk@qwfys:~$ cat /etc/hosts127.0.0.1 localhost127.0.1.1 qwfys192.168.56.101vm600.qwfys.com39.108.212.91alpha1.ppy.com39.108.117.122alpha2.p......

qwfys
今天
1
0
大数据教程(6.1)hadoop生态圈介绍及就业前景

1. HADOOP背景介绍 1.1、什么是HADOOP 1.HADOOP是apache旗下的一套开源软件平台 2.HADOOP提供的功能:利用服务器集群,根据用户的自定义业务逻辑,对海量数据进行分布式处理 3.HADOOP的核心组...

em_aaron
今天
4
0
hadoop垃圾回收站

在生产生,hdfs回收站必须是开启的,一般设置为7天。 fs.trash.interval 为垃圾回收站保留时间,如果为0则禁用回收站功能。 fs.trash.checkpoint.interval 回收站检查点时间,一般设置为小于...

hnairdb
昨天
3
0
腾讯与Github的魔幻会面背后的故事…

10月22日,腾讯开源管理办公室有幸邀请到Github新晋CEO Nat Friedman,前来鹅厂参观交流。目前腾讯已经有近70个项目在Github上开源,共获得17w stars,世界排名11位。Github是腾讯开源的主阵...

腾讯开源
昨天
19
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部