ansible学习笔记5-playbooks之handlers

Handlers 在发生改变时执行的操作

module具有幂等性,所以当远端系统被人改动时,可以重放playbooks达到恢复的

目的。playbooks本身可以识别这种改动,并且有一个基本的event system,可以

响应这种改动

notify actions会在playbook的每一个task结束时被触发,而且即使有多个不同

的task通知改动的发生,notify actions只会被触发一次

举例来说,比如多个resources指出因为一个配置文件被改动,所以apache需要重

新启动,但是重新启动的操作只会被执行一次

这里有一个例子,当一个文件的内容被改动时,重启两个services

- name: template configuration file

template: src=template.j2 dest=/etc/foo.conf

notify:

- restart memcached

- restart apache

notify下列出的即是handlers

handlers也是一些task的列表,通过名字来引用,它们和一般的task并没有什么

区别。handlers是由通知者进行notify,如果没有被notify,handlers不会执行

不管多少个通知者进行了notify,等到play中的所有task执行完成之后

handlers也不会被执行一次

这里是一个handlers的示例

handlers:

- name: restart memcached

service: name=memcached state=restarted

- name: restart apache

service: name=apache state=restarted

Handlers最佳的应用场景是用来重启服务,或者触发系统重启操作,除此以外很

少用到了

时间: 2024-08-28 09:08:00

ansible学习笔记5-playbooks之handlers的相关文章

运维自动化工具ansible学习笔记

利用五一假期的时间学习了下ansible,看了一天的官方文档,对其中需要注意的地方,做下笔记整理下思绪. 一.简介 Ansible是与puppet.saltstack类似的集群管理工具,其优点是仅需要ssh和Python即可使用,而不像puppet.saltstack那样都需要客户端.puppet与saltstack这2个软件都需要安装客户端,而saltstack与ansible很相似,都是属于python流的,但saltstack不是很稳定:puppet虽然稳定,但命令执行的时候,需要配置模块

ansible学习笔记9-playbooks之include

task include files 在不同tasks之间plays和playbooks可以重复调用.include files可以达成目的 系统通过使用include task来完美实现role定义,记住,playbook中的play最终 目的是映射系统群到多个roles中 cat tasks/foo.yml --- # possibly saved as tasks/foo.yml - name: placeholder foo command: /bin/foo - name: place

ansible学习笔记(一)

最近在学习使用ansible,为了未来的大规模部署应用做准备,这东西比我之前用过的puppet,saltstack都简便一点,没有client端,也不需要额外配置,基本上手技能用,据说在国外的热门程度目前也超过saltstack了. 下面就开始零星的记录吧. 确保服务在running状态 tasks:   - name: make sure apache is running     service: name=httpd state=running 写web server的vhost配置文件可

ansible 学习笔记(上)

运维工具 当前常见的运维工具(Configuration)有以下一种puppret(ruby)saltstack(python)chefcfengine.... Command and Control; fabricfunc 程序发布: 手动发布 脚本发布 发布程序(运维程序) 程序发布要求:1.不能影响用户体验:2.系统不能停机:3.不能导致系统故障或造成系统完全不可用: 灰度发布模型(考虑以下两种维度):1.主机:2.用户: 发布思路: /webapps/tuangou /webapps/t

ansible学习笔记

一.ansible的基本简介: ansible式什么? Ansible 是一个适用于成百上千规模的受控节点的配置管理.应用程序部署.内部服务编排等诸多功能于一身的极为简单的IT运维自动化工具引擎,基于Python开 发.她无需代理,很容易部署,除SSH外没有其他安全基础设施/配置要求.她使用了一个非常简单的语言(YAML),让你可以编写自己的自动化作业脚本. ansible式怎样工作的? Ansible连接到受控机,并推送一个称为"Modules"的应用程序到受控机上,Ansible然

我的Ansible学习笔记

Ansible常见错误 http://afewbug.com/article/26官方文档 http://docs.ansible.com/ansible/安装配置 http://sofar.blog.51cto.com/353572/1579894 目录一.介绍二.yum安装三.Ansible配置四.模块五.playbook六.实战演练--用Ansible实现LANMP的安装 注意:以下实验环境均为关闭selinux和清空防火墙配置,需要把/etc/my.cnf 改为/etc/my.cnf.b

ansible学习笔记1-Inventory文件

Inventory文件 Ansible可同时操作属于一个组的多台主机.组合主机之间的关系通过inventory文件配置,默认的文件路径为/etc/ansible/hosts 除了默认文件外,你还可以同时使用多个inventory文件,也可以从动态源或云上拉取inventory配置信息 ------------------------------------------------------------------------ 主机与组 /etc/ansible/hosts文件的格式与windo

Ansible 学习笔记

最近因为需要管理很多台机器,而这些机器又需要频繁重新安装,实在受不了Puppet需要在每个客户机上都安装一遍,于是转头开始学些Ansible.根据这段时间的使用,这个确实是神器,唯一的感觉就是相见恨晚. 下面纪录一下最近的学习心得. Ansible是基于单客户端,多服务器端的模式.这可能是和Puppet等基于单服务器端,多客户端的最大不同. Ansible是用Python编写的,易于扩展,便于调试 下面以最常见的需要客户端和所有服务器建立ssh信任关系为例,看看ansible多么简单.首先建立h

ansible学习笔记(二):ansible for CentOS6安装

### 最近有点儿时间了,再继续学习Asible,本节尝试使用pip安装ansible for CentOS6.5,其中OS是最小化安装. 2.2 Installing ansible on CentOS 6.5 2.2.1 pip安装Ansible ###(1) 准备环境: # python -V       # 版本:Python 2.6.6 # yum install gcc gcc-c++ # yum install git -y # yum install python-devel p