Ansible 是什么
在冻仁解说之前,先来听听大家认为的 Ansible 是什么。
Ansible 的命名由来?
此名取自 Ansible 作者最喜爱的《安德的游戏》1 小说,而这部小说更被后人改编成电影 -《战争游戏》。2
大家或许早在电影中就已看过安塞波 (Ansible),它是虚构的超光速通讯装置。片中主角安德 (Ender) 和他的伙伴们透过 Ansible 跨越时空指挥无数的战舰,就好比我们操控海量的远端服务器一样。
前人怎么说 Ansible?
摘至《奔跑吧 Ansible》第 ix 页的推荐序二。
维运自动化工具本来是用来简化维运工作的,但如果工具本身比较复杂,甚至需要一定的程序开发能力,就会增加使用和推广的难度。Ansible 有三个最吸引人的地方:无客户端、简单易用和日志集中控管。
Ansible 很简单,上手方便,不需要啃一本很大本的书才能学会使用 (从这一点来看,这可谓业界良心)。
- 萧田国 (开放运维联盟联合主席,高效运维社区发起人)
摘至《奔跑吧 Ansible》第 xxiii 页的原书推荐序。
我希望自动化的事情尽快完成,这样我就能有更多时间投入在我更该关注的事情上面。Ansible 并不是一个你需要整天和它打交道的系统。你可以很快地把它拿起来,很快地搞定,然后又很快地回到你更该关心的事情上面。
我希望这些也会成为你喜欢 Ansible 的原因。
- Michael DeHaan (Ansible 软件的创作者,Ansible, Inc. 前 CTO)
摘至 Red Hat 并购 DevOps 新秀 Ansible | iThome 一文。
冻仁心中的 Ansible 又是什么?
- Python 阵营的组态管理工具!个人对 Python 熟悉度大于 Ruby。3
- 不用帮每台机器 (instance) 预载 agent 4,只要有 SSH 和 Python 就可以闯天下!
- 在台湾的市占率较高 5:找的到前人可以问,甚至还有工作坊 (workshop) 的课可以听!
- 在目前 4 大主流的组态管理工具 (Puppet, SaltStack, Chef, Ansible) 中, Ansible 是最容易上手,且马上就可以用的工具。(自己说)
使用 Ansible 需要具备什么基础知识?
- 具备 Linux 服务器 (server) 基础操作和管理经验。
- 会使用 ssh 远端连线至 server。
- 知道基本的标准输入 (stdin) 输出 (stdout) 等观念。6
- 会安装 Linux 套件。7
- 知道
sudo
指令在做什么,并且会使用它。8 - 知道什么是档案权限,并且会修改它。
- 知道如何启用和停止系统服务 (Daemon / Service)。
- 会撰写简易的脚本 (Script)。
您已成功踏入 Ansible 的大门,恭喜你!
相关连结
1. 战争游戏,又名安德的游戏 (Ender's Game),是「奥森·斯科特·卡德」最著名的科幻小说,曾在 2013 年于大银幕上映。 ↩
2. Ansible 命名的由来可参考《奔跑吧 Ansible》和 Ansible FAQ | Ji ZHANG's Blog 一文。冻仁早在 2013 年就在电影院的大银幕上看过 Ansible,但一直到了 2016 年才真正的了解它。 ↩
3. 组态管理工具要怎么选?依据分类帽大概可分粗分为 Python 学院 (Ansible, SaltStack) 和 Ruby 学院 (Chef, Puppet)。 ↩
4. 就业务面而言,有时的环境是不容许安装 agent 的。 ↩
5. 在 2016/11/23 的 DevOps Taiwan Meetup #3 - 配置管理工具大乱斗 (CM 大乱斗) 活动里,Ansible 是现场最多人使用的组态管理工具! ↩
6. 标准输入输出可参考 STDIN、STDOUT、STDERR 與 Bash Redirection 测试 - Tsung's Blog 一文。 ↩
7. 套件管理可参考 [完全用 GNU/Linux 工作] 04. 套件管理 | 冻仁的笔记一文。 ↩
8. sudo 可参考 sudo 指令使用说明 | 冻仁的笔记 一文。 ↩