分类目录:Ansible 入门

以下是分类 Ansible 入门 下的所有文章

通过crontab来执行ansible-playbook 自动加载ssh-key的问题

有时候我们的ansible-playbook我们希望定时执行以确保线上环境的状态,例如,每天定时执行一次,保证nginx的配置文件是最新的 这个时候,我们就要面临一个问题,如何让ansible-playbook使用指定 的key来执行,例如

ansible是无法自动加载.s……

ansible set_fact loop 仅保留最后一个值的问题

ansible 中set_fact 支持循环,with_items,但是变量并不是append 例如:第一个set_fact部分用的是with_items,但是,我们打印的结果中只有最后一次循环中的赋值

  但是如果我们使用第二个task ,就可以在输出结果中打印……

ansible filter (编写你自己的ansible filter)

有时候我们写自己的playbook的时候变量处理真的是特别让人头大,有些变量的操作在python中就很简单,但是放到ansible playbook中就会很麻烦,所以,我们今天来看一下如何编写自己的ansible filter来帮助我们处理一下变量 直接看例子吧:

我们来分……

ansible 邮件通知

有事后,我们可能想通过邮件来接收一些通知,例如: 我们每隔3个小时会自动跑一遍Playbook来确保HTTP处于运行状态,如果HTTP不处于运行状态,我们希望ansible帮我启动它,并发邮件通知我(这不是ansible的常规用法,非战斗人员请紧急撤离,一般这种监控都是分钟级别的,不可能存在HTTP挂了30分钟的情况) 这个时候我们如果想……

ansible playbook 常用filter selectattr

随着ansilbe playbook 用的越来越多,我们也开始接触许多高级filter 例如selectattr 举个例子:

如果我们执行如下的task

首先,我们定义的users会被传递给selectatt……

zabbix容器监控基础篇 ansible-playbook cronjob

我们的日常监控,除了zabbix自带的,就是我们自定义的脚本了,脚本每隔10分钟或者1个小时检查一次,并将检查的结果反馈给zabbix, zabbix再通过短信,邮件,微信,pagerduty将报警信息发送到我们SRE人员手中,其中重要一种实现方式就是使用cronjob 如何部署呢?通过playbook 看几个例子: [crayon-5e……

ansible-playbook 里的判断与循环

ansible-playbook我们经常用到template,也就是平时j2文件,我们很多时候都需要通过判断输出一些东西例如:  

还有for循环:

 

ansible-playbook shell模块 转义大括号 {{}} 单引号

今天发现要在shell命令中使用大括号{{}} 刚开始的playbook如下:

发现有两个问题,单引号需要转义,大括号需要转义 ansible 的shell模块中对于单引号的转义很简单”,两个连续的单引号就可以了 但是对于大括号则需要:{{ ‘{{&……

ansible register 无视when 条件执行

先来看一段ansible代码:

正常来说,我们认为会输出结果会是’real_name’,因为第一个任务因为when的条件判断并没有执行 但是,结果是什么呢?

并没有,难道是skip了?……

ansible-playbook failed_when 和changed_when

ansible-playbook 有个一个failed_when,这个是什么时候会用到呢? 先看一个例子:

这个例子中,command 命令明显就会返回一个false , 这个时候ansible-playbook就知道这个task failed,但是,有些时候,我们是需要通……