初识Ansible

本人由于接手了某公有云devops项目的ops一端的求助,关于自动化部署的。最终经过N久的选项,筛选。最终进入我眼帘的就是Ansible。什么是Ansible?


曾比较火的部署工具

pupet, cloudify, saltstack.....
他们的特色,出来了很久了,需要在目标机装agent。但是对于运维人员来讲,特别是某openstack的某些项目,几百台,几千台的机器。单单是部署agent,那是要了他们的命。

然后这个Ansible就横空出世了:

他的前辈能做的,它也能做。他的前辈需要agent,它不需要。就这一点,就被本次选型选中了。
运维人员怎么会喜欢需要安装agent的部署工具?绝不。

Ansible的运作方式

Ansible的运作方式,很多网页都说的很明白了,这里就引用一个:

初识Ansible_第1张图片

" ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。ansible是基于模块工作的,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架。主要包括:
(1)、连接插件connection plugins:负责和被监控端实现通信;
(2)、host inventory:指定操作的主机,是一个配置文件里面定义监控的主机;
(3)、各种模块核心模块、command模块、自定义模块;
(4)、借助于插件完成记录日志邮件等功能;
(5)、playbook:剧本执行多个任务时,非必需可以让节点一次性运行多个任务。"

学习ansible需要的技能背景

  • 知道linux,比如ubuntu,centos等,能熟练使用它们,因为ansible对linux的支持是天生的。windows?对于高端维护人员来说,windows能干啥??
  • shell,必须过关的技能,至少你能自己写个复杂的部署某某项目的脚本。
  • python, 会用,会写,最重要的会读。没准你需要写ansible的自定义module也说不定
  • yaml, 这个你要明白它的语法,干啥用的
  • jinja2,这个也需要你明白它的语法。

我们开始吧!

下面我们就准备开始ansible的使用办法介绍了。

你可能感兴趣的:(初识Ansible)