Ansible 1.9.0发布 来一起看看这个配置管理新贵
Ansible 1.9.0(版本代号是Dancing In the Street,Ansible每个主要版本代号都是VanHallen乐队的一首曲子)的主要变化是:
- Added kerberos support to winrm connection plugin.
- Tags rehaul: added 'all', 'always', 'untagged' and 'tagged' special tags and normalized tag resolution. Added tag information to --list-tasks and new --list-tags option.
- Privilege Escalation generalization, new 'Become' system and variables now will handle existing and new methods. Sudo and su have been kept for backwards compatibility. New methods pbrun and pfexec in 'alpha' state, planned adding 'runas' for winrm connection
plugin. - ……
更多详情可以参考这里。
配置管理也是一个选择多多的领域,维基百科里洋洋洒洒列了十几二十个,其中Puppet、Chef和Salt以及CFEngine、Vagrant和NixOS大家都已经耳熟能详了。不过后起之秀Ansible的人气更高,GitHub上Star居然超过1万,远远高于Puppet和Chef的三四千,Salt的4953,只有非直接竞争的Vagrant的8000多能望其项背。
在Ansible公司网站上,Twitter、Evernote、NASA、GoPro、Atlassian等知名企业都是他们的用户。
Ansible为什么这么火呢?我们从它的开始说起。
2012年2月,曾在Red Hat开发Cobbler和Func、又在Puppet工作过的Michael DeHaan看到了IT自动化领域的机会:Linux管理员不得不用好几类工具来应付不同的工作——配置管理是Puppet或Chef,部署时要用Fabric或Capistrano,还要Func或mCollective处理其他任务,总体上还是太复杂了。同时,多结点部署却没有工具处理得很好,而在云和大规模互联网基础设施里,这恰恰是最有意思的问题。
一天,DeHaan在自己的沙发上开始用Python开发一个新工具,他的目标是:极为易用,连他自己都很想用;任何人可以在几分钟之内学会并用起来,而且6个月不用,还能很容易地想起来。这就是Ansible。
由于DeHaan在运维圈已经很有名气,Ansible发布后很快流行起来。这期间,Fedora的Seth Vidal(yum作者,2013年7月车祸身亡)的采用和4月High Scalability文章的发表,都非常关键。
这之后,DeHaan还参与了OpenStack的开发,但在用Puppet自动化OpenStack的过程中不断撞墙。这时候,Ansible在GitHub上火起来了。很快他决定成立公司——AnsibleWorks。2013年8月公司获得600万投资。
Ansible只依赖SSH,无需在远程机器上安装代理,上手极为容易。Hacker News上有人称之为(shell scripting)++,很到位。
DeHaan后来这样总结Ansible的成功原因:
关键的想法是,开发一个好的自动化系统,能认识计算机是一组而不只是一个个分开的机器,也就是所谓“多层编排”。建模过程与建模状态同样重要。不按传统配置管理依赖定制代理架构的思路,避免了证书交换,以及反向解析DNS和NTP的问题。默认可插拔,人人都可以很容易地贡献,因此获得了广泛的参与和采用。保持简单(用YAML等),制定计划并坚持,然后乐观其成。
Ansible 1.9.0的版本代号是Dancing In the Street,Ansible每个主要版本代号都是Van Halen乐队的一首曲子。对了,DeHaan在今年1月已经离开Ansible公司也不再太多参与Ansible社区,而是加盟DataStax(Cassandra背后的公司)任工程经理了。他告别文章的标题Happy
Trails也是Van Halen的歌曲名。不过他在Hacker News上仍然活跃。
今天,在配置管理方面,Ansible和Salt是双星闪耀。那它们之间又该如何选择呢?
Hacker News上有很多相关讨论。其中两段比较说明问题:
Ansible要简单得多,本质上混合了声明式和命令式,在大型集群上性能可能差一些。Salt设置起来要重得多,有代理和服务器,有远程机器的元数据,而且很多术语和概念都是自己的一套。在小一些的环境(20-50台机器)里Ansible更合适。
SaltStack感觉功能更全、更强大。Ansible没有依赖图,有时候很难模块化。我自己是这么用的:Ansible启动Salt,然后让Salt干脏活累活。
小米运维博客有简明的介绍。
Ansible 1.9.0发布 来一起看看这个配置管理新贵的更多相关文章
- Visual Studio Code 1.0发布,支持中文在内9种语言
Visual Studio Code 1.0发布,支持中文在内的9种语言:Simplified Chinese, Traditional Chinese, French, German, Italia ...
- Apache Flume 1.7.0 发布,日志服务器
Apache Flume 1.7.0 发布了,Flume 是一个分布式.可靠和高可用的服务,用于收集.聚合以及移动大量日志数据,使用一个简单灵活的架构,就流数据模型.这是一个可靠.容错的服务. 本次更 ...
- Percona Server 5.6.33-79.0 发布
Percona Server 5.6.33-79.0 发布了,该版本基于 MySQL 5.6.33,包含了所有的 bug 修复,是Percona Server 5.6 系列中的正式版本.该版本主要是修 ...
- Rubinius 2.0 发布,Ruby 虚拟机
Rubinius 2.0 发布了,官方发行说明请看这里. Rubinius是一个运行Ruby程序的虚拟机,其带有Ruby的核心库. Rubinius的设计决定了其调试功能的强大,使得在运行时常规的Ru ...
- Restful.Data v2.0发布,谢谢你们的支持和鼓励
v1.0发布后,承蒙各位博友们的热心关注,也给我不少意见和建议,在此我真诚的感谢 @冰麟轻武 等朋友,你们的支持和鼓励,是这个开源项目最大的推动力. v2.0在除了细枝末节外,在功能上主要做了一下更新 ...
- 网页动物园2.0发布,经过几个月的努力,采用JAVA编写!
网页动物园2.0发布,经过几个月的努力,采用JAVA编写! 网页动物园2.0 正式发布!游戏发布 游戏名称: 网页动物园插件 游戏来源: 原创插件 适用版本: Discuz! X1.5 - X3.5 ...
- Redisson-Parent 2.5.0 和 3.0.0 发布
Redisson-Parent 2.5.0 和 3.0.0 发布了,Redisson 是基于 Redis 服务之上构建的分布式.可伸缩的 Java 数据结构,高级的 Redis 客户端. Rediss ...
- Rsync 3.1.0 发布,文件同步工具
文件同步工具Rsync 3.1.0发布.2013-09-29 上一个版本还是2011-09-23的3.0.9 过了2年多.Rsync基本是Linux上文件同步的标准了,也可以和inotify配合做实时 ...
- EasyCriteria 3.0 发布
EasyCriteria 3.0 发布了,这是一个全新的版本,进行了大量的重构.官方发行说明请看:http://uaihebert.com/?p=1898 EasyCriteria 是一个轻量级的框架 ...
随机推荐
- HDU - 4786 Fibonacci Tree (MST)
题意:给一张由白边和黑边构成的无向图,求是否存在一个生成树,使白边的数量为一个斐波那契数. 分析:白边权值为1,黑边权值为0.求出该图的最小生成树和最大生成树,若这两个值之间存在斐波那契数,则可以,若 ...
- DOM—节点
节点的相关属性 1.nodeType:节点类型.返回的是一个数字,这个数字代表节点类型,只读. 节点类型: 1 — 元素类型:元素节点(标签) 节点类型: 2 — 元素类型:属性节点 节点类型: 3 ...
- ASP.NET MVC5 视图相关学习
MVC Razor模板引擎中3个重要的方法:@RenderBody.@RenderPage.@RenderSection 1.@RenderBody 在Razor引擎中布局页面类似于asp.net中的 ...
- HTTPS复习
Https Https其实是两个协议,即HTTP协议和SSL协议,但是由于HTTP协议应用广泛,而且需要为其提供数据隐私保护,所以将HTTP协议与SSL协议结合.HTTP属于应用层,在远古时代,它只需 ...
- mysql批量修改列类型-生成语句
SELECT CONCAT( 'alter table ', table_name, ' MODIFY COLUMN ', column_name, ' float DEFAULT NULL;' ) ...
- linux 注销其他用户
本文主要参考:http://ysz520020.blog.163.com/blog/static/352595722011969264745 linux kill掉其他的登录用户 : 方法一: 使用 ...
- linux下多线程之pthread_detach(pthread_self())
写个碰到的问题,记录下自己的技术之路点滴pthread_detach(pthread_self())linux线程执行和windows不同,pthread有两种状态joinable状态和unjoina ...
- LINUX SHELL 笔记 01: 脚本
root@iZwz:~/labs# vim myfirst root@iZwz:~/labs# cat myfirst #!/bin/bash clear echo "this is my ...
- java switch笔记
1. 在Java7之前,switch只能支持byte.short.char.int或者其对应的封装类以及Enum类型 2. Java7后,开始支持String 3. switch语句中,表达式的值不能 ...
- python windows打包
接触过的工具有pyinstaller,或者py2exe.感觉pyinstaller更简单易用. 真正将依赖的dll打包称一个安装包还需要借助windows打包工具 Inno Setup 或 NSIS ...