文档章节

ansible playbook

eddy_linux
 eddy_linux
发布于 2015/11/21 13:49
字数 443
阅读 152
收藏 2
点赞 0
评论 0
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


© 著作权归作者所有

共有 人打赏支持
eddy_linux
粉丝 18
博文 135
码字总数 188789
作品 0
成都
程序员
脚本中实现Ansible的playbook的方法

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

HelloEric ⋅ 2015/09/21 ⋅ 0

ansible在playbook中变量传入到执行脚本的方法

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

HelloEric ⋅ 2015/10/21 ⋅ 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

ansible playbook 详解

上篇文章介绍了 ansible 的安装配置及实例:http://msiyuetian.blog.51cto.com/8637744/1748143 下面这篇文章主要介绍 ansible 的 playbook 详解,playbook 就是相当于把模块或函数写入到配置...

技术小胖子 ⋅ 2017/11/17 ⋅ 0

Ansible_变量定义与引用

Ansible_变量定义与引用 Ansible变量定义与引用 inventory定义主机及主机组(自定义变量) $ cat hostslocalhost ansiblesshhost=192.168.38.104 key=104client105 ansiblesshhost=192.168.38......

乱世浮尘 ⋅ 2017/12/11 ⋅ 0

ansible内置模块

[root@mysql_2 ~]# ansible-doc -lacl Sets and retrieves file ACL information. add_host add a host (and alternatively a group) to the ansible-playboairbrake_deployment Notify airb......

jk409 ⋅ 2014/08/08 ⋅ 2

运维自动化之ansible--(playbook模式)

运维自动化之ansible--(playbook模式) 一、Ansible Playbook简介 playbook是ansible用于配置,部署,和管理被控节点的剧本。 通过playbook的详细描述,执行其中的一系列tasks,可以让远端主机...

lc01081314 ⋅ 2017/12/07 ⋅ 0

关于ansible2.0版本的ansible-playbook方法的调用

前提 管理机与客户端通过同一用户,采用ssh-key登陆 代码简介 playbook:传入playbook的文件地址 hosts:传入的匹配的主机名字 playbook的demo例子...

HelloEric ⋅ 2016/06/14 ⋅ 0

Ansible基于服务树进行分组全量接口调用

Ansible APi 说明 Info > ansible2.0更贴近于ansible cli的常用命令执行方式,不同于上一版本只能发送单个命令或playbook;而更推荐用户在调用ansibleAPI的时候,将playbook的每个task拆分出...

煮酒品茶 ⋅ 2017/12/25 ⋅ 0

ansible 初体验

使用命令生成秘钥(机器互信) [root@ansible ~]# ssh-keygen 将公钥发送到所有安装 客户端的主机 [root@ansible ~]# ssh-copy-id 192.168.163.170 [root@ansible ~]# ssh-copy-id 192.168....

一条特立独行的贪吃蛇 ⋅ 01/06 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

HiSDP —— 高效的C++软件开发平台

目前阿里集团每天有近1000PB的数据是通过LogAgent采集的,为了让LogAgent做到资源占用节省和高效采集,背后是基于HiSDP去构建的。 缘由 当决定采用C++编程语言去开发一个软件时,紧接着所面临...

阿里云云栖社区 ⋅ 22分钟前 ⋅ 0

zookeeper-3.4.12 下载与安装教程

一、zookeeper下载地址 http://mirrors.hust.edu.cn/apache/zookeeper/ 二、启动教程 把压缩包放在指定目录下 第三: 进入 conf文件夹底下 zoo_sample.cfg 文件名改成 zoo.cfg 第四步: 进入b...

泉天下 ⋅ 23分钟前 ⋅ 0

Oracle 中文日期转换

SELECT TO_date('2011年11月11日', 'yy"年"mm"月"dd"日"') FROM DUAL; 1. Oracle无法识别中文格式,所以添加双引号。 2. 后面的格式是指字符串在转换前的格式,而不是指转换后的格式。...

江戸川 ⋅ 25分钟前 ⋅ 0

MySell:API Spring Boot

起步 类目 商品 订单

BeanHo ⋅ 27分钟前 ⋅ 0

Spring方法拦截器MethodInterceptor

参考资料 1、Spring方法拦截器MethodInterceptor 2、Sharding JDBC源码分析-JdbcMethodInvocation类的作用

哎小艾 ⋅ 30分钟前 ⋅ 0

正则表达式

元字符 元字符,又叫字符集,就是用一些特殊符号表示特定种类的字符或位置。 匹配字符 . 匹配除换行符以外的任意字符 \w 匹配字母或数字或下划线或汉字 \s 匹配任意的空白符 \d 匹配数字 匹配...

wangchen1999 ⋅ 30分钟前 ⋅ 0

数据库数据导入Elasticsearch案例分享

基于bboss持久层和bboss elasticsearch客户端实现数据库数据导入es案例分享(支持各种数据库和各种es版本) 1.案例对应的源码 https://gitee.com/bboss/bboss-elastic/blob/master/bboss-el...

bboss ⋅ 31分钟前 ⋅ 0

动手---sbt(2)

参考 https://blog.csdn.net/leishangwen/article/details/46225587 建立一个chisel_max目录,文件内容如后面所述,现在开始执行命令: joe@joe-Aspire-Z3730:/media/sdb4/download/scala$ c......

whoisliang ⋅ 38分钟前 ⋅ 0

纯js实现最简单的文件上传(后台使用MultipartFile)

<!DOCTYPE html><html><head> <meta charset="UTF-8"> <title>XMLHttpRequest上传文件</title> <script type="text/javascript"> //图片上传 var xhr......

孟飞阳 ⋅ 43分钟前 ⋅ 0

iOS宇宙大战游戏、调试工具、各种动画、AR相册、相机图片编辑等源码

iOS精选源码 日期时间选择器,swift Space Battle 宇宙大战 SpriteKit游戏源码 LLDebugTool - 便捷的IOS调试工具(新增截屏功能) 相机扫描or长按识别二维码、FMDB、键盘动态高度、定位等 动画...

sunnyaigd ⋅ 44分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部