ansible

Ansible 实现原理(源码分析)

这篇文章 gtt 憋了非常久,一直没有时间坐下来好好整理思路,看了下草稿保存时间是2016年2月17日,尼玛都快过了一年了,这可不行,自己挖的坑含泪也要跳,争取在17日之前完工,不能留下人生遗憾。本文分析的是 ansible 1.x 版本的实现原理,2.0 中批量执行的核心逻辑是一样的,可以类推。

使用方法回顾

先回顾下 ansible 的使用场景,从使用场景出发 gtt 将剖析 ansible 里的黑魔法到底是个啥。… 查看详细

Ansible 新增内置变量:ansible_check_mode’

在 Ansible 2.1 版本中,新增了内置变量,补丁内容请点击我ansible_check_mode,可以通过这个变量控制 playbook 的执行,比如在 check 模式下跳过某些 task:

tasks:

  - name: this task will be skipped in check mode
    git: repo=ssh://git@github.com/mylogin/hello.git dest=/home/mylogin/hello
    when: not ansible_check_mode

在此之前,没有官方的方法判断当前是否在 check 模式下运行,只能通过一种非常 hack 的方法,比如:

hosts: ...
tasks:
  - command: /bin/true
    register:
查看详细
Ansible v2 新功能

Ansible v2 新功能

Ansible V2 终于在 2016-1-12 发布了,这个版本的代号是:Over the Hills and Far Away,来自英国摇滚乐队Led Zeppelin。在 V1.9 版本之前是乐队 Van Halen 的歌曲作为代号。(外国人真会玩,第一次见到这么长,这么奇怪的代号)。

为啥要重构?
Ansible 团队认为这个项目已经发展了 3 年多,欠下了很多技术债。
比如,以前的设计已经被各种各样的扩展搞的牵一发而动全身了,每次新增加功能和修复 bug 都特别困难。… 查看详细

配置管理如何选择:Ansible or Puppet ?

配置管理如何选择:Ansible or Puppet ?

现在你需要一个配置管理软件了,开源界有一堆牛逼的配置管理,我们用哪个?puppet or ansible?

哪个最好?

存在即是合理,起码是存在3年以上的;没有最好的,只有合适的,你说白菜和青菜哪个最好?

一般来说,有两种配置管理:
1. 推模式
2. 拉模式

两种模式有不同的擅长点,有不同的使用场景。

拉模式 (puppet)

这种模式主张去中心化的设计思路,典型代表 puppet。一般实现多为在每个节点上部署… 查看详细

Ansible adhoc command

Ansible is the simplest way to automate apps and IT infrastructure. Application Deployment + Configuration Management + Continuous Delivery.

Ansible 既可以批量操作机器,同时还能作为配置管理工具(类似puppet),还能做持续部署。本文主要介绍 Ansible 在批量操作机器上的能力。

在使用前把所有节点 IP 地址写入一个文件 hosts.ini

[ci]
10.180.0.72
10.180.0.73
10.180.0.24
10.180.0.25

查看内存

$ ansible -i hosts.ini ci -a "free -m"

10.180.0.25 | success | rc=0 >>
             total       used       free
查看详细